The Artima Developer Community
Sponsored Link

Java Buzz Forum
What is SOA?

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Simon Brown

Posts: 636
Nickname: simonbrown
Registered: Jun, 2003

Simon Brown is a Java developer, architect and author.
What is SOA? Posted: Mar 16, 2005 2:19 PM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Simon Brown.
Original Post: What is SOA?
Feed Title: Simon Brown's weblog
Feed URL: http://www.simongbrown.com/blog/feed.xml?flavor=rss20&category=java
Feed Description: My thoughts on Java, software development and technology.
Latest Java Buzz Posts
Latest Java Buzz Posts by Simon Brown
Latest Posts From Simon Brown's weblog

Advertisement

There's a lot of talk around SOA at the moment but I think that one of the most refreshing statements comes from Gregor Hohpe in the form of "Is SOA really just the same old architecture?". Aside, perhaps, from the comment about a "document-oriented interaction model", my initial thoughts are that he's pretty much spot on. SOA is really just a new name for something that we've all been doing for a while now. Or is it?

At Evolution, we've been talking about SOA for a while now, both internally and with vendors that are selling products that can help realize SOA. SOA is something that I've been meaning to do some more investigation around, but I never really got started due to one thing or another. So, with now as good a time as any, over the next week or so I'm going to try and get to the bottom of exactly what is and isn't SOA.

The interest for me was born from a project that I was involved with last year, where I was part of a team building a highly scalable enterprise application for a company in retail finance. Instead of building a huge monolithic application, the lead architect came up with a solution that was based upon a collection of "services" loosely connected by a messaging infrastructure. The technology involved here isn't really relevant, but an analogy would be a cluster of J2EE application servers, which each node running a different set of message-driven beans. Data would flow into the system from one end and get routed as a message through a series of nodes, with each node applying a different set of business logic to validate, enrich and process the message. Depending on the outcome of that logic, the enriched message would then be redirected to another node for subsequent processing. Eventually, the data would pop out at the other end. There's a term for this type of architecture that's escaping me at the moment, but think pipes and filters with an asynchronous messaging infrastructure underneath. So, each node hosted a different set of business logic and, as far as other nodes were concerned, the implementation was irrelevant. Provided the node upheld the interface for the types of messages it could handle, then the implementation could be switched out in the future if necessary. I forget what the message format was, but the only important thing is that it was standardized within the architecture.

One of the debates that we had over and over again was whether the nodes were true "services" or whether they were just components. Even today, providing a clear-cut answer is difficult because everybody has their own opinions. When I've looked into this before, I've come up with a list of characteristics that could be used to define a service and I'm going to be looking into each of these in more detail over the coming week. Hopefully, even if this doesn't manage to spark any conversation, I'll have looked into SOA in more detail and will have it straight in my head!

Read: What is SOA?

Topic: JavaOne proposal rejected Previous Topic   Next Topic Topic: CP850 charset - still in use :(

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use