1 enterprise service oriented architecture (soa)...

89
1 Enterprise Service Oriented Architecture (SOA) 课课课 课课课课课课课课课课课课课课课课

Upload: beverly-allen

Post on 26-Dec-2015

276 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

1

Enterprise Service Oriented Architecture (SOA)

课程名:以服务为中心的软件开发设计与实现

Page 2: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

2

Outline

• Enterprise Service Bus

• Semantic Web Service

Page 3: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

3

Core Concepts: • Message oriented middleware (MOM)• Intelligent routing

Enterprise Service Bus

Page 4: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

4

Problems in IT Integration

• Isolated information in different Business Unit• Various Info system platforms and applications• Fixed business process • New information systems are introduced• …..

Infrastracture

OR

The enterprise is currently not well connected. - Only 10% of applications are linked (Gartner Report).

- Of these, only 15% use any kind of middleware. Expensive integration broker projects of the late 1990s have had nominal success.

- Integration projects average 20+ months to complete- Fewer than 35% of projects finish on time and on budget- 35% of software maintenance budget is spent maintaining point-to-point application links- In 2003, Global 3500 was expected to spend an average of $6.4 million on integration projects

by Forrester Research, “Reducing Integration Cost”, 12/2001.

Page 5: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

5

What is ESB?

“A new form of enterprise service bus (ESB) infrastructure – combing message-oriented middleware, web services, transformation and routing intelligence – will be running in the majority of enterprise by 2005.

These high-function, low-cost ESBs are well suited to be the backbone for service-oriented architectures and the enterprise nervous system.”

Roy Schulte, Gartner Report, 2002. EDA Web Service

ESB

SOA Principles

Page 6: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

6

The ESB Story

Page 7: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

7

ESB Key Components• Message Oriented Middleware

– Robust, reliable transport– Efficient movement of data across abstract data channels– End-to-end reliability

• Web services– Service Oriented Architecture (SOA)– Abstract business services

• Intelligent routing– Message routing based on content and context– Message routing based on business process rules– Business process orchestration based on a rules language such

BPEL4WS• XML transformation

• Highly distributed, scalable service containers• Event-driven service invocation• Centralized management of distributed integration

configurations• Diverse client connectivity and support for multiple

protocols• Seamless, dynamic routing of data across physical

deployment boundaries• Unified security and access control model• Distributed configuration and caching of deployment

resources• Scriptable and declarative environment• Changeable behavior of integration components

based on configuration and rules.

Page 8: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

8

Tightly Coupled Versus Loosely Coupled Interfaces

• Tightly coupled interfaces– Each application needs to

know the intimate details of how every other application wants to be communicated with

– The number of interfaces becomes unwieldy when the system scale up: n(n-1)/2

• Loosely coupled interface– Self-contained, stand alone unit– Asynchronous message: – Reduces the number of

interfaces from O(n2) to O(n)

Page 9: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

9

Message Oriented Middleware (MOM)• Virtual channels that an ESB uses to route messages• Self-contained units of information (messages)• Asynchronous communication• Applications are abstractly decoupled • Messaging system supports the management of connection

points between multiple messaging clients, and of multiple channels of communication between connection points.– Message server– Message broker

Page 10: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

10

Message

• The header– Basic information

• Destination, reply-to, message type, etc.

• Properties– Application-defined

name/value pairs– For filtering by consumer or

routers

• Body– Plain text, raw data, XML

message

Page 11: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

11

MOM Concepts• Abstract Decoupling

– The producer and consumer do not know each other• Messaging Models

– Publish-and-Subscribe • one to many broadcast of information

– Point-to-Point• One-to-one communication between two specific applications

Page 12: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

12

Asynchronous Reliability

• Message autonomy– Messages are self-contained, autonomous entities– Producer sends a message– Messaging system guarantees that it is received by

any interested parties– ESB ensures that it arrives in the desired data

format

Page 13: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

13

Asynchronous Reliability

• Store and Forward– Message queuing and guaranteed delivery

• Exactly once• At least once• At most once

– Message ordering • Messages are delivered to the receiver in the same order in which

they are sent by the sender

Page 14: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

14

Asynchronous Reliability

• Message Acknowledgment– Allow the messaging system to monitor the

progress of a message so that it knows whether the message was successfully produced and consumed.

Page 15: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

15

Reliable Messaging Models

• Reliable Publish-and-Subscribe– Persistent messages– Durable subscriptions

Page 16: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

16

Reliable Messaging Models

• Multi-step store-and-forward– Each message server uses store-and-forward and message

acknowledgements to get the message to the next server in the chain. – Each link can be secure, authenticated and capable of traversing

through firewall boundaries.

Page 17: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

17

Transacted Messages

Receive and Send operations can be grouped together in a single local transaction

Multiple resources participate in a two-phase-commit Transaction

An ESB Removes the Low-Level Complexities

Page 18: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

18

Messaging Standards

• Java Message Service (JMS)– Messaging Specification, 1998– Defines the API and a set of rules that govern message

delivery semantics in a MOM environment for both reliable and unreliable messaging.

• Simple Object Access Protocol (SOAP)

Page 19: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

19

Summary• MOM provides the backbone for enterprise data

exchange– Message acknowledgement, message persistence, and

transactions. • Message systems ensure reliable message exchange

– Contract between producer and message server: ensure reliable message delivery

– Contract between message server and consumer: ensure reliable message acceptance

• ESB can encapsulate the low-level details in a container-managed environment

Page 20: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

20

Intelligent routing – Why?

• The key importance of the ESB approach to SOA is that the service definition is separated from the mechanism for location and invoking services.

• ESB = Router – Service routing of requests from service requesters to the

relevant service provider based on a routing table– Protocol transformation, to allow the decoupling of the

protocol that is used between the service requesters and service providers.

Page 21: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

21

Itinerary-Based Routing• A message itinerary is analogous to a travel itinerary that you

carry when going on a trip. • the itinerary are stored as XML metadata and carried with the

message as it travels across the bus from one service container to the next

• The itinerary represents a set of discrete message routing operations (endpoints)

Sub process

Page 22: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

22

Content-Based Routing

• To control where messages go based on message properties or message content

• Metadata describing the possible branches and rules are evaluated at remote container, not by a centralized rules engine

Page 23: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

23

ESB Products – J2EE Components• JBI: Java Business Integration

– Describe the way integration components, such as ESB services, can be plugged together in a vendor-neutral and portable fashion.

• JCA: J2EE Connector Architecture– Define the use of a standard set of interface contracts for

creating adapters to connect into, and interact with, enterprise applications.

• JMX: Java Management eXtensions– Remote management of configuration data, commands for

controlling lifecycle, and runtime alerts and event notifications for statistics gather and monitoring.

Page 24: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

24

Known ESB Vendors

• BEA Aqualogic• Cape Clear• Sonic• Fiorano• IBM• Iona

Page 25: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

25

WebSphere Application Server V6

Page 26: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

26

WebSphere Application Server V6 • Messaging:

– request/response and publish/subscribe – message reliability (persistence/Store and forward Transaction control)

• Routing:– Dynamic service and port selection– Web service requests converted from one WSDL definition to another– Internet routing with proxy

• Transformation– Protocol transformation :SOAP/HTTP - SOAP/JMS– Content transforming: format, augmenting messages, aggregation and

correlation

Page 27: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

27

WebSphere Application Server V6

• Container– Support web Service

• hosts published provider Web services • hosts applications consume Web services

– Connection to JCA, JDBC– Administration tools and support– Web service performance minitoring by Performance

Monitoring Infrastructure (PMI)– Integration to system management and administration

tooling, in particular IBM Tivoli® products

Page 28: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

28

Open Source ESB• Celtix (Iona), Mar 31, 2006 beta 1.0

– Web Services, XML transformation, routing, asynchrony, JMS, through JMX integrate with J2EE, basic JBI & SCA

– Future: develop integration capability (JBI)• ServiceMix (LogicBlaze ), Nov 2005, version 2.0

– Based on ActiveMQ– Fully JBI ccontainer– In new version, BPEL, high-performance router directory, XPath ttransfer

engine ,RSS and JCA• Mule, version 1.3 rc2

– Based on J2EE1.4 and Universal Message Object (SEDA)– Web Service (Axis/Glue)– Model Integrate with ‘Spring’ framework as ESB container– Future: support JBI and BPEL .etc

Page 29: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

29

References

• David A. Chappell, “Enterprise Service Bus”, O’Reilly, 2004.• Bruce Silver Associates, “Enterprise Service Bus Technology

for Real-World Solutions”, Industry trend reports, Aug. 2004. • BEA, “Service Infrastructure Overview”, July 2005. • Cape Clear, “Cape Clear’s Enterprise Service Bus (ESB)”,

2005.

Page 30: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

30

Core Concepts: • SWS Markup language• Combine SW with WS

Semantic Web Services

Page 31: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

31

Proposing of Semantic Web

• Web was “invented” by Tim Berners-Lee , a physicist working at CERN• TBL’s original vision of the Web was much more ambitious than the

reality of the existing (syntactic) Web:

• TBL (and others) have since been working towards realising this vision, which has become known as the Semantic Web– E.g., article in May 2001 issue of Scientific American…

“... a goal of the Web was that, if the interaction between person and hypertext could be so intuitive that the machine-readable information space gave an accurate representation of the state of people's thoughts, interactions, and work patterns, then machine analysis could become a very powerful management tool, seeing patterns in our work and facilitating our working together through the typical problems which beset the management of large organizations.”

Page 32: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

32

本体层1. 以谓词演算为基础的语言KIF-based Ontolingua,CycL,

Loom,Frame-Logic

2. 基于 XML 的本体表示语言SHOE,XOL,OML&CKML,RDFS,

Riboweb,OIL,DAML+OIL,OWL

规则层RuleML 、 HornML 、 DLML

逻辑框架层FOL 、 HOL 、 DL 、Horn-logic 、 OMDoc

下四层已经发展的比较成熟与完善 1.数据格式层

2.信息表示层

3.元数据表示层

4.元数据定义层

5.本体层

6.规则层

7.逻辑框架层

8.证据层

9.高信度Web层

Architecture and Standards of Semantic Web

We are here!

Page 33: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

33

Definition of Ontology

• What is a concept? – Different communities have different notions on what a

concept means: • formal concepts • concept label  • terminology • frame or OO

• There is m:n relationship between words and concepts– different words may refer to the same concepts– a word may refer to several concepts 

• Ontology languages should provide means for making this difference explicit

Page 34: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

34

Main components of an Ontology

• Classes– concepts of the domain or tasks, which are usually organized

in taxonomies– in univ-ontology: student and professor are two classes

• Relations– a type of interaction between concepts of the domain– such as: subclass-of, is-a

Page 35: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

35

• Functions– A special case of relations in which the n-th element of the relationship

is unique for the n-1 preceding elements– Such as: Price-of-a-used-car can define the calculation of the price of

the second-hand car on the car-model, manufacturing data and kilometers

• Axioms– Model sentences that are always true– Such as: if the student attends both A and B course, then he or she

must be a second year student• Instances

– represent specific elements– such as: Student called Peter is an instance of Student class

Main components of an Ontology

Page 36: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

36

RDF

• RDF data model– Resources

• A resource is a thing you talk about (can reference)• Resources have URI’s (Uniform Resource Identifiers)• RDF definitions are themselves Resources

– Properties• A special kind of resources, describe relations

between resources. – (subject, predicate, object)

Page 37: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

37

RDF

<rdf:Description rdf:about="CIT1111"><uni:courseName>Discrete Mathematics</uni:courseName><uni:isTaughtBy>

<rdf:Description rdf:about="949318"><uni:name>David Billington</uni:name><uni:title>Associate

Professor</uni:title></rdf:Description>

</uni:isTaughtBy></rdf:Description>

Page 38: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

38

RDF schema

• Some important terminologies in RDFS– rdf:type– rdfs:subClassOf– rdfs:subPropertyOf– Rdfs:domain– Rdfs:range

Page 39: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

39

RDF and RDFS relationship

Page 40: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

40

• Requirements for ontology language– a well-defined syntax– a formal semantics (convenient to reason)– convenience of expression– efficient reasoning support– sufficient expressive power

OWL(Web Ontology Language)

Page 41: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

41

OWL

• OWL is built on top of RDF • OWL is for processing information on the web • OWL was designed to be interpreted by

computers • OWL was not designed for being read by

people • OWL is written in XML • OWL is a web standard

Page 42: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

42

Origins of OWL

DAML

DAML+OIL

DAML = DARPA Agent Markup LanguageOIL = Ontology Inference Layer

OWL is now a W3C Recommendation!

OIL

OWL

RDF

All were influenced by RDF

OWL

Page 43: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

43

Layered language of OWLLogic foundation of OWL: Description Language• OWL Lite:

– Classification hierarchy– Simple constraints

• OWL DL:– Maximal expressiveness– While maintaining tractability– Standard formalisation

• OWL Full:– Very high expressiveness– Loosing tractability– Non-standard formalisation– All syntactic freedom of RDF

(self-modifying)

Syntactic layeringSemantic layering

Syntactic layeringSemantic layering

Full

DL

Lite

Page 44: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

44

OWL

Page 45: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

45

OWL

Page 46: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

46

OWL Example: animals

<?xml version="1.0"?><rdf:RDFxmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="http://wasp.cs.vu.nl/sekt/ontology/animal"> <owl:Ontology rdf:about=“animal"/> <owl:Class rdf:ID="Eagle"> <rdfs:subClassOf><owl:Class rdf:about="#Bird"/> </rdfs:subClassOf></owl:Class><owl:Class rdf:ID="Animal"/> <owl:Class rdf:ID="Fly"><owl:disjointWith> <owl:Class rdf:about="#Penguin"/></owl:disjointWith> <rdfs:subClassOf rdf:resource="#Animal"/> </owl:Class><owl:Class rdf:ID="Bird"> <rdfs:subClassOf rdf:resource="#Fly"/> </owl:Class> <owl:Class rdf:ID="Penguin"> <rdfs:subClassOf rdf:resource="#Bird"/> <owl:disjointWith rdf:resource="#Fly"/> </owl:Class></rdf:RDF>

Page 47: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

47

WWWURI, HTML, HTTP

Bringing the web to its full potential

Semantic WebRDF, RDF(S), OWL

Dynamic Web ServicesUDDI, WSDL, SOAP

Static

Semantic WebServices

What is Semantic Web Service?

Page 48: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

48

Semantic Web Technology

+

Web Service Technology

Semantic Web Services

=

Semantic Web Services

• allow machine supported data interpretation• ontologies as data model

automated discovery, selection, composition, and web-based execution of services

as integrated solution for realizing the vision ofthe next generation of the Web.

Page 49: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

49

Semantic Web Services

• Define exhaustive description frameworks for describing Web Services and related aspects (Web Service Description Ontologies)

• Support ontologies as underlying data model to allow machine supported data interpretation (Semantic Web aspect)

• Define semantically driven technologies for automation of the Web Service usage process (Web Service aspect)

Page 50: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

50

Semantic Web Services

Usage Process:• Publication: Make the available 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

Page 51: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

51

Semantic Web Services

Execution support:

• Monitoring: Control the execution process

• Compensation: Provide transactional support and undo or mitigate unwanted effects

• Replacement: Facilitate the substitution of services by equivalent ones

• Auditing: Verify that service execution occurred in the expected way

Page 52: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

52

Semantic Web Services

With Semantic: – Not only an interface description, but also the

capability of the service.– Logic reasoning enhanced service discovery and

composition.– Can be done automatically.

Page 53: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

53

Semantic Web Service Markup Language

• OWL-S• WSML• WSDL-S• …

Page 54: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

54

OWL-S

• Ontology– OWL-S is an OWL ontology to describe Web services– OWL-S leverages on OWL to

• Support capability based discovery of Web services• Support automatic composition of Web Services• Support automatic invocation of Web services

"Complete do not compete"• OWL-S does not aim to replace the Web services standards

rather OWL-S attempts to provide a semantic layer – OWL-S relies on WSDL for Web service invocation (see

Grounding)– OWL-s Expands UDDI for Web service discovery (OWL-S/UDDI

mapping)

Page 55: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

55

OWL-S

• Mapping to WSDL• communication protocol (RPC, HTTP, …)• marshalling/serialization• transformation to and from XSD to OWL

• Control flow of the service• Black/Grey/Glass Box view

• Protocol Specification• Abstract Messages

• Capability specification• General features of the Service

• Quality of Service• Classification in Service

taxonomies

• Upper Ontology

Page 56: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

56

Service Profile– Presented by a service.– Represents

what the service provides– Two main uses:

1. Advertisements of Web Services capabilities (non-functional properties, QoS, Description, classification, etc.)

2. Request of Web services with a given set of capabilities• Profile does not specify use/invocation!

• Service Profiles

OWL-S

Page 57: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

57

• Process Model

• Process Model– Describes how a service works:

internal processes of the service– Specifies service interaction

protocol– Specifies abstract messages:

ontological type of information transmitted

• Facilitates– Web service invocation– Composition of Web services– Monitoring of interaction

OWL-S

Page 58: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

58

• Service Grounding

• Service Grounding– Provides a specification of service

access information.– Service Model + Grounding give

everything needed for using the service

– Builds upon WSDL to define message structure and physical binding layer

• Specifies:– communication protocols, transport

mechanisms, communication languages, etc.

OWL-S

Page 59: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

59

OWL-S• Some superficial comments

– OWL-S itself is an OWL Ontology,– Combined with SWRL for preconditions and effects.– Inputs/Outputs subclasses of SWRL variables– Possible candidates for logicical language used: SWRL, SWRL-FOL, (KIF, DRS)

– However: Dicsovery, composition approaches published so far operate purely on description logic reasoning

Page 60: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

60

WSML

• WSML-Core• WSML-Flight• WSML-Rule• WSML-DL• WSML-Full

Page 61: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

61

WSML

• Examples(Mediator)

ooMediator <<http://www.wsmo.org/2004/d3/d3.3/v0.1/owlAddressMediator.wsml>> nonFunctionalProperties…… source <<http://daml.umbc.edu/ontologies/ittalks/address>> target <<http://www.wsmo.org/ontologies/location>> mediationService <http://138.232.65.151:8080/TranslatorService/OWL2WSML/>>

ggMediator <<http://www.wsmo.org/2004/d3/d3.3/v0.1/20041008/resources/ggm1.wsml>>  nonFunctionalProperties…… source <<http://www.wsmo.org/2004/d3/d3.3/v0.1/20041008/resources/goal1.wsml>> target <<http://www.wsmo.org/2004/d3/d3.3/v0.1/20041008/resources/goal.wsml>>

Page 62: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

62

WSML vs OWL

• The relation between WSML and OWL+SWRL is still to be completely worked out:

• WSML-Core is a subset of OWL Lite (DL Å Datalog)• WSML-DL is equivalent to OWL DL• WSML-Flight (refers to "F-Logic" and "Light" ;-) and

extends to the LP variant of F-Logic)

but for other languages the relation is still unknown.

Page 63: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

63

Relation to Web Services Technology

OWL-S WSMLWeb Services Infrastructure

DiscoveryWhat it does

Profile Web Services (capability) UDDI API

ChoreographyHow is done

Process Model Orchestration + choreography BPEL4WS

InvocationHow to invoke

Grounding+ WSDL/SOAP Grounding WSDL/SOAP

• OWL-S and WSMO map to UDDI API adding semantic annotation• OWL-S and WSMO share a default WSDL/SOAP Grounding • BPEL4WS could be mapped into WSMO orchestration and choreography• Mapping still unclear at the level of choreography/orchestration

– In OWL-S, multi-party interaction is obtained through automatic composition and invocation of multiple parties

– BPEL allows hardcoded representation of many Web services in the same specification.– Trade-off: OWL-S support substitution of Web services at run time, such substitution is

virtually impossible in BPEL.

Page 64: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

64

Semantic Web Service Framework

• WSMF• METEOR-S • …

Page 65: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

65

WSMF

• Principles and Top Level Concepts– Strong Decoupling & Strong Mediation

• autonomous components with mediators for interoperability– Interface vs. Implementation:

• distinguish interface (= description) from implementation (=program)

Objectives that a client may havewhen consulting a Web Service

Provide the formally specified terminologyof the information used by all other components

Semantic description of Web Services

Connectors between components with mediation facilities for handling heterogeneities

Page 66: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

66

WSMF• WSMO、WSML、WSMX

– WSMO: an ontology and conceptual framework to describe Web services and related aspects

– WSML:markup language– WSMX: execution environment

A Conceptual Model for SWS

A Formal Language for WSMO

Execution Environment for WSMO

Page 67: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

67

WSMF

• consists of– WSMF-Foundation

• defines rules for defining interface of managed objects– WS-Events

• Web Services-based event subsystem• subscription (push/pull) to event notifications

– WSMF-WSM: WSMF Web Services Management• instance of WSMF-F for managing Web Services• managing Web Services through Web Services

– Extensible by design: future domain specific instances of

WSMF-F

Page 68: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

68

WSMF

• Foundation– Managed object:

• represents a manageable resource• implements management interfaces• may support events

– Management interface:• exposes set of related management capabilities,

described in WSDL• categories (extensible): identity, configuration,

monitoring, discovery, control, collection

Page 69: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

69

WSMX: The Web Service EXecution Environment

• A service oriented architecture.• See more details in the infrastructure section.

Internet

Message

MessagePeerPeer

Internet

Message

Message

Bas

eSe

rvic

es

Reasoner Semantic Repository Triple Space

Data Mediation Communication Choreography

Negotiation and Contracting

Orchestration Planning

Management Discovery Process Mediation

App

licat

ion

Serv

ices

End

Use

r

Applications

Management & Monitoring

Dev

elop

er

Ontology Editor

Process Editor

Goal Editor

Mapping Editor

Vertical Services

Ver

tica

l Ser

vice

s

Page 70: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

70

METEOR-S

• WSDL-S: Adding Semantics to WSDL

• MWSAF - METEOR-S Web Service Annotation Framework

• METEOR-S Web Service Discovery Infrastructure

• METEOR-S Web Process Composition Framework

Page 71: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

71

METEOR-S

• WSDL-S

Name

Year

Date

Duration

City

Outputs

Interfaces

Inputs

Area

Coordinates

City Forrest

XML Schema Data type hierarchy

Temporal-Entity

TimeInterval

Time-Point

Date Time

TimeDomain

Event

Scientific-Event

Calendar-Date

{absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

{dayOftheWeek, monthOftheYear}

= Time - Ontology

= Local ontology

{name}

{x, y}

Get ConferenceInformation

Ontologies

Web Service

QoS OntologyQoS Ontology

<xsd:complexType name=“Date"><xsd:sequence>  <xsd:element name=“year" type="xsd:integer" />   <xsd:element name=“month" type="xsd:integer" />   <xsd:element name=“day" type="xsd:byte" /> </xsd:sequence></xsd:complexType>

Conference Information Functions

Information Function

Get Information

Get Date

Data Semantics

FunctionalSemantics

WSDL

WSDL

QoSSemantics

Min

Quality

Page 72: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

72

METEOR-S

• MWSAF

SOAP over HTTP

XML

Client

Server

Internet

SO

AP

ove

r H

TT

P

XM

L

<soap:Body>

<m:GetPrice xmlns:m="http://www.w3schools.com/prices"> <m:Item>Apples</m:Item>

</m:GetPrice></soap:Body> …</soap:Envelope>

Data SemanticsData Semantics

Page 73: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

73

METEOR-S

• MWSDI

Data Semantics

FunctionalSemantics

QoSSemantics

DurationDuration

RepudiationRepudiation

PricePrice

AvailabilityAvailability

SecuritySecurity

ReliabilityReliability

CostCost

TimeTime

FidelityFidelity

WS8:function_foo(x..y)

Client

Local

Receipt

Itinerary

Tourism

Inputs OutputsQoS

Internet

Semantic UDDI

WS4

WS2 WS7

WS9

Marketplaces, search engines, and business apps query

Registry entry

Page 74: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

74

METEOR-S

• MWSDI

WSDL

<Operation>

<Input1>

<Output1>

Service Template

Operation:buyTicket

Input1:TravelDetails

Output1:Confirmation

Annotations

Publish

Search

UDDI

Class

TravelServices

Class

DataClass

Operations

subClassOf subClassOf

subClassOfsubClassOf subClassOf subClassOf

ClassTicket

Information

ClassTicket

Booking

ClassTicket

Cancellation

ClassConfirmation

Message

Operation:cancelTicket

Input1:TravelDetails

Output1:Confirmation

For simplicity of depicting, the ontology is shown with classes for both operation and dataAdding Semantics to Web Services Standards

Page 75: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

75

METEOR-S

• MWSCF

TemplateBuilder

ActivityInterfaces

ProcessTemplates

UDDI

UDDI

UDDI

UDDIUDDI UDDI

Ontologies

ExecutionEngine

ProcessGenerator

Process Designer

Repositories

Discovery Infrastructure

(MWSDI)

Repositories are used to store 1. Web Service Interfaces 2. Ontologies 3. Process Templates

Process Designer 1. Template Construction activity specification using - interfaces - services - semantic activity templates - other details 2. Process Generation - Service discovery (automatic)

and selection (semi-automatic) - Data flow

Process Execution 1. Validation and deployment 2. Executing the process using a client

Page 76: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

76

Semantic Web Service Toolkits

• Protégé• WSMX• METEOR-S

Page 77: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

77

Protégé

• An Ontology Editor

Page 78: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

78

Protégé

• And Ontology Annotaion

Page 79: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

79

WSMX

• Overview

Page 80: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

80

WSMX

• Overview

Message

Ontology

Interface

Invocation

Network

Mediation

?Name goes here? ?Name goes here?

System

System

System

Page 81: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

81

WSMX

• Architecture

Page 82: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

82

WSMX

• Architecture

Partner: E1Partner: E2Ontology1: POOntology3: PORN

E1 uses Ontology1E2 uses OntologyRNMed Ont1.PO – Ont2.PORN

E1 E2…

Very specific ontology definition specifying a complex task to be carried out

Mediator

Invoker

Ontology

Compiler

History

Integration instances

Create PO1234Mediate PO1234, PORN

Invoke E2, PORN

AddHistory PORN

“Integ A”

For Compile Receive PORN

::AddHistory

Second Enterprise

12345: execute(“IntegA”, PO1234)23456: execute(“IntegB”, PO3897)

Once compiled, the instructions can be stored by the WSMX for reuse

“Integ A”

Invoke stored execution instances using input parameters

A set of declarative instructions that can be interpreted by the WSMX.

“IntegA”

Page 83: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

83

WSMX

• Components– User Interface - WSML

Editor– WSMX Manager– Compiler– Message Parser– Resource Manager– Repository– Events Manager

– WSMO Registry– Execution Engine– Matchmaker– Selector– OO Mediator & XML

Converter– Invoker

Page 84: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

84

METEOR-S(Eclipse plugins)

• Start Meteor-S

Page 85: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

85

METEOR-S(Eclipse plugins)

• Main Interface

Page 86: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

86

METEOR-S(Eclipse plugins)

• Process Design

Page 87: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

87

Summary• Semantic Web and Ontology

– RDF– OWL

• Introduction Of Semantic Web Service• Semantic Web Service Markup Language

– OWL-S– WSML– SWSL

• Semantic Web Service Framework– WSMF– METEOR-S – SWSF

• Semantic Web Service Toolkits– Protégé– WSMX– METEOR-S

Page 88: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

88

References

• http://www.daml.org/services/

• http://www.w3.org/2001/sw/

• http://protege.stanford.edu/

• http://www.msmo.org/

• http://lsdis.cs.uga.edu/projects/meteor-s/

• http://www.w3.org/Submission/OWL-S/

• http://www.daml.org/services/owl-s/1.0/

Page 89: 1 Enterprise Service Oriented Architecture (SOA) 课程名:以服务为中心的软件开发设计与实现

89

Thanks!

HP: http://keg.cs.tsinghua.edu.cn/persons/tj/

Arnet: http://jietang.arnetminer.org/