Related Topics: OSGi, SOA & WOA Magazine

OSGi: Article

What's the Best Platform for High-Performance SOA?

How can you turn existing stateful tier-based applications into linearly scalable services?

Nati Shalom's Blog

While I think that many technical folks are in violent agreement that Web Services and SOA are not necessarily the same thing, the question: what is the alternative approach? remains unanswered.

Geva Perry covered the topic of  Scalable SOA in one of his recent blogs. Geva quotes upcoming SOA World 2008 East keynote speaker Dave Linthicum ("SOA for the real world"):

"Making solutions scale is nothing new. However, the SOA technology and approaches recently employed are largely untested with higher application and information and service management traffic loads. SOA implementers were happy to get their solutions up-and-running, however in many cases scalability is simply not a consideration within the SOA, nor was load testing, or other performance fundamentals. We are seeing the results of this neglect now that SOA problem domains are exceeding the capacity of their architectures and the technology in many instances."

Quoting Jason Bloomberg from his Principles of SOA article:

"The most important missing piece, however, is the top-down approach to SOA outlined in this article. Most of today's thinking about Web services is bottom up: ''Here's how to build Web services, now let's use them for integration.'"

Everyone seems to be struggling to define an alternative approach to WS*, however, very few provide a clear end-to-end definition on how to turn existing stateful tier-based applications into linearly scalable services. Throwing a messaging-bus at the problem ain't gonna cut it. I would even argue that it could possibly make things worse.

There is a growing class of applications -- specifically those that are categorized as XTP (Xtreme Transaction Processing) applications -- in which SOA in its WS* form adds no value due to the fact that the services in this environment are stateful and need to interact at high speeds, while keeping the latency low.

So what should be the platform for High Performance SOA?

There are several emerging frameworks, such as OSGI and Mule, that provide an alternative SOA approach. What is common to these frameworks is the fact that they are POJO-driven, lightweight and highly efficient in terms of performance and footprint. It is therefore not surprising that these frameworks are gaining momentum and are becoming de-facto standards for building high-performance SOA applications. 

While this initial set of platforms already exists, I think that we still lack the top-down view that Jason was referring to. That is where Space-Based Architecture fits in. In the following reference SBA and SOA I tried to describe how SBA fits into the SOA world as a pattern for turning stateful-tier-based-applications into linearly scalable services.

More Stories By Nati Shalom

Nati Shalom, Founder and CTO at GigaSpaces, is a thought leader in Cloud-Computing and Big-Data Technologies. Shalom was recently recognized as a Top Cloud Computing Blogger for CIO’s by The CIO Magazine and his blog listed as an excellent blog by *technical founders* by YCombinator. Shalom is also the founder of the IGTCloud, and is a frequent presenter at industry conferences.

Comments (3) View Comments

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.

Most Recent Comments
Rakesh Saha 12/18/07 11:52:30 PM EST

Very interesting. Are you predicting SBA will replace MOM based SOA architecture ?

Mike Edwards 12/18/07 09:27:59 AM EST

I argue that runtimes based on the Service Component Architecture (SCA) specifications are the best platform for high performance SOA.

SCA captures the essence of the application structure - service oriented, with defined dependency connections between service components, which in addition define the QoS requirements of services and components, including transaction behaviour and security needs.

Application components in SCA do not need to say anything about the application structure or the way in which one component is linked to another - this leads to simpler application components which are concerned with business logic. SCA captures the details of application structure in separate metadata - metadata which can be bound to the application late in the deployment process, if necessary, allowing for redeployment and reuse.

The SCA runtime is then left free to deploy the application. The runtime may use Web services to interconnect components, or it may use Messaging infrastructure, REST, or an optimised form of communication. The runtime may have a grid-style architecture, allowing for massively parallel deployment of components.

SCA can deal with components that are stateless and also deal with ones that are stateful - simple metadata allows the runtime to treat components in a way appropriate to their nature.

You're right in saying that SOA and Web services aren't necessarily the same thing. SCA based applications are certainly following SOA - whether they use Web services is a matter of deployment choice that is not central to the structure of the application.

Yours, Mike.

Cameron Purdy 11/29/07 09:24:37 AM EST

Check out "Grid-Enabled SOA for Scalability" from the guy who wrote the book on ESB and SOA? See:


Cameron Purdy | Oracle