Designing Microservice-Based Applications by Using a Domain-Driven Design Approach