Upload
krimhilde-gaubatz
View
102
Download
0
Embed Size (px)
Citation preview
1
V8: Service-based Interoperability – 1
Dr.-Ing. Reiner WichertFraunhofer-Institut für Graphische Datenverarbeitung IGD
Holger Graf
Fraunhofer-Institut für Graphische Datenverarbeitung IGD
Mohammad-Reza (Saied) Tazari
Fraunhofer-Institut für Graphische Datenverarbeitung IGD
Ambient IntelligenceWS 10/11
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 Referenzarchitekturam 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
ServiceDescription
ExecutionContext
Real WorldEffect
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.
18
Definition für Service von Tazari et al – 2
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 WorldEffect
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
ServiceDescription
ExecutionContext
Real WorldEffect
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
33
OASIS Architektursichten – 1
34
OASIS Architektursichten – 2
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/
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
40
Meta Model of the Architecture
41
Simplified Message Oriented Model
42
Message Oriented Model
43
Simplified Service Oriented Model
44
Service Oriented Model
45
Simplified Resource Oriented Model
46
Resource Oriented Model
47
Simplified Policy Model
48
Policy Model
49
Web Services Architecture Stack
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
52
WSDL - Web Services Description Language
53
Discovery Process
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