Service Oriented Architectures Presentation (Veli Bicer)


Published on

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • A company that employs these people can compose their capabilities to carry out its business. It is the hospital in this case.
  • Monolithic applications are applications where the code that implements the business rules, data access, and user interface are all tightly coupled together as part of a single, large computer program. A monolithic application is typically deployed on a single platform, often a mainframe or midrange computer. There are, however, examples of monolithic applications running on smaller systems - or even distributed across multiple machines. The determining characteristic of a monolithic application is that the code is tightly coupled and highly interdependent. Object-orientation divides the application into the units of the logic based on the functionality and data. In a 2-tier model, the desktop user connects directly to a database. All processing is done in the client application—the database serves only as a repository for data. Then the tiered applications came into play. Here we include a middle layer for the application logic. This middle layer can also be multiplied to constitute the n-tiers. The web sites actually falls into this category. The thin clients , I mean the browsers, and the Web sites actually falls into this category. You have browsers, an application server hosting the logic and the database.
  • In further cases, the objects are distributed in the environment. Actually this gain attention with the introduction of the Wide Area Networks and the Internet. Remote Method invocations actually falls into this category. After that the component orientation came into play. Here we see the concept component which … Ali Hocanin Dokumana Bak Service : Capabilities performed by one for another to achieve a desired outcome Orientation : Functionally aligning architecture to enable a collection of independent services to be linked together to solve a business problem Architecture : The fundamental organization of a system embodied in its capabilities, their interactions, and the environment
  • The core of the SOA involves the Services. I will mention what a service is in a few slides soon. Loose Coupling. Changing in time. Can be implemented in different platforms and with different technologies. Each service should be described. The description defines the service and the requirements you have to have to use that service. In ws world, this is achieved through WSDL. In addition, Policies are also important to specify the requirements such as security. Once the description is achieved services are published, discovered, selected and binded. The discovery phase achieves this through registries. The service registries such as ebXML, UDDI, which will be mentioned soon, currently achieves discovery syntatically. It is mostly supported with taxonomies. However, fully automated discovery, the current trend is to use the ontologies such as WSMO approach. One thing to note in SOA is that it is fully message oriented. Therefore, there has to be mechanism to achieve the
  • D efine the essence of service oriented architecture To create a vocabulary and a common understanding of SOA Based on concepts present in all SOA’s A Reference Model defines SOA in an abstract sense. Example: Abstract = Service Description Concrete = WSDL
  • Service Oriented Architectures Presentation (Veli Bicer)

    1. 1. Service-Oriented Architecture and Web Service Technologies Veli Bi çer
    2. 2. Outline <ul><li>What is a service? </li></ul><ul><li>Application Architectures </li></ul><ul><li>Service-Oriented Architecture </li></ul><ul><li>Web Service Technologies </li></ul><ul><li>Semantic Web Services </li></ul>
    3. 3. Service <ul><li>What is a service? </li></ul><ul><ul><li>A service is a contractually defined behavior that can be implemented and provided by a component for use by another component. </li></ul></ul><ul><ul><li>The mechanism by which needs and capabilities are brought together </li></ul></ul><ul><ul><li>Well-defined, self-contained modules that provide standard business functionality and independent of the state or context of other services </li></ul></ul>
    4. 4. Service <ul><li>Inspection </li></ul><ul><li>Treatment </li></ul><ul><li>Patient-care </li></ul><ul><li>Drugs </li></ul><ul><li>Manage files </li></ul>Doctor Nurse Receptionist Technician <ul><li>X-ray films </li></ul>Patient Hospital External Clinic Cure Process Business Objective SLAs Policy Clinical Document HIS ECP Clinical Systems RIS PIS
    5. 5. Service Radiology Order [RIS] Pathology Order [PIS] Laboratory Order [LIS] Billing [ERP] Payment Claim Processing [ECP] Drug Info [Drug DB] External EHR [EHR System] Patient Demographics [HIS] Department Radiology Laboratory Pathology External Hospital Accounting Drug Company Insurance Hospital Administration
    6. 6. Service <ul><li>Services are : </li></ul><ul><ul><li>a way of enabling business automation </li></ul></ul><ul><ul><li>collection of capabilities </li></ul></ul><ul><ul><ul><li>Doctor service: inspect illnesses, treat patients, perform surgeries etc. </li></ul></ul></ul><ul><ul><li>implemented based on design principles </li></ul></ul><ul><ul><ul><li>Self-descriptive, loosely-coupled, autonomous, composable, discoverable </li></ul></ul></ul>
    7. 7. Application Architectures <ul><li>Monolithic Application </li></ul><ul><li>Object-Oriented Application </li></ul><ul><li>Client-Server </li></ul><ul><li>3-tier, n-tier </li></ul><ul><li>Distributed Objects </li></ul><ul><li>Component Orientation </li></ul><ul><li>Service Orientation </li></ul>
    8. 8. Service-Oriented Architecture <ul><li>What is SOA? </li></ul><ul><ul><li>A new generation distributed computing platform including: </li></ul></ul><ul><ul><ul><li>i ts own design paradigm , </li></ul></ul></ul><ul><ul><ul><li>design principles, </li></ul></ul></ul><ul><ul><ul><li>design pattern s , </li></ul></ul></ul><ul><ul><ul><li>architectural model, </li></ul></ul></ul><ul><ul><ul><li>and related concepts, technologies, and frameworks. </li></ul></ul></ul>
    9. 9. Service-Oriented Architecture
    10. 10. Service-Oriented Architecture
    11. 11. Service-Oriented Architecture Security Trans. & Reliabil. Discovery Description Choreography Business Rules Client Applications Services Orchestration Communication
    12. 12. Service-Oriented Architecture Business App Services Process Services Application Logic (Server) Application Logic (Client) UI Mobile Client HIS RIS/ PACS Billing EMR LIS Internet National ID Management Electronic Claim Processing Internet Internet Mashup Services I P Archetype Repository
    13. 13. Service-Oriented Architecture <ul><li>Reference Architecture </li></ul><ul><ul><li>D efine the essence of service oriented architecture </li></ul></ul><ul><ul><li>To create a vocabulary and a common understanding of SOA </li></ul></ul><ul><ul><li>Based on concepts present in all SOA’s </li></ul></ul><ul><ul><li>A Reference Model defines SOA in an abstract sense. Example: </li></ul></ul><ul><ul><ul><ul><li>Abstract = Service Description </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Concrete = WSDL </li></ul></ul></ul></ul>
    14. 14. Service-Oriented Architecture
    15. 15. Service-Oriented Architecture
    16. 16. Service-Oriented Architecture
    17. 17. Web Services Transport (HTTP,HTTPS,SMTP,FTP) Messaging (XML,XSD,SOAP,SOAPAttachment) Description (WSDL,WS-Policy) Security (WS-Security) Orchestration (WS-BPEL) Enterprise Service Bus WS-Choreography (WS-CDL,ebBP) Discovery (UDDI,ebXML) Service-Components (SCA,SDO) Semantic Web Services (WSMO,OWL-S) Management (WSMF,WSDM) Transaction (WS-Transaction) Current State-of-the-art in Web Service Technologies Service-Composition Quality of Service Internet Protocols Foundations
    18. 18. WSDL <ul><li>Web Service Description Language </li></ul><ul><li>W3C effort, WSDL 2 final construction phase </li></ul><ul><ul><li>describes interface for consuming a Web Service: </li></ul></ul><ul><ul><li>Interface: operations (input & output) </li></ul></ul><ul><ul><li>Endpoint (location of service, URL) </li></ul></ul><ul><ul><li>Access (protocol binding) </li></ul></ul>
    19. 19. UDDI <ul><li>Universal Description, Discovery, and Integration Protocol </li></ul><ul><li>OASIS driven standardization effort </li></ul><ul><ul><li>Registry for Web Services: </li></ul></ul><ul><ul><ul><li>provider </li></ul></ul></ul><ul><ul><ul><li>service information </li></ul></ul></ul><ul><ul><ul><li>technical access </li></ul></ul></ul>
    20. 20. WS-BPEL <ul><li>Web Services Business Process Execution Language </li></ul><ul><li>a notation for specifying business process behavior based on web services </li></ul><ul><li>Owned by OASIS, originally created by IBM and Microsoft </li></ul>
    21. 21. WS-BPEL <ul><li>BPEL Constructs: </li></ul><ul><ul><li>sequence: executes one or more activities sequentially. </li></ul></ul><ul><ul><li>flow: executes one or more activities in parallel. </li></ul></ul><ul><ul><li>switch: executes one of several paths based on the value of a condition. </li></ul></ul><ul><ul><li>while: executes a specified activity as long as a condition is true. </li></ul></ul><ul><ul><li>invoke: calls a web service. </li></ul></ul><ul><ul><li>receive: receives an incoming web services call. </li></ul></ul><ul><ul><li>reply: sends a response to a received web services call. </li></ul></ul><ul><ul><li>variables: defines any global variables the process uses. </li></ul></ul><ul><ul><li>assign: allows copying and manipulating data using XPath </li></ul></ul><ul><ul><li>partnerLink: specifying the roles and message exchanges between communication partners </li></ul></ul>
    22. 22. WS-BPEL <ul><li>Popular BPEL Architectures: </li></ul><ul><ul><li>Oracle SOA Suite </li></ul></ul><ul><ul><li>IBM WebSphere Process Server </li></ul></ul><ul><ul><li>ActiveBPEL </li></ul></ul><ul><ul><li>Software AG webMethods Business Process Management Suite </li></ul></ul><ul><ul><li>Microsoft BizTalk </li></ul></ul><ul><ul><li>Apache ODE </li></ul></ul>
    23. 23. Choreography <ul><li>Describe collaborations of parties by defining from a global viewpoint their common and complementary observable behavior </li></ul><ul><ul><li>I nformation exchanges, the jointly agreed ordering rules … </li></ul></ul><ul><li>Unlike processes, more than one party is included </li></ul><ul><li>More like a global contract which can be realized by more than one parties </li></ul><ul><li>W3C’s Web Services Choreography Description Language (WS-CDL) </li></ul><ul><li>ebXML Business Processes (ebBP) </li></ul>
    24. 24. Choreography Place Lab Order Check Insurance Confirmed Order Result Cardiology Hospital X Laboratory Hospital Y Insurance Company
    25. 25. Enterprise Service Bus <ul><li>Gartner </li></ul><ul><ul><li>“ An ESB is an architecture that exploits Web services, messaging middleware, intelligent routing, and transformation. It must support request/response communication between loosely coupled SOA business components and one-way message delivery for sending notifications to event-driven business components. It must also allow more-complex message exchange patterns (MEPs).” </li></ul></ul>
    26. 26. Enterprise Service Bus
    27. 27. Enterprise Service Bus <ul><li>What if we have more than one client: </li></ul><ul><ul><li>We need something to simplify this </li></ul></ul>
    28. 28. Enterprise Service Bus <ul><li>Enterprise Service Bus route messages between WSs: </li></ul>
    29. 29. Enterprise Service Bus JCA f x BPEL BAM SAP .NET SOAP JMS Mainframe In Memory Java Portlets Web UI Human Task MDS UDDI ESB Viewer Composite Applications, Portals, BI and BAM EDI Trading Partner SOAP/HTTP/ Reliable SOAP OEMS, JMS, MQ, TIBCO Local, In Memory, Fastpath <ul><li>Connect </li></ul><ul><ul><li>Adapters </li></ul></ul><ul><ul><li>Metadata </li></ul></ul><ul><ul><li>WS Manager </li></ul></ul><ul><ul><li>Security </li></ul></ul><ul><ul><li>Apps Events </li></ul></ul><ul><li>Enrich </li></ul><ul><ul><li>Transformation </li></ul></ul><ul><ul><li>Value Mappings </li></ul></ul><ul><ul><li>Business Rules </li></ul></ul><ul><ul><li>Workflow </li></ul></ul><ul><ul><li>System Xref </li></ul></ul><ul><li>Distribute </li></ul><ul><ul><li>Protocol Bus </li></ul></ul><ul><ul><li>Messaging </li></ul></ul><ul><ul><li>Routing </li></ul></ul><ul><ul><li>Interoperability </li></ul></ul><ul><ul><li>HA, Scalability </li></ul></ul>
    30. 30. Enterprise Service Bus <ul><li>Popular ESB Architectures: </li></ul><ul><ul><li>Oracle SOA Suite </li></ul></ul><ul><ul><li>IBM WebSphere ESB </li></ul></ul><ul><ul><li>Sun’s openESB </li></ul></ul><ul><ul><li>Mule ESB </li></ul></ul><ul><ul><li>Apache ServiceMix </li></ul></ul><ul><ul><li>Software AG webMethods ESB Platform </li></ul></ul>
    31. 31. Semantic Web Services Web 1.0 URL, HTML, HTTP, XML Web 2.0 Web Services, AJAX, Wikis, Blog, RSS Semantic Web Ontology, OWL, RDF Logic, Rule, Query Web 3.0 Semantic Web Services, Semantic Wiki, Semantic BPs
    32. 32. Semantic Web Services <ul><li>Theseus: </li></ul><ul><ul><li>Research program for a new internet-based knowledge infrastructure </li></ul></ul><ul><ul><li>Funded by German Federal Ministry of Economy and Technology(180M €) </li></ul></ul><ul><ul><li> </li></ul></ul><ul><ul><li>Research Topics: </li></ul></ul><ul><ul><ul><li>Automatic generation of metadata for multimedia files </li></ul></ul></ul><ul><ul><ul><li>Semantic processing of multimedia documents </li></ul></ul></ul><ul><ul><ul><li>I ntegrated methods and tools for ontology management </li></ul></ul></ul><ul><ul><ul><li>Machine learning </li></ul></ul></ul><ul><ul><ul><li>Situation-sensitive dialogue processing </li></ul></ul></ul><ul><ul><ul><li>Innovative user interfaces </li></ul></ul></ul>
    33. 33. Semantic Web Services <ul><li>Annotate the WSs with machine interpretable descriptions </li></ul><ul><li>Allow the automatic publication, discovery, selection, composition, mediation and execution of inter-organization business logic </li></ul><ul><li>Internet becomes a global common platform to support SWS applications </li></ul><ul><li>Ontologies - basic building block </li></ul>
    34. 34. Semantic Web Services <ul><li>Usage Process: </li></ul><ul><ul><li>Publication: Make available the description of the capability of a service </li></ul></ul><ul><ul><li>Discovery: Locate different services suitable for a given task </li></ul></ul><ul><ul><li>Selection: Choose the most appropriate services among the available ones </li></ul></ul><ul><ul><li>Composition: Combine services to achieve a goal </li></ul></ul><ul><ul><li>Mediation: Solve mismatches (data, protocol, process) among the combined </li></ul></ul><ul><ul><li>Execution: Invoke services following programmatic conventions </li></ul></ul>
    35. 35. Thank you for your attention