2Gliederung OASIS SOA Referenzmodell & Referenzarchitektur Definition Service-orientierte ArchitekturenWichtige Begriffe aus dem ReferenzmodellBeispielmodelle aus der ReferenzarchitekturBespiel einer SOA: Web ServicesNächste Woche: Die OWL-S Ontologie für DienstebeschreibungNächste Woche: Service Management in PERSONA
3SOA Referenzarchitektur LiteraturSpezifikationen der technischen Komitee für SOA Referenzmodell bei der OASIS (Organization for the Advancement of Structured Information Standards SOA ReferenzmodellSOA Referenzarchitektur
4Reference ModelA reference modelabstract 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.
5Reference Model vs. Reference Architecture A reference architecturearchitectural design pattern showing what is involved in realizing the entities identified in an underlying reference modelindicates how an abstract set of mechanisms and relationships realizes a predetermined set of requirementsmodels the abstract architectural elements (building blocks) in the domain independent of the technologies, protocols, and products that are used to implement the domainOne 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.A reference architecture provides a proven template solution for an architecture for a particular domainJava EE framework open source application servers like JBoss, Geronimo and Open EJB as well as vendor solutions like IBM WebSphere
6Zusammenhang zwischen Referenzmodell und Referenzarchitektur am Beispiel von SOA The Figure shows how a reference model for SOA relates to other distributed systems architectural inputs.The concepts and relationships defined by the reference model are intended to be the basis for describing references architectures and patterns that will define more specific categories of SOA designs.Concrete architectures arise from a combination of reference architectures, architectural patterns and additional requirements, including those imposed by technology environments.Architecture must account for the goals, motivation, and requirements that define the actual problems being addressed.While reference architectures can form the basis of classes of solutions, concrete architectures will define specific solution approaches.Architecture is often developed in the context of a pre-defined environment, such as the protocols, profiles, specifications, and standards that are pertinent.SOA implementations combine all of these elements, from the more generic architectural principles and infrastructure to the specifics that define the current needs, and represent specific implementations that will be built and used in an operational environment.
7Gliederung OASIS SOA Referenzmodell & Referenzarchitektur Definition Service-orientierte ArchitekturenWichtige Begriffe aus dem ReferenzmodellBeispielmodelle aus der ReferenzarchitekturBespiel einer SOA: Web ServicesNächste Woche: Die OWL-S Ontologie für DienstebeschreibungNächste Woche: Service Management in PERSONA
8Service-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 stehenEntitäten (Menschen und Organisationen) erzeugen KompetenzenProbleme Lösen oder Lösungsfindung unterstützengeschäftsbetriebenBedürfnisse werden durch von einem Anderen angebotenen Kompetenzen befriedigtoder, in der Welt verteilten Computings werden Anforderungen einer Komponente von einer Komponente mit einem anderen Besitzer erfüllt
9Service-orientierte Architekturen (SOA) Keine Garantie für eine eins-zu-eins Korrelation zwischen Bedürfnissen und Kompetenzenjede Seite, von elementar bis Komplexeiner Nachfrage kann manschmal nur mit einer Kombination von Angeboten nachgekommen werdenein Angebot kann mehrere Bedürfnisse abdeckenSOA 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
10Service-orientierte Architekturen (SOA) SOA unterstützt Wiederverwendung, Zuwachs und Interoperabilitätkeine Lösung für DomänenproblemeParadigma für Bereitstellung und LieferungMehrwert durch Ausnutzung eigener und fremder Kompetenzeneinfacher, eine identifizierte Lösung zu modifizieren oder alternative Lösungen anzustreben
11Gliederung OASIS SOA Referenzmodell & Referenzarchitektur Definition Service-orientierte ArchitekturenWichtige Begriffe aus dem ReferenzmodellBeispielmodelle aus der ReferenzarchitekturBespiel einer SOA: Web ServicesNächste Woche: Die OWL-S Ontologie für DienstebeschreibungNächste Woche: Service Management in PERSONA
13OASIS Definition für Service – 1 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 servicemay not be known to the service provider andmay demonstrate uses of the service beyond the scope originally conceived by the provider
14OASIS Definition für Service – 2 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.
15OASIS Definition für Service – 3 A service is opaque in that its implementation is typically hidden from the service consumer, except for:the information and behavior models exposed through the service interface andthe 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 SOAmay not be critical (i.e. the service may be talked about in terms of being the capability)
16OASIS Definition für Service – 4 The consequence of invoking a service is a realization of one or more real world effects. These effects may include:information returned in response to a request for that information,a change to the shared state of defined entities,or some combination of (1) and (2).Note, the service consumerin (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.
17Definition 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.
19Key Concepts of SOA – Dynamics of Services 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 WorldEffectInteractionVisibilityServiceConcepts around the dynamics of service
20Key Concepts of SOA – Visibility (1) 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 SOAit is not necessarily obvious how service participants can see each other.
21OASIS Definition: Visibility it is not necessarilyobvious howService participantscan see each other.
22Key Concepts of SOA – Visibility (3) This is typically done by providing descriptions for such aspects as:FunctionsTechnical requirementsRelated constraintsRelated policiesMechanisms 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.
23Key Concepts of SOA – Interaction Service Interaction Concepts
24Key Concepts of SOA – Interacting with Services (1) 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 messagesthrough 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, whichpermits service providers and consumers to interact, andprovides a decision point for any policies and contracts that may be in force.
25Key Concepts of SOA – Interacting with Services (2) 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.
26Key Concepts of SOA – Real world Effect Principal concepts in the Reference ModelVisibilityExecutionContextServiceDescriptionServiceReal WorldEffectInteractionContract &Policy
27Key Concepts of SOA – Real world Effect (1) 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.
28Key Concepts of SOA – Real world Effect (2) 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.
29Key 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.
30SOA and Web ServicesAlthough 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.
31Gliederung OASIS SOA Referenzmodell & Referenzarchitektur Definition Service-orientierte ArchitekturenWichtige Begriffe aus dem ReferenzmodellBeispielmodelle aus der ReferenzarchitekturBespiel einer SOA: Web ServicesNächste Woche: Die OWL-S Ontologie für DienstebeschreibungNächste Woche: Service Management in PERSONA
32SOA 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 communitymodel the system as a network of peer-like entities instead of specifying an application hierarchyspecify rules for the interactions between participants instead of specifying a hierarchy of controlSOA ecosystem principlesmedium for exchange of value between independently acting participantsthat have legitimate claims to ownership of resources made availablebased on a series of policies and contracts capturing rules of engagement
35SOA Realization View: Example of Service Description
36SOA Realization View: Example of Mediated Service Awareness
37Gliederung OASIS SOA Referenzmodell & Referenzarchitektur Definition Service-orientierte ArchitekturenWichtige Begriffe aus dem ReferenzmodellBeispielmodelle aus der ReferenzarchitekturBespiel einer SOA: Web ServicesNächste Woche: Die OWL-S Ontologie für DienstebeschreibungNächste Woche: Service Management in PERSONA
38Introduction: Web Services Referenz: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.
50SOAP - Simple Object Access Protocol Web Services communication protocolXML extensionA convention for doing Remote Procedure Calls (RPC):Request (SOAP message)Response (SOAP message)Current Status:Developed by Microsoft, DevelopMentor, UserLand, Lotus and IBM
51WSDL - Web Services Description Language Structured mechanism to describe:Abstract operations that a Web Service can performFormat of messages it can processProtocols it can supportPhysical bindings to:communication languages, e.g. SOAP or HTTP messagesLocation of services, i.e. URI and port numbersXML based
54UDDI - Universal Discovery, Description & Integration Public directory for registering and looking up servicesA directory entry has three main parts:White pages: to describe the company offering the serviceYellow pages: to categorize services by industry type (e.g. SIC)Green pages: to describe the interface to a web serviceUses Type Model or Model documentsCurrent Status:Industry initiative in OASIS led by Microsoft, IBM and Ariba; more than 300 companies participating
55Web Services - Limitations What is the problem?automated localization of web services in the internetSemantic Descriptions NeededWhy is that a problem?Technologies used to support the application of Web Services are not sufficient: UDDI, WSDLCurrent state: manual search for Web Services
56Danke für die Aufmerksamkeit & bis zur nächsten Vorlesung