Soa And Web Service
Essay Preview: Soa And Web Service
Report this essay
As we know IT Developers adopt some systematic structure to develop applications and any structure has some underlying design. This design (often haphazard) is called as architecture. The underlying principles behind the structure of software are software architecture.
With modular software Ð- Software architecture is
The components to use in it and
The interactions between components
Notion of Service Orientation:
Looking at an application from the perspective of the services it offers
Separate the business service from the implementation
Worry about how the services interact with each other
Worry about what data is passed between services (remember stack?)
So with SOA developers/ enterprise architectures develop the application blocks as a service and then define the interaction between the blocks (EDI or web service).
Implementing Service orientation in the organization does not mean that every application in the organization has to be re-developed to fit the service concept Ð- what do you do with “good” legacy components? We simply “adapt” it into the architecture and reuse itÐ- note: it does not “layer” well.
What if you have a legacy system that is so complex to separate, but, is important because you cannot afford to redo it. Treat it as a “blackbox” Ð- “Blackbox” ing is a key part of SoA.
Last, but, not the least Ð- there is always a “deeply” technical component that “orchestrates” and ensures end-to-end execution of the application/system the in the SoA Ð- the Controller.
Value of SOA:
It makes aligning IT with business easier
The SoA stack (business and technology) layer allows business users to see components (services) that support business processes
Hides implementation (technology) details
Allows users to reuse “services” in ways that they did not foresee (situational use)
Better exploit software assets Ð- both from inside and from outside the organization
I will post next post on the difference between SOA and web service.
Web Service:
What makes SOA possible?
* Self-contained and independent
* Can be used by other applications
* Can make your application sharable on the web Ð- a web-based application
* Uses a browser to run Ð- is hence hardware and software independent
* Provides interoperability
* Used to integrate disparate applications
* Used as a component that delivers a specific (set of) functionality to others
Example of web service:
Suppose I invent a way to compute body fat based on height, weight, age, gender, and ethnicity and I write an application that computes it. I want to share it on the web Ð-I make it a web service. Making it a web service, does not mean that you are going to find it Ð- it needs to be published. This is done by a registry called Universal Description, Discovery, and Integration (UDDI). Now discovering it does not mean that you know what it does or how to use it. To let others understand its functionality and its API, you use WSDL Ð- Web Service Description Language. Discovering and describing it does not mean that you know how to take it and use it Ð- for this you need SOAP Ð- Simple Object Access Protocol. A web service depends on these 3 (actually 4) key pieces: UDDI, WSDL, and SOAP. The fourth piece is XML Ð- the language that is used to define SOAP and WSDL.
Web Service and SOA:
Web service is a component that can be “plugged” into any application. It is termed as a “service” Ð- hence is one way of implementing SoA. Thus web service allows for software to be offered as a service. Remember it is described as a service Ð- the implementation details are hidden. SOA is software architecture and web service is implementation.
Next post about Mashups.
Mashups:
In technology, a mashup is a web application that combines data from more than one source into a single integrated tool; an example is the use of cartographic data from Google Maps to add location information to real-estate data from Craigslist, thereby creating a new and distinct web service that was not originally provided by either source.
* A mashup, in a way, is a new service, created by combining two or more disparate services (that are accessible)
* Services are not processes, but, data resources
* “Data as a service” model
* You are given a way of getting the data (the