javablogspot

Just another WordPress.com weblog

SOA – Composition vs Integration

Posted by damuchinni on February 18, 2009

I think I’ve finally figured out what bothers me about SOA.

It is responsible for the notion of composition via remoting.

The problem I have with web services is that they are just another method of remoting, and remoting requires messaging. The fact that you are using web services does NOT mean that you have built a distributed system. As a matter of fact, you haven’t. Especially since web services rely on synchronous point-to-point communication. It means that you have mistakenly used remoting as a means of composition.

I don’t have a problem with messaging. I’m down with message queues.
I don’t have a problem with remoting. It is useful for integration.

I have a problem with using remoting as a means of composition.

Can we all agree that remoting (web services) should only be used as a method of integration with non-Java and/or remote clients?

I’ve actually seen organizations where every new feature is implemented as a web service written in Java to be consumed by one or more Java applications. There were no non-Java clients and there were no remote clients. How can any architect justify this?

I’m down with composition & reuse, loose coupling, and other principals often associated with SOA. However, they are best achieved by deploying services as OSGi bundles alongside their clients.

If you need to integrate with non-Java and/or remote clients then simply expose those bundles as web services, but allow the Java applications to run their bundles locally.

So until next time, good fight, good night.

Tags: Composition, Integration, OSGi, SOA, WS

This entry was posted on Monday, February 16th, 2009 at 5:34 pm and is filed under Architecture. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: