RealTime IT News

Wading Through 'Spaghetti Code' The IBM Way

SMILE if you like messaging middleware that makes it easier to integrate distributed applications in a service-oriented architecture.

IBM researchers are developing a new type of messaging middleware system, called Smart Middleware Light Ends (SMILE), to simplify the integration of applications from different vendors.

Current SOA and Web services models for developers handling multiple requests and input streams are too limited.

Many enterprises use publish-subscribe or queuing messaging technologies to piece together distributed applications into a usable system.

Take e-commerce transactions on Amazon.com. Communication between Web pages or sites is produced synchronously and asynchronously, allowing the computer to charge a person's credit card and send a confirmation message back to the consumer.

But the deluge of code in this message-by-message approach in middleware created by IBM, BEA and Oracle can be complex, expensive and unmanageable.

While middleware has become more intelligent about peeking at content to determine what information to send a consumer, the number of messages sent is still a burden on the system. This creates, in the parlance of the industry, spaghetti code.

Chitra Dorai, manager of distributed messaging at IBM Research, said SMILE aggregates event streams, detects alerts and makes changes in applications as event information flows from the producers -- the application components sending messages -- to information consumersv -- through the middleware.

SMILE provides a mechanism for incorporating Web Services with event streams and middleware changes as application changes occur between service endpoints. SMILE also provides fault tolerance in the case of a network or server failure to make sure messages are shuttled to fill requests.

For example, traditional middleware messaging techniques look at one-to-one messaging, or filling a consumer request for a single stock quote. SMILE could search out and present up-to-date stock quotes for the 20 most actively traded stocks.

"This means you are not looking at one message instantaneously," Dorai said in an interview. "You have to know all the messages that are being published by the producers throughout the day and maintained at every instance of time what was the top 20 most actively traded stocks."

Dorai said the middleware has to look at a bunch of messages over a period of, say, 10 minutes and produce the updated information. The process is like running a SQL query or XQuery across multiple streams of data that keep changing over time, she said.

With SMILE, business users could ask developers to compose messages that answer complex business questions, much the same way they request customized reports from database administrators today.

The crux of SMILE is to give programmers a better model for programming and managing distributed messaging systems by basing messaging distribution on events.

When completed, the company thinks the software could be a boon to adopters of distributed computing models like service-oriented architectures (SOA) and Web services .

Jason Bloomberg, who researches distributed computing architectures for ZapThink, said SMILE takes SOA to a new level, for two reasons.

"First, it shifts the focus of service interaction away from request/response. And second, because it illustrates that SOA and event-driven architecture shouldn't be different approaches, but rather SOA should fundamentally be event-driven."

While there are not current plans to productize SMILE, Dorai said she envisions the technology as something that will augment run-time programs like WebSphere Application Server, or possibly in other middleware products.