Architectural style for REST services
Hi:
I ask for indulgence for this post, but I really need some advice with this cause in the end I'm not a "architect". After some analysis, this is what I found about our will-be architecture solution, for which I need to
present one of three alternatives:
1) REST + centralized ESB (e.g. Mule)
2) REST + centralized Message Queue / Mediator (e.g. ActiveMQ)
3) REST + decentralized, "powerful" end-points
Our architecture will be characterized by:
- Modifiability and Simplicity (very important)
- Performance and Scalability (somewhat important).
We need:
-Orchestration
- Service Monitoring
- Consume External Services
We don't need:
- Choreography
- Business Modeling
- reusable autonomous services
By order of importance, our services (there are now 6 identified services)
(5) have short "time to deployment"
(4) performance is a issue
(4) is a point-to-point service
(3) is data-centric service
(3) need multiple adapters
(3) can have high concurrency of users
(2) have long running processes
(2) needs high level of Compensation
(2) needs integration with legacy data
(2) have complex business logic
(1) needs low latency
Last, but maybe not least, our team is comfortable with a multi-language development style, although this is basically a Java store.
If someone can provide some insightful thoughts that will be very useful.
Many thanks for that.
Best regards
Beir beannacht
Melhores cumprimentos