Welcome to Dream.In.Code
Become an Expert!

Join 149,878 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 2,344 people online right now. Registration is fast and FREE... Join Now!




SOA: Service Oriented Architecture

 
Reply to this topicStart new topic

SOA: Service Oriented Architecture

skyhawk133
3 Jan, 2007 - 09:53 AM
Post #1

Head DIC Head
Group Icon

Joined: 17 Mar, 2001
Posts: 15,267



Thanked: 61 times
Dream Kudos: 1650
Expert In: Web Development

My Contributions
This is supposed to be huge in 2007. Are any of you using SOA yet?

For those that don't know:

QUOTE
Service-oriented architecture expresses a perspective of software architecture that defines the use of loosely coupled software services to support the requirements of the business processes and software users. Resources on a network[1] in an SOA environment are made available as independent services that can be accessed without knowledge of their underlying platform implementation.[1]

A service-oriented architecture is not tied to a specific technology. It may be implemented using a wide range of technologies, including REST, RPC, DCOM, CORBA or Web Services. SOA can be implemented using none of these protocols and, for example, might use a file system mechanism to communicate data conforming to a defined interface specification between processes conforming to the SOA concept. The key is independent services with defined interfaces that can be called to perform their tasks in a standard way, without the service having foreknowledge of the calling application, and without the application having or needing knowledge of how the service actually performs its tasks.


To me, SOA seems like a good idea. But I'm interested in real world implementations and hearing what you've done or seen done with SOA.
User is online!Profile CardPM
+Quote Post

Nova Dragoon
RE: SOA: Service Oriented Architecture
3 Jan, 2007 - 10:58 AM
Post #2

The Innocent Shall Suffer, Big Time
Group Icon

Joined: 16 Aug, 2001
Posts: 6,146



Thanked: 8 times
Dream Kudos: 515
Expert In: Python, Linux

My Contributions
The big problem/limitation on what you can do with them is the insane amount of overhead that they have. Like SOAP for example runs on top of HTTP which runs on top of TCP/IP etc etc. So for getting the "accessed without knowledge of their underlying platform implementation." you need higher level protocols to run on, more abstraction means less performace.

However for some applications that is OK, some it is not. You really need to look at what your project requirements are, always.

I've messed with this a little bit, but the project is only 1/2 working. A package managment system using XML-RPC. I have the system taking to a PHP web app, and a python CLI client. However in my experience with it, its good for pulling data from the service, other that feeding data to it, and having it perform a large operation.
User is offlineProfile CardPM
+Quote Post

ajwsurfer
RE: SOA: Service Oriented Architecture
21 Mar, 2007 - 10:46 PM
Post #3

D.I.C Regular
Group Icon

Joined: 24 Oct, 2006
Posts: 298



Thanked: 2 times
Dream Kudos: 50
My Contributions
I used a download service once that my company paid for. The client (our side, another server actually) just logs into the server and downloads a list of file names. The client then downloads all the XML files from another URL. It then parses the XML files for required data and pushes the data from the files into a flat file in a MySQL database. The last thing the tool does is to acknowledge to the server each file that is received. The server then deletes the files. This tool was built using Java and XML tools - mainly XPATH.

It is really a glue or interface tool. The server is responsible to continually produce xml files and delete them after they have been downloaded. The client tool is responsible to run as a cron job on another server running every hour, or half hour, parsing xml files, placing them in the database, and then telling the server they have been received.

Finally, another program periodically takes records from the flat file in the database, parses them and places the data into the main program's database for production use. The main part of the program that parses and places the data is very large and expensive, in every sense of the word. It is all written in Java, because Java is a very large and scalable language with a lot of tools and libraries already built.

We did this also by setting up an email server and having the tool grab email messages using the POP3 protocol. The email version was rather clunky and was probably phased out.

I think the most important thing that got the ball rolling, with this, was to get all the people and servers communicating. And most important on my end was to get my program to grab the data and display it on the screen in different stages. It was very easy to get the data to go where I wanted it to, once I could see it.

User is offlineProfile CardPM
+Quote Post

1lacca
RE: SOA: Service Oriented Architecture
22 Mar, 2007 - 12:10 AM
Post #4

code.rascal
Group Icon

Joined: 11 Aug, 2005
Posts: 3,822



Thanked: 12 times
My Contributions
I've met it twice:
I attended a SUN course about it, and it seemed something really interesting, but it was obvious, that it is really a big gun, and sould not be used without a good reason (I am really waiting for a Bitter SOA book).
Then I had to choose between two jobs, one would have been taking part in designing and implementing the first SOA system for a telco here, the other was a J2EE system for the banking sector. It was a hard decision, but I went with the second...
User is offlineProfile CardPM
+Quote Post

salindor
RE: SOA: Service Oriented Architecture
22 Mar, 2007 - 03:13 PM
Post #5

D.I.C Head
Group Icon

Joined: 10 Nov, 2006
Posts: 156



Thanked: 4 times
Dream Kudos: 50
My Contributions
I have personally done quite a bit with SOA, personally I love the stuff, but before I go further here are the areas I have found SOA to be lacking...
  • real time systems
  • music
  • video
  • encrypted data
  • compressed data

Real time systems tend to have strict performance bottle necks. While I believe it can be made to work, I think the cost to make it to work with real time systems is more expensive than simply doing each integration individually (cost of increased bandwidth and server space).

The problem with music, video, encrypted data, and compressed data is SOA works well with metadata but not so well with data that is better represented as a matrix or a vector. The best litmus test to see if it should be added to this category is: would the xml version of the data look like a bunch of numbers? Or would it have meaningful text. If the answer is a bunch of numbers, SOA is proably not the right solution.

Now that being said. Where I love SOA is with product integration. Personally given two perfectly equal products, one supports an xml (with a schema) stream of some kind (doesn't have to be SOAP over http can be for example straight xml over tcp) and the other is only binary data; I would take the first one hands down. Integration of xml streams is so much easier than integration of binary streams.

The biggest problem with binary data, is the lack of metadata. While xml data is verbose enough, with a little domain knowledge I can generally figure out what it is doing. Also there are enough standards (for example xquery, xslt)out there, that with xml data I can split and recombine xml data into a new compiled document from seperate services which may no nothing as each... kind of like a distrubited dynamic database where any program can represent a set of tables, and their information can be accessed and manipulated at will.

Salindor


User is offlineProfile CardPM
+Quote Post

Nova Dragoon
RE: SOA: Service Oriented Architecture
22 Mar, 2007 - 03:30 PM
Post #6

The Innocent Shall Suffer, Big Time
Group Icon

Joined: 16 Aug, 2001
Posts: 6,146



Thanked: 8 times
Dream Kudos: 515
Expert In: Python, Linux

My Contributions
You've pointed out a good point. There are many critics of XML and why XML is terrible at this and at that. This is one place where it really shines.
User is offlineProfile CardPM
+Quote Post

Fast ReplyReply to this topicStart new topic
Time is now: 1/8/09 11:54AM

Be Social

Dream.In.Code RSS Feed Dream.In.Code LinkedIn Group Follow Us On Twitter

Live Help!

Tutorials

Programming

Web Development

Reference Sheets

Code Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month