160 likes | 335 Views
Introduction to Service-Oriented Architecture. Outline. Definition Features Examples of SOA Web Service Standards Example Pros and Cons Integration with Previous Works Issues. Definition.
E N D
Outline • Definition • Features • Examples of SOA • Web Service • Standards • Example • Pros and Cons • Integration with Previous Works • Issues
Definition • A service is a unit of work done by a service provider to achieve desired end results for a service consumer • Results of a service are usually the change of state for the consumer or the provider • Let experts (providers) do the work for us (consumers) Providers Different quality of service Consumer
Definition (cont.) • Webopedia:“An application architecture in which all functions, or services, are defined using a description language and have invokable interfaces that are called to perform business processes” • SOA is an architectural style whose goal is to achieve loose coupling among interacting software agents
Features • Distributed • Components are distributed in the network • Loosely coupled • We can switch components according to our need as long as they implement the same interface • Open standard • Web Service standard • Easy integration even if implemented in different platforms • Process centric • Analysis the process of a specific task • Divide it to service interfaces
Examples of SOA • CORBA? • CORBA software from different vendors may not always interoperate at all levels • DCOM? • Windows-based solution only • Web Service? • XML-based protocols that are lightweight and simple
Web Service Standards • XML • Document format • HTTP • Transport layer protocol • SOAP • For message exchange • WSDL • Interface description • UDDI • Registration and discovery
WSDL Example <message name="GetEndorsingBoarderRequest"> <part name="body" element="esxsd:GetEndorsingBoarder"/> </message><message name="GetEndorsingBoarderResponse"> <part name="body" element="esxsd:GetEndorsingBoarderResponse"/> </message> <portType name="GetEndorsingBoarderPortType"> <operation name="GetEndorsingBoarder"> <input message="es:GetEndorsingBoarderRequest"/> <output message="es:GetEndorsingBoarderResponse"/> <fault message="es:GetEndorsingBoarderFault"/> </operation> </portType>
SOAP Messages SOAP resquest <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/“ SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:GetEndorsingBoarder xmlns:m="http://namespaces.snowboard-info.com"> <manufacturer>K2</manufacturer> <model>Fatbob</model> </m:GetEndorsingBoarder> </SOAP-ENV:Body> </SOAP-ENV:Envelope> SOAP response <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body><m:GetEndorsingBoarderResponse xmlns:m="http://namespaces.snowboard-info.com"><endorsingBoarder>Chris Englesmann</endorsingBoarder> </m:GetEndorsingBoarderResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Pros Standard-based Loose coupling leads to increased modularity and flexibility Reduces integration costs Cons Immature Some vendor solutions are single-vendor approaches which conflict with the open standards-based vision of Web Services Pros And Cons of Web Service Programming Model
Integration with Our Previous Work 3rd Party Services Dfdf IP Phone … Video Streaming APPs Accounting Service Web Service Interface Logging Service Task Switching RMI Roaming H.264 SW/HWComponents MPEGII VoIP RMI Streaming Security Services To make integration easier
Integration Issues • Programming Model • Previous works are based on Java • Client applications should interoperate with our services through web service interfaces • Performance • SOAP message serialization downgrades performance
Future Work • Model Definition • RMI Roaming + RMI Streaming • Integration with other works • Any possibilities?