2 Gliederung OASIS SOA Referenzmodell & Referenzarchitektur Definition Service-orientierte Architekturen Wichtige Begriffe aus dem Referenzmodell Beispielmodelle aus der Referenzarchitektur Bespiel einer SOA: Web Services Nächste Woche: Die OWL-S Ontologie für Dienstebeschreibung Nächste Woche: Service Management in PERSONA
3 Literatur Spezifikationen der technischen Komitee für SOA Referenzmodell bei der OASIS (Organization for the Advancement of Structured Information Standards www.oasis-open.org) : SOA Referenzmodell http://docs.oasis-open.org/soa-rm/v1.0/soa-rm.pdf SOA Referenzarchitektur http://docs.oasis-open.org/soa-rm/soa-ra/v1.0/soa-ra-cd-02.pdf
4 Reference Model A reference model abstract framework for understanding significant relationships among the entities of some environment. enables the development of specific reference or concrete architectures and consistent standards or specifications. consists of a minimal set of unifying concepts, axioms and relationships within a particular problem domain, independent of specific standards, technologies, implementations, or other concrete details.
5 Reference Model vs. Reference Architecture A reference architecture architectural design pattern showing what is involved in realizing the entities identified in an underlying reference model indicates how an abstract set of mechanisms and relationships realizes a predetermined set of requirements models the abstract architectural elements (building blocks) in the domain independent of the technologies, protocols, and products that are used to implement the domain One or more reference architectures may be derived from a common reference model, to address different purposes/usages to which the reference model may be targeted.
6 Zusammenhang zwischen Referenzmodell und Referenzarchitektur am Beispiel von SOA
7 Gliederung OASIS SOA Referenzmodell & Referenzarchitektur Definition Service-orientierte Architekturen Wichtige Begriffe aus dem Referenzmodell Beispielmodelle aus der Referenzarchitektur Bespiel einer SOA: Web Services Nächste Woche: Die OWL-S Ontologie für Dienstebeschreibung Nächste Woche: Service Management in PERSONA
8 Service-orientierte Architekturen (SOA) SOA ist ein Paradigma für die Bereitstellung und Inanspruchnahme verteilter Kompetenzen, die möglicherweise unter der Kontrolle verschiedener Eigentümerschaftsdomänen stehen Entitäten (Menschen und Organisationen) erzeugen Kompetenzen Probleme Lösen oder Lösungsfindung unterstützen geschäftsbetrieben Bedürfnisse werden durch von einem Anderen angebotenen Kompetenzen befriedigt oder, in der Welt verteilten Computings werden Anforderungen einer Komponente von einer Komponente mit einem anderen Besitzer erfüllt
9 Service-orientierte Architekturen (SOA) Keine Garantie für eine eins-zu-eins Korrelation zwischen Bedürfnissen und Kompetenzen jede Seite, von elementar bis Komplex einer Nachfrage kann manschmal nur mit einer Kombination von Angeboten nachgekommen werden ein Angebot kann mehrere Bedürfnisse abdecken SOA bietet ein mächtiges Rahmenwerk für Abbildung von Bedürfnissen auf Kompetenzen, mit der Möglichkeit Angebote für die Befriedigung von Nachfragen zu kombinieren
10 Service-orientierte Architekturen (SOA) SOA unterstützt Wiederverwendung, Zuwachs und Interoperabilität keine Lösung für Domänenprobleme Paradigma für Bereitstellung und Lieferung Mehrwert durch Ausnutzung eigener und fremder Kompetenzen einfacher, eine identifizierte Lösung zu modifizieren oder alternative Lösungen anzustreben
11 Gliederung OASIS SOA Referenzmodell & Referenzarchitektur Definition Service-orientierte Architekturen Wichtige Begriffe aus dem Referenzmodell Beispielmodelle aus der Referenzarchitektur Bespiel einer SOA: Web Services Nächste Woche: Die OWL-S Ontologie für Dienstebeschreibung Nächste Woche: Service Management in PERSONA
12 SOA Referenzmodell: Hauptbegriffe Service Description Execution Context Real World Effect Interaction Visibility Service Contract & Policy
13 A service is a mechanism to enable access to one or more capabilities. The access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description. A service is provided by an entity – the service provider – for use by others; the eventual consumers of the service may not be known to the service provider and may demonstrate uses of the service beyond the scope originally conceived by the provider OASIS Definition für Service – 1
14 A service is accessed by means of a service interface. The interface comprises the specifics of how to access the underlying capabilities. There are no constraints on what constitutes the underlying capability or how access is implemented by the service provider. Thus, the service could carry out its described functionality through one or more automated and/or manual processes that themselves could invoke other available services. OASIS Definition für Service – 2
15 A service is opaque in that its implementation is typically hidden from the service consumer, except for: 1. the information and behavior models exposed through the service interface and 2. the information required by service consumers to determine whether a given service is appropriate for their needs. Important: distinction between a capability that represents some functionality created to address a need and the point of access where that capability is brought to bear in the context of SOA may not be critical (i.e. the service may be talked about in terms of being the capability) OASIS Definition für Service – 3
16 The consequence of invoking a service is a realization of one or more real world effects. These effects may include: 1. information returned in response to a request for that information, 2. a change to the shared state of defined entities, 3. or some combination of (1) and (2). Note, the service consumer in (1) does not typically know how the information is generated, e.g. whether it is extracted from a database or generated dynamically; in (2), it does not typically know how the state change is effected. OASIS Definition für Service – 4
17 Definition für Service von Tazari et al – 1 Service: Embodiment of a specific value addressing a need provided by one party (service provider) to another (service consumer). As a result of consuming a service, the consumer perceives value such as being relieved of a certain task. In the process of providing a service, several (hardware / software / human) resources might be involved; in particular, other subordinate services might be utilized, as well. Service Component: A software component, e.g. a Web Service or a plain old Java object, which provides a set of service utilities in the virtual realm. Service Utility: A utility in virtual realm, such as an exported method of an object or an exported operation of a Web Service, which makes it possible to utilize a service from within the virtual realm. A service utility may directly trigger the process of providing the underlying service or just lead to an arrangement for starting the process at a later point in time.
19 From a dynamic perspective, there are three fundamental concepts that are important in understanding what is involved in interacting with services: the visibility between service providers and consumers, the interaction between them, and the real world effect of interacting with a service. Real World Effect Interaction Visibility Service Concepts around the dynamics of service Key Concepts of SOA – Dynamics of Services
20 For a service provider and consumer to interact with each other they have to be able to see each other. This is true for any consumer/provider relationship – including in an application program where one program calls another: without the proper libraries being present the function call cannot complete. However, it should be emphasized that for visibility in SOA it is not necessarily obvious how service participants can see each other. Key Concepts of SOA – Visibility (1)
21 it is not necessarily obvious how Service participants can see each other. OASIS Definition: Visibility
22 This is typically done by providing descriptions for such aspects as: Functions Technical requirements Related constraints Related policies Mechanisms for access or response. The descriptions need to be in a form (or can be transformed to a form) in which their syntax and semantics are widely accessible and understandable. Key Concepts of SOA – Visibility (3)
23 Service Interaction Concepts Key Concepts of SOA – Interaction
24 visibility introduces the possibilities for matching needs to capabilities (and vice versa), interaction is the activity of using a capability. interaction proceeds mediated by the exchange of messages through a series of information exchanges and invoked actions. many facets of interaction, all grounded in a particular… execution context – the set of technical and business elements that form a path between those with needs and those with capabilities, which permits service providers and consumers to interact, and provides a decision point for any policies and contracts that may be in force. Key Concepts of SOA – Interacting with Services (1)
25 Interacting with a service involves performing actions against the service. In many cases, this is accomplished by sending and receiving messages. other modes possible that do not involve explicit message transmission. E.g. a service interaction effected by modifying the state of a shared resource. for simplicity - message exchange as the primary mode of interaction with a service. Key Concepts of SOA – Interacting with Services (2)
26 Principal concepts in the Reference Model Service Description Execution Context Real World Effect Interaction Visibility Service Contract & Policy Key Concepts of SOA – Real world Effect
27 There is always a particular purpose associated with interacting with a service. Conversely, a service provider (and consumer) often has a-priori conditions that apply to its interactions. The service consumer is trying to achieve some result by using the service, as is the service provider. On consumer side, such a goal can often be expressed as trying to get the service to do something - the real world effect of using a service. Example: an airline reservation service can be used to learn about available flights, seating and ultimately to book travel – the desired real world effect being information and a seat on the right flight. Key Concepts of SOA – Real world Effect (1)
28 The purpose of using a capability is to realize one or more real world effects. The expected real world effects form an important part of the decision on whether a particular capability matches similarly described needs. At the interaction stage, the description of real world effects establishes the expectations of those using the capability. Note, it is not possible to describe every effect from using a capability. A cornerstone of SOA is that capabilities can be used without needing to know all the details. Key Concepts of SOA – Real world Effect (2)
29 Key Concepts of SOA – Service Description Visibility is promoted through the service description, which contains the information necessary to interact with the service and describes this in such terms as the service inputs, outputs, and associated semantics. The service description also conveys what is accomplished when the service is invoked and the conditions for using the service.
30 SOA and Web Services Although SOA is commonly assumed to be about Web Services, services can be made visible, support interaction, and generate effects through other implementation strategies. OSGi framework provides such an alternative implementation strategy. Web service-based architectures and technologies are specific and concrete. While the concepts in the SOA Reference Model apply to such systems, Web Services are too solution-specific to be part of a general reference model.
31 Gliederung OASIS SOA Referenzmodell & Referenzarchitektur Definition Service-orientierte Architekturen Wichtige Begriffe aus dem Referenzmodell Beispielmodelle aus der Referenzarchitektur Bespiel einer SOA: Web Services Nächste Woche: Die OWL-S Ontologie für Dienstebeschreibung Nächste Woche: Service Management in PERSONA
32 SOA Referenzarchitektur Instead of visualizing a SOA as a single complex machine, OASIS Reference Architecture Foundation views it as an ecosystem: a space people, machines and services inhabit in order to further both their own objectives and the objectives of the larger community model the system as a network of peer-like entities instead of specifying an application hierarchy specify rules for the interactions between participants instead of specifying a hierarchy of control SOA ecosystem principles medium for exchange of value between independently acting participants that have legitimate claims to ownership of resources made available based on a series of policies and contracts capturing rules of engagement
35 SOA Realization View: Example of Service Description
36 SOA Realization View: Example of Mediated Service Awareness
37 Gliederung OASIS SOA Referenzmodell & Referenzarchitektur Definition Service-orientierte Architekturen Wichtige Begriffe aus dem Referenzmodell Beispielmodelle aus der Referenzarchitektur Bespiel einer SOA: Web Services Nächste Woche: Die OWL-S Ontologie für Dienstebeschreibung Nächste Woche: Service Management in PERSONA
38 Introduction: Web Services Referenz: http://www.w3.org/TR/ws-arch/http://www.w3.org/TR/ws-arch/ What is a Web Service? A software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards. A Web service is an abstract notion that must be implemented by a concrete agent. The agent is the concrete piece of software or hardware that sends and receives messages, while the service is the resource characterized by the abstract set of functionality that is provided.
39 The General Process of Engaging a Web Service
50 http://www.w3.org/TR/soap12-part1/ http://www.w3.org/TR/soap12-part2/ Web Services communication protocol XML extension A convention for doing Remote Procedure Calls (RPC): Request (SOAP message) Response (SOAP message) Current Status: Developed by Microsoft, DevelopMentor, UserLand, Lotus and IBM SOAP - Simple Object Access Protocol
51 http://www.w3.org/TR/wsdl20/ http://www.w3.org/TR/wsdl20-adjuncts/ Structured mechanism to describe: Abstract operations that a Web Service can perform Format of messages it can process Protocols it can support Physical bindings to: communication languages, e.g. SOAP or HTTP messages Location of services, i.e. URI and port numbers XML based WSDL - Web Services Description Language
54 http://www.oasis-open.org/committees/uddi-spec Public directory for registering and looking up services A directory entry has three main parts: White pages: to describe the company offering the service Yellow pages: to categorize services by industry type (e.g. SIC) Green pages: to describe the interface to a web service Uses Type Model or Model documents Current Status: Industry initiative in OASIS led by Microsoft, IBM and Ariba; more than 300 companies participating UDDI - Universal Discovery, Description & Integration
55 Web Services - Limitations What is the problem? automated localization of web services in the internet Semantic Descriptions Needed Why is that a problem? Technologies used to support the application of Web Services are not sufficient: UDDI, WSDL Current state: manual search for Web Services
56 Danke für die Aufmerksamkeit & bis zur nächsten Vorlesung