Tuesday, March 17, 2009

ESB Evolution

From humble beginning when ESB was nice to have tool in SOA ecosystem, it has grown into one of the central components. Today every vendor who is offering a SOA toolset has some thing to offer which resembles ESB. Broadly ESB is classified as:

1. Message Centric
2. Document Centric

With current wisdom, an ESB should boast of the following capabilities:

1. Message transformation
a. Format Change
b. Enrichment
c. Truncation
d. Combining multiple messages
e. Tearing a message into multiple messages
2. Channel Transformation
a. Single Channel
b. Multi Channel
3. Service Composition
a. Aggregation
b. Orchestration
c. Chorography
4. Routing
a. Content based
b. Time based
5. Contract Transformation
6. Transaction
a. Atomic Transaction - Short running
b. Compensation - Long Running
c. WS Transaction
7. Security
a. Authentication
b. Authorization
c. Non-repudiation
d. Confidentiality
e. Security standards (for example, Kerberos and WS-Security)
8. Plugability
a. As plugin
b. As host of plugins
9. Quality of services
a. Various assured delivery paradigms (e.g. WS-ReliableMessaging or support for EAI middleware)
10. Policy driven
11. Management and autonomic
a. Service provisioning and registration
b. Logging, metering, and monitoring
c. Discovery
d. Integration to systems management and administration tooling
e. Self-monitoring and self-management
12. Messaging paradigm
a. Request reply
b. Pub sub
13. Administrative capability
14. Distributed deployment
15. Centralized management

As SOA tool sets are maturing, ESB capabilities are becoming a commodity. This maturity is happening at the software and hardware front.

I see a future where there will be a couple of open source authoritative ESBs and they will form the core of numerous “me tools” ESBs from open source communities and proprietary vendors. This trend is already evident from the apache web server and tomcat servlet container.

On the hardware front numerous SOA appliances are making splash. As the SOA appliances are becoming more capable, the ESB functionalities are moving into hardware based solutions and SOA appliances will be part of a network infrastructure. I see following features moving into SOA appliances over time:

1. Message transformation
2. Channel Transformation
3. Service Composition
4. Routing
5. Contract Transformation
6. Plugability
7. Quality of services
8. Policy driven
9. Management and autonomic
10. Messaging paradigm
11. Administrative capability
12. Distributed deployment
13. Centralized management

No comments:

Post a Comment