To implement most business use cases, it is required to reuse existing services. Writing everything from scratch isn’t practical or efficient. A composite service is a coarse-grained service which reuses the functionality exposed by other services. This session will explore how implementing composite services using Ballerina is straightforward as it has all the features required to implement various types of composite services.
6. Microservices Layered Architecture
Consumer 1
API Service 1 API Service 2 API Service 3 API Service 4
Consumers
Consumer 2 Consumer 3
Service 6 Service 7 Service 8 Service 9
Service 1 Service 2 Service 3 Service 4 Service 5 Proprietary &
Legacy
Systems
Web API /
SaaS
API Services/
Edge Services
Composite Service/
Integration Services
Core Services/
Atomic Services
9. Building Composite Microservices
Frameworks Based on General Purpose Languages
• Not designed with suitable abstractions for network
interactions
• Developers spend more time on building service
interactions
12. Ballerina
• Parallel programming language for networked
applications
• Designed for network interactions with JSON/XML/SQL
and HTTP/JMS/File/WebSockets
• Serverless and container friendly
13. Building Composite Services with
Ballerina
Key Functionality
• Transformation
• Routing
• Parallel processing
24. Building Composite Services with
Ballerina
Services
• Simple Atomic Service
• Composite Services
– Simple composite service
– Service chaining
– Service orchestration