Welcome!

Weblogic Authors: JP Morgenthal, RealWire News Distribution

Related Topics: Weblogic

Weblogic: Article

Enterprise Service Bus

Using analogy to understand ESB

BEA Systems, Inc. recently announced the launch of new family of products for service infrastructure, named AquaLogic. AquaLogic Service Bus (ALSB) is BEA's implementation of the Enterprise Service Bus combined with Web services management capabilities. This article is a high-level introduction to ESB and ALSB.

In their Harvard Business Review article, Giovanni Gavetti and Jan W. Rivkin explain the power of reasoning by analogy. They explain how successful executives have tapped the power of analogy to build businesses by comparison to other successes in business history. Analogy can also be used to understand new concepts and to predict the future of the concept. In this article I use the analogy of Universal Serial Bus (USB) to understand Enterprise Service Bus.

Universal Serial Bus (USB)
A few years ago, when computer desktops were costing an arm and leg, it wasn't easy to connect any peripheral devices to the computer. Keyboards and the mouse had their own dedicated PS/2 ports. Printers were connected to the parallel ports. Mice and other devices could be connected to serial ports. Hard drives had to be installed in their own IDE slots. There was no common standard. Also, installing these devices was a very laborious process. You had to connect the devices, install the software, configure interrupts, and finally keep your fingers crossed hoping that it would work. It was also very time-consuming to troubleshoot any problems.

With the advent of Universal Serial Bus (USB), these problems started to fade away. The faster USB 2.0 followed the USB 1.0 specification. Vendors realized the promise of USB and embraced it in no time. The idea of USB was to provide standards-based connectivity that would enable a unified approach to access devices. Any device supporting USB could easily be plugged into the desktop.

Printers, keyboards, mice, scanners, Web cams, digital video cameras, digital cameras, jump drives, CD burners, cell phones and many other devices can be hooked up to the computer and configured easier than ever. USB hubs allowed the port to be extended to connect more devices simultaneously.

The devices can be thought of as providers of specific services. For example, the jump drive provides the service of storing data, CD burners provide CD writing service, scanners provide scanning services, etc.

There are software applications and other devices that consumer these services. For example, an image capturing software would capture the images from the camera connected. NetMeeting software uses the keyboard, mouse, and cam for a videoconference.

Multiple consumers may use the same service. You can print a document from MS Word or MS Power Point. NetMeeting as well as Messenger can use the cam. This is a classic analogy to SOA where multiple consumers share the services.

Services can also be connected with each other and the flow may be routed to perform a compound task. For example, your scanner may have a printer button. Clicking this will scan and print the document in the printer. Figure 1 shows the various consumers and producers for the USB.

Enterprise Service Bus (ESB)
Enterprise Integration also lacked standards a few years ago. Most of the integration solutions were ad hoc and used different vendor products. Interoperability was always an issue as different vendor products supported different protocols and tools. Integration was always time-consuming and very expensive. The promise of ESB is to solve these problems through a standards-based service-oriented architecture (SOA) approach.

Like the USB, how nice would it be to buy vendor products as appliances and plug them into your infrastructure and use them without much hassle! Developments in XML and Web services standards have paved way for this. Acceptance of XML as a native data format and vendor adoption of Web services has resulted in a common language of communication between disparate enterprise systems. This has solved most of the application interoperability issues. Organizations such as WS-I and SOAP Builders have been working to make sure that services are interoperable between vendor implementations and hardware. USB standards revolutionized the PC connectivity world and these XML and Web services standards are revolutionizing software development and the integration world.

Looking at the history of software architecture, monolithic applications evolved into client-server, 3-tier, N-tier, and into SOA. The trend has been changing from developing everything in-house to procuring out-of-the-box vendor products when possible. This trend clearly indicates a move towards reducing development effort. Application servers took care of infrastructure services such as security, transactions, scalability, etc., and let the developers concentrate on the business logic. Off-the-shelf products were built to run on the application server. In spite of all of these developments, the development effort was still significantly higher and reusability across the enterprise was very low.

IT is moving towards more of a configuration-based approach than ad hoc development. Instead of buying "frameworks" and developing their own applications, companies prefer to buy off-the-shelf products and configure them without much effort. ESB is a big step in this right direction. Now, let's take a look at some of the characteristics of ESB.

Loose Coupling
ESB provides a platform to connect, discover, and access services regardless of how the services themselves are implemented and what hardware and software platform they are running on. This means that the ESB would support multiple protocols and access methods.

ESB also decouples the consumers and providers of service. By providing this location transparency, it allows the providers to change without affecting the consumer, which is a very powerful feature for today's agile enterprises.

More Stories By Anbarasu Krishnaswamy

Anbarasu Krishnaswamy has over 15 years of IT industry experience, nine of which were with BEA. In his current role as the Enterprise Architect Lead, he leads the enterprise architecture and SOA practices for the central region professional services at BEA. As a SOA practitioner, he has helped several customers with SOA transformation and implementation. His experience also includes design and development of Java/J2EE applications, client/server computing, Web development, and enterprise application integration (EAI). Anbarasu holds a MBA from NIU and an MS in computer science and engineering.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.