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