Sign In/My Account | View Cart  
advertisement

Article:
 What Is Service-Oriented Architecture
Subject: CD Analogy
Date: 2006-04-12 17:44:41
From: KevinRath

I think he had the right idea on the CD Analogy but ended up getting a little mixed up. Sorry this is going to be long winded, but needs to be to make my point.


A CD in its simplest terms holds data (1s and 0s). What type of data that CD holds is what defines it. Maybe it holds standard music data or maybe MP3 music or video data.


In the OO world this "could" require several objects to in turn present the data(i.e. MP3 object, video object, music object). A big benefit of OO is the ability to use Interface Polymorphism which allows you to take seperate yet similar objects and make them look the same and expose similar methods and properties: Call this an IDataType object which exposes a Read method. Your CD Player which the CD has been inserted into can now invoke just one object of type IDataType to read the data from the CD in the CD Player(as all the datatypes will have some sort of read method to expose).


The limitation of the above concept is you are now restricted to the platform and possibly programming language. This means the only way you can use those objects and interfaces is if your CD is being played in a CD Plyer. The interface and objects above were built to talk to a CD Player. Say you wanted to play that CD in a portable CD Player. If that Portable player is built on the same platform you can potentially reuse those objects and interfaces. But what if you wanted to play that CD in a DVD player which is a totally different platform (like comparing windows to linux).


This is where web services come in and remove that dependency on hardware and programming languages. Web Services through the use of XML and SOAP protocols have the ability to communicate amongst any platform and programming language.


Because the web services aren't worried about platform we have now removed that dependency meaning we are now more loosely coupled. SOA leverages the use of web services as a means of communicating with other systems so anyone can send in data and not have to worry where it is coming from.


Hopefully I am not too confusing and I have got the right concept here.


Previous Message Previous Message   Next Message Next Message


Titles Only Titles Only Newest First

Sponsored By: