Archive for October, 2007

catch that ESB! - ServiceMix the right concoction for all your ESB needs.

Yes i’ve been lazy! as always!. And this latest post is in response to the question "time to update ur blog?" from someone i know. You know who you are :D , and i know you are the only one reading it :p
So here goes, educate yourself :D . Go back to your Maths and Physics after ur done, ok?

What is ESB?

ESB (Enterprise Service Bus) is not just a fancy name used in the Java world, Its become an iconic term when people talk about "Integration". Imaging 10 different applications wanting to communicate with each other by some means, and lets say each application has some form of communication link between them, the end result? a mesh of communication links running across each of the individual applications resulting in CHAOS! The way ESB solves this problem is providing a single interface to for application to communicate to each other, synonymous to a line and different components connected to the same line at different places. Something like a BUS? :D

Now for some technical jargon….. 

The purpose of an ESB is to facilitate application and process integration by providing distributed processing, intelligent routing, security, and dynamic data transformation. In an ESB these services are infrastructure services so each application does not have to implement these requirements independently and in a proprietary manner. The ESB addresses the disadvantages of existing solutions by creating a standard infrastructure for integration. Point-to-point solutions, where each of n components requires n-1 interfaces for full communication, are replaced by a bus solution where each component requires a single interface to the bus for global communication. An ESB provides distributed messaging, routing, business process orchestration, reliability and security. It also provides pluggable services and, because of the standard bus, these pluggable services can be provided by third parties and still interoperate reliably with the bus.

ServiceMix - Whats it all about?

ServiceMix was an Apache incubator project which finally graduated and is now an Apache top level project. Apache ServiceMix is an Open Source ESB (Enterprise Service Bus) that combines the functionality of a Service Oriented Architecture (SOA) and an Event Driven Architecture (EDA)  to create an agile, enterprise ESB. Its an open source distributed ESB built from the ground up on the  Java Business Integration (JBI) specification JSR 208 and released under the Apache license. The goal of JBI is to allow components and services to be integrated in a vendor independent way, allowing users and vendors to plug and play. 

Why ServiceMix?

There are many vendors that provide ESB solutions (like Oracle ESB and IBM Websphere ESB), but there is no universal agreement as to the best design or architecture for an ESB. ServiceMix has a design that is based on the JBI (JSR 208) specification in order to create a standards based ESB and the ServiceMix ESB combines the functionality of both a Service Oriented Architecture (S0A) and Event Driven Architecture (EDA) to achieve an agile, enterprise ESB.As previously stated, ServiceMix is an open source ESB that is based on the Java Business Integration (JBI) standard. These two factors, open source and open standards-based, allow for low entry cost, maximum flexibility, reuse, and investment protection.

ServiceMix uses yet another Apache project ActiveMQ to provide remoting, clustering, reliability and distributed failover. Iam not going to go into any details on using ServiceMix, there are already plenty of resource for it on the project’s homepage. So goahead and give it a try.