Introduction to ServiceOriented Architecture Outline n n Definition
- Slides: 13
Introduction to Service-Oriented Architecture
Outline n n Definition Features Examples of SOA Web Service n n Standards Example Pros and Cons Integration with Previous Works n Issues
Definition n 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 Consumer Different quality of service
Definition (cont. ) n n 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 n Distributed n n Loosely coupled n n We can switch components according to our need as long as they implement the same interface Open standard n n n Components are distributed in the network Web Service standard Easy integration even if implemented in different platforms Process centric n n Analysis the process of a specific task Divide it to service interfaces
Examples of SOA n CORBA? n n DCOM? n n CORBA software from different vendors may not always interoperate at all levels Windows-based solution only Web Service? n XML-based protocols that are lightweight and simple
Web Service Standards n XML n n HTTP n n For message exchange WSDL n n Transport layer protocol SOAP n n Document format Interface description UDDI n Registration and discovery
WSDL Example <message name="Get. Endorsing. Boarder. Request"> <part name="body" element="esxsd: Get. Endorsing. Boarder"/> </message> <message name="Get. Endorsing. Boarder. Response"> <part name="body" element="esxsd: Get. Endorsing. Boarder. Response"/> </message> <port. Type name="Get. Endorsing. Boarder. Port. Type"> <operation name="Get. Endorsing. Boarder"> <input message="es: Get. Endorsing. Boarder. Request"/> <output message="es: Get. Endorsing. Boarder. Response"/> <fault message="es: Get. Endorsing. Boarder. Fault"/> </operation> </port. Type>
SOAP Messages SOAP resquest <SOAP-ENV: Envelope xmlns: SOAP-ENV="http: //schemas. xmlsoap. org/soap/envelope/“ SOAP-ENV: encoding. Style="http: //schemas. xmlsoap. org/soap/encoding/"> <SOAP-ENV: Body> <m: Get. Endorsing. Boarder xmlns: m="http: //namespaces. snowboard-info. com"> <manufacturer>K 2</manufacturer> <model>Fatbob</model> </m: Get. Endorsing. Boarder> </SOAP-ENV: Body> </SOAP-ENV: Envelope> SOAP response <SOAP-ENV: Envelope xmlns: SOAP-ENV="http: //schemas. xmlsoap. org/soap/envelope/" SOAP-ENV: encoding. Style="http: //schemas. xmlsoap. org/soap/encoding/"> <SOAP-ENV: Body> <m: Get. Endorsing. Boarder. Response xmlns: m="http: //namespaces. snowboard-info. com"> <endorsing. Boarder>Chris Englesmann</endorsing. Boarder> </m: Get. Endorsing. Boarder. Response> </SOAP-ENV: Body> </SOAP-ENV: Envelope>
Pros And Cons of Web Service Programming Model n Pros n n Standard-based Loose coupling leads to increased modularity and flexibility Reduces integration costs Cons n n Immature Some vendor solutions are single-vendor approaches which conflict with the open standardsbased vision of Web Services
Integration with Our Previous Work APPs Video Streaming IP Phone … Web Service Interface Dfdf H. 264 SW/HW Components MPEGII Task RMI Switching Roaming RMI Vo. IP Streaming To make integration easier 3 rd Party Services Accounting Service Logging Service Security Services
Integration Issues n Programming Model n n n Previous works are based on Java Client applications should interoperate with our services through web service interfaces Performance n SOAP message serialization downgrades performance
Future Work n n n Model Definition RMI Roaming + RMI Streaming Integration with other works n Any possibilities?
- Serviceoriented architecture
- Serviceoriented architecture
- Sentence outline examples
- "conclusion introduction" "introductory paragraph"
- Introduction paragraph outline
- Introduction to software engineering course outline
- Architecture business cycle
- Call and return architecture in software engineering
- Examples of integral product architecture
- Slot modular architecture examples
- Bus design in computer architecture
- Introduction to computer organization and architecture
- Conceptual integrity in software architecture
- An introduction to enterprise architecture