Back-end and middleware software solutions analysis and design using Object Oriented methodologies and several modeling languages including UML and BPML. Client/server architectures, cloud-based architectures, microservice-based architectures, serverless architectures.