Web services composition
Download
1 / 68

Web Services Composition - PowerPoint PPT Presentation


  • 199 Views
  • Updated On :

Web Services Composition . Incheon Paik, University of Aizu. Contents. Services :Web, Grid, Semantic Web, and Ubiquitous Services Web/Ubiquitous Services Composition Logical Composer and Physical Composer Hierarchical Task Network (HTN) Planning

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Web Services Composition' - daniel_millan


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Web services composition l.jpg

Web Services Composition

Incheon Paik, University of Aizu


Contents l.jpg
Contents

  • Services :Web, Grid, Semantic Web, and Ubiquitous Services

  • Web/Ubiquitous Services Composition

  • Logical Composer and Physical Composer

  • Hierarchical Task Network (HTN) Planning

  • Distributed Constraint Satisfaction Problem (DCSP)

  • HTN-CSP Combined System Framework

  • Conclusion


Web service s l.jpg
Web Services

Service:

the condition or occupation of being a servant or someone who serves.

the non-material equivalent of a good

Work carried out for or on behalf of others

Web Service: A software system designed to support interoperable Machine to Machine interaction over a network. - W3C -

Web services are frequently just Web APIs that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services.


Web service l.jpg
Web Service

  • Three Main Parts

    • Simple Object Access Protocol (SOAP)

    • Web Service Description Language (WSDL)

    • Universal Description, Discovery, and Integration (UDDI)


Web services basic architecture l.jpg
Web Services: Basic Architecture

Service

Broker

Registry; well-known

Publish or announce

(WSDL)

Find or discover

(UDDI)

Service

Provider

Service

Requestor

Bind or invoke

(SOAP)

Not well-known


Web service6 l.jpg
Web Service

  • Simple Object Access Protocol (SOAP)

    • SOAP Message

      • Envelope

      • Header : client authentication, transaction management

      • Body : include the information that a receiver should get finally

        • Fault element


Web service7 l.jpg
Web Service

  • Simple Object Access Protocol (SOAP)

    • SOAP Message

      • Envelope

      • Header : client authentication, transaction management

        • actor and mustUnderstand attribute of auth element

      • Body : include the information that a receiver should get finally,

        • Information : RPC request, RPC result, Error in execution

        • Fault element

    • SOAP Encoding

      • How to processing data

      • Ex) String title = “Book”  <title xsi:type=“xsd:string>Book</title>

      • Encoding Style attribute

        • env:encodingStyle = http://schemas.xmlsoap.org/soap/encoding/

        • Simple Type

        • Compound Type


Web service8 l.jpg
Web Service

  • SOAP Encoding

    • Compound Type

      <ns0:addBook3>

      <Book_1 href=“#ID1”/>

      </ns0:addBook3>

      <book id=“ID1” xsi:type=“ns1:Book”>

      <title xsi:type=“xsd:string”>book1</title>

      <price xsi:type=“xsd:int”>29000</price>

      </book>

      deserialization by message receiver

      Book1 Book_1 = new Book();

      Book_1.setTitle(“book1”);

      Book_1.setPrice(29000);


Web service9 l.jpg
Web Service

  • Simple Object Access Protocol (SOAP)

    • SOAP Message Transport

      • Binding : How to combine with transport protocol

      • HTTP Binding

      • HTTP: Start line, Header, Body

      • SOAPAction : For RPC


Web service10 l.jpg
Web Service

  • Web Service Definition Language(WSDL)

    • Specification of Web Service Function

    • Document Structure

<definitions>

<types>

Complex types for arguments and return types

</types>

<message>

Describe arguments and return values

</message>

<portType> // interface

<operation>

Describe remote procedures

</operation>

</ portType >

<binding>

Protocol used for invoking : SOAP(Application client), HTTP(Web Client), MIME(char & binary data)

</binding>

<service>

<port>

URL of Web Service (endpoint)

</port>

</service>

</definitions>


Web service11 l.jpg
Web Service

  • Universal Description, Discovery, and Integration (UDDI)

    • Create, Store, Search information

  • UDDI Data Structure

    • Information of White Page : Company Name, Address, Tel. No., and Description

    • Information of Yellow Page : According to Industry Classification(NAICS), According to Products(UNSPEC), and Area

    • Information of Green Page : Technical information of company, ex) end point URL, URL of WSDL document


Web service uddi l.jpg
Web Service: UDDI

<tModel>

~

</tModel>

<businessEntity>

<businessService>

<bindingTemplate>

Reference

</bindingTemplate>

</businessEntity>

<publisherAssertions>

<publisherAssertion>

Association

<publisherAssertions>

<publisherAssertion>



Web service composition stack l.jpg
Web Service Composition Stack


Web service composition concept l.jpg
Web Service Composition Concept


Semantic web l.jpg
Semantic Web

The semantic Web, aims at machines and Web users’ cooperation to augment the existing Web by giving information a well-defined meaning.

It mainly consists of machines (we say in other words, computers or agents) and information that is understood by the machines.

The information contains semantically enriched knowledge and rules represented by ontologies and rule languages.


General idea of semantic web l.jpg
General Idea of Semantic Web

Make current web more machine accessible(currently all the intelligence is in the user)

Motivating use cases:

  • Search engines

    • Concepts, not keywords

    • Semantic narrowing/widening of queries

  • Shopbots

    • Semantic interchange, not screenscraping

  • E-commerce

    • Negotiation, catalogue mapping, personalisation

  • Web Services

    • Need semantic characterisations to find them

  • Navigation

    • By semantic proximity, not hardwired links

© Michael N. Huhns


General idea of semantic web18 l.jpg
General idea of Semantic Web

Do this by:

  • Making data and metadataavailable on the Web in formal machine-understandable form

  • Structure the data and metadata in ontologies

© Michael N. Huhns


Which semantic web l.jpg

© Michael N. Huhns

Which Semantic Web?

  • Version 1:"Semantic Web as Web of Data" (TBL)

  • Recipe:expose databases on the Web, use RDF, integrate

  • Metadata from:

    • expressing DB schema semantics in machine interpretable ways

  • Enable integration and unexpected reuse


Which semantic web20 l.jpg

© Michael N. Huhns

Which Semantic Web?

  • Version 2:“Enrichment of the current Web”

  • Recipe:Annotate, classify, index

  • Metadata from:

    • automatically producing markup: named-entity recognition, concept extraction, tagging, etc.

  • Enable personalization, search, browse,..


Which semantic web21 l.jpg

© Michael N. Huhns

Which Semantic Web?

  • Version 1:“Semantic Web as Web of Data”

  • Version 2:“Enrichment of the current Web”

  • Version 3:“Semantic Web as Web of Services”

  • Different use cases

  • Different techniques

  • Different users


Ubiquitous web service composition l.jpg
Ubiquitous/Web Service Composition

  • Service composition: Process of combining different services to provide a new value-added service.

  • Infrastructure & Language of Web : OWL-S, BPEL,

  • Modeling Framework: WSMF, WSMO, METEOR-S

  • Automatic Composition:

    Logical Composition and Physical Composition


Slide23 l.jpg

Services Composition

  • Logical Composer

  • Physical Composer

  • Logical Composer Methodologies

  • Physical Composer Methodologies

  • Composition Attributes




Services composition l.jpg
Services Composition

  • To create a new value-added service from existing Web services

  • Logical Composition: Abstract Workflow

  • Physical Composition: Concrete Workflow

  • QoS Attributes : Performance, Preferences, Service Quality

  • Interactivities


Services composition27 l.jpg
Services Composition

Logical Composer

  • Logical composition process is usually carried out by creating a series of processes from a planner.

  • To develop a plan for logical composition,

    • Situation Calculus

    • HTN Planner

    • Finite Automata

  • are used.


Logical composer lc l.jpg
Logical Composer (LC)

Finite State Machine and Planner


Logical composer l.jpg
Logical Composer

Finite State Model and OWL-S


Logical composer30 l.jpg
Logical Composer

State Transition System and Plan


Logical composer31 l.jpg
Logical Composer

Example of State Transition System and Plan


Logical composer32 l.jpg
Logical Composer

Situation Calculus (Golog)


Services composition33 l.jpg
Services Composition

Physical Composer

  • Physical composer evaluates composition attributes and produces the best candidate services combination.

  • To develop a plan for physical composition,

    • Linear Programming

    • Graph Theory

    • Constraint Satisfaction Problem

  • are used.


Physical composer pc l.jpg
Physical Composer (PC)

Constraint-Based Service Composition

Define service composition problem as a COP by (X,D,C,f(sl))


Physical composer l.jpg
Physical Composer

Constraint-Based Service Composition

Define service composition problem as a COP by (X,D,C,f(sl))


Physical composer36 l.jpg
Physical Composer

Constraint-Based Service Composition


Physical composer37 l.jpg
Physical Composer

Constraint-Based Service Composition


Physical composer38 l.jpg
Physical Composer

Constraint-Based Service Composition


Physical composer39 l.jpg
Physical Composer

Constraint-Based Service Composition


Physical composer40 l.jpg
Physical Composer

Constraint-Based Service Composition


Physical composer41 l.jpg
Physical Composer

CSP Solving Algorithm


Combining lc pc l.jpg
Combining LC & PC

  • Solving real-life problems requires a set of appropriate services to be composed via planning, scheduled, and then executed.

  • Combining LC(HTN) and PC (CSP)

    • Hierarchical Task Network : Planning

    • Constraint Satisfaction Problem : Evaluation and Scheduling

  • HTN-CSP combined system


Scenario 1 l.jpg
Scenario 1

  • Chulsoo and Younghee’s Mother: Now she is complaining of pain and tingling in her legs

Prescription for

Anti-inflammatory

Drug

MRI

Electromyography

Follow-up with Physician

Make appointments for the doctor’s follow-up

Make appointments for the two treatments

Fill the Prescription

  • Preferences and Constraints

  • For the two treatments:

  • - Bill and Joan would prefer two appointment times that are close together scheduled at one or two nearby places

  • - Otherwise, they would prefer two appointment times on different days

  • After two treatments, Next doctor’s follow up

  • An appointment time must fit the schedule of the person that will drive.



Scenario 2 l.jpg
Scenario 2

By SkyLiner

  • Travel from Aizu-Wakamatsu City in Japan to Kangnung in Korea

Aizu-

Wakmatsu

JR Station

Koriyama

Shinkansen

Station

Ueno

Station

Narita

Airport

By

Bullet Train

By

Airplane

By

JR Train

Incheon

Airport

Hotel in

Kangnung

By

Bus

  • Preferences and Constraints

  • Depart from Aizu-Wakmatsu after 14:00

  • Arrive at Narita Airport before 15:00 on Oct. 15.

  • Hotel: Normal Class OK, Airplane: Business Class


Hierarchical task network htn planning l.jpg
Hierarchical Task Network (HTN) Planning

  • To produce a sequence of actions by task decomposition from large tasks

  • Similar to classical AI planning

  • Can produce plans to reach final goal, but it is not suitable for scheduling


Htn planning l.jpg
HTN Planning

  • An HTN planner consults the description of

    • Planning domain

      • Prescription for how to decompose a task into subtasks.

    • Planning problem

      • Definition of initial states and goal tasks.

  • We chose SHOP2 as our basic planner.


Planning domain example l.jpg
Planning Domain Example

: Method

(transport ?p)

task:

(at ?p ?x)

(destination ?p ?y)

(available-truck ?t)

preconditions:

: compound task

: primitive task

subtasks:

: state

(dispatch ?t ?x)

(!load ?t ?p)

(!move ?t ?x ?y)

(return ?t ?y)

(dispatch ?t ?x)

(return ?t ?y)

task:

task:

subtasks:

subtasks:

(!reserve ?t)

(!move ?t home ?x)

(!move ?t ?x home)

(!free ?t)


Constraint satisfaction problem csp l.jpg
Constraint Satisfaction Problem (CSP)

  • CSP is a triple <X, D, C> where:

    • X is a set of variables {X1, X2, …, Xn}.

    • D is a set of (variable) domains{D1, D2, …, Dn}.Di is a set of possible values for Xi.

    • C is a set of constraints {C1, C2, …, Cm} on assignments to X.


Slide50 l.jpg
CSP

  • The solution to a CSP is a complete assignment of a value in Di to each variable Xi that satisfies all the const-raints Cj.

  • General complex problems can be represented as simple assignment problems.


Distributed csp l.jpg
Distributed CSP

  • CSP solved by automated agents

Variable

Constraint

Agent


Htn only system framework l.jpg

Web Services

Hotel Reservation WS

Train Timetable WS

Airplane Timetable WS

HTN-Only System Framework

plan

inputdata

HTN

Planner

Input

Domain

Analyzer

Web

Service

Executor

planning

problem


Htn only system framework53 l.jpg

Web Services

Hotel Reservation WS

Train Timetable WS

Airplane Timetable WS

HTN-Only System Framework

I'd like to make a trip next week.I want to departAizu-wakamatsu at 14:00 and arrive at San-Francisco.

plan

Departure Location = Aizuwakamatsu

Departure Time = 14:00

Departure Date = Feb. 21, 2006

Arrival Location = San-Francisco

inputdata

HTN

Planner

Input

Domain

Analyzer

Web

Service

Executor

planning

problem


Htn only system framework54 l.jpg

Web Services

initial states:

(departure-location aizu-wakamatsu)

(departure-time _1400)

(departure-date _20060221)

(arrival-location san-francisco))

Hotel Reservation WS

Train Timetable WS

(trip)

goal task:

Airplane Timetable WS

HTN-Only System Framework

plan

inputdata

HTN

Planner

Input

Domain

Analyzer

Web

Service

Executor

planning

problem


Htn only system framework55 l.jpg

Web Services

(travel ?from ?to)

task:

Hotel Reservation WS

preconditions:

Train Timetable WS

. . .

subtasks:

Airplane Timetable WS

(travel-by-train

?from ?via)

(travel-by-airplane

?via ?to)

(available-train JR-Banetsu-West-Line

aizu-wakamatsu _0600 koriyama _0712)

. . .

HTN-Only System Framework

plan

inputdata

HTN

Planner

Input

Domain

Analyzer

Web

Service

Executor

planning

problem


Htn only system framework56 l.jpg

Web Services

Hotel Reservation WS

Train Timetable WS

Airplane Timetable WS

HTN-Only System Framework

(!travel-by-train JR-Banetsu-West-Line

aizu-wakamatsu _1413 _20060221 koriyama _1513 _ 20060221)

(!travel-by-train Tsubasa-186

koriyama _1525 _ 20060221

tokyo _1648 _ 20060221)

(!travel-by-train Narita-Express-37

tokyo _1703 _ 20060221

narita _1757 _ 20060221)

(!travel-by-airplane ANA-B2

narita _2000 _ 20060221

san-francisco _1100 _ 20060221)

plan

inputdata

HTN

Planner

Input

Domain

Analyzer

Web

Service

Executor

planning

problem


Htn csp combined system framework l.jpg

Web Services

Hotel Reservation WS

Train Timetable WS

Airplane Timetable WS

HTN-CSP Combined System Framework

plan

Web

Service

Executor

inputdata

HTN

Planner

Input

Domain

Analyzer

CSP

Constructor

CSP

Solver

planning

problem

CSP

representation

CSP

tuple


Slide58 l.jpg

CSP Constructor

HTN Planner

Domain Analyzer

Goal

Variable Representation

Trip

<Z, D, C>

Z: variables

D: domains

C: constraints

Domain Representation

Sub-Goal

Sub-Goal

Shopping

Constraint Representation

Trip

Domain

Trip

Domain

Knowledge Base

Ontology

Knowledge Base

Ontology

Knowledge Base

Ontology

Information needed for

constructing CSP tuple

Information needed for

HTN planning

Information needed for

Domain Analysis

Request Data

defined with

Ontology

CSP Solver

Web Service

UDDI

Master-Layer

Sub-Layer

Hotel

Reservation

Web Service

Dynamic Request

Hotel

Label

Assigner

Robot with

Situation Calculus

Train

Timetable

Web Service

Assigner Management

Control

Train

Label

Assigner

Worldwide

Web Service

Constraint Check

Airplane

Timetable

Web Service

Knowledge Base

Assigner Repository

Constraint-satisfied Label

Which assigner

should be applied.


Htn csp combined system framework59 l.jpg

Web Services

initial states:

(departure-location aizu-wakamatsu)

(departure-time _1400)

(departure-date _20060221)

(arrival-location san-francisco))

Hotel Reservation WS

Train Timetable WS

(trip-generate-csp)

Airplane Timetable WS

goal task:

HTN-CSP Combined System Framework

plan

Web

Service

Executor

inputdata

HTN

Planner

Input

Domain

Analyzer

CSP

Constructor

CSP

Solver

planning

problem

CSP

representation

CSP

tuple


Htn csp combined system framework60 l.jpg

Web Services

Hotel Reservation WS

Train Timetable WS

Airplane Timetable WS

HTN-CSP Combined System Framework

(travel-by-train ?from ?to)

task:

preconditions:

plan

. . .

subtasks:

Web

Service

Executor

(!identify-variable

(departure-date ?from))

(!identify-constraint

(equal-less-than

(departure-date ?from)

(arrival-date ?to)))

inputdata

HTN

Planner

Input

Domain

Analyzer

CSP

Constructor

CSP

Solver

planning

problem

CSP

representation

CSP

tuple


Htn csp combined system framework61 l.jpg

Web Services

Hotel Reservation WS

Train Timetable WS

Airplane Timetable WS

HTN-CSP Combined System Framework

plan

(variable

(departure-date

aizu-wakamatsu))

(constraint

(equal-less-than

(departure-date koriyama)

(arrival-date aizu-wakamatsu)))

Web

Service

Executor

inputdata

HTN

Planner

Input

Domain

Analyzer

CSP

Constructor

CSP

Solver

planning

problem

CSP

representation

CSP

tuple


Htn csp combined system framework62 l.jpg

Web Services

Hotel Reservation WS

Train Timetable WS

Airplane Timetable WS

HTN-CSP Combined System Framework

Variable 1 : (departure-date aizu-wakamatsu)

Variable 2 : (departure-time aizu-wakamatsu)

Domain 2 : empty(need to get domain from Web service)

Variable 3 : (riding-duration aizu-wakamatsu koriyama)

Domain 3 : empty(need to get domain from Web service)

Variable 4 : (arrival-time koriyama)

Constraint 1 : ((V2 + V3) = V4)

. . .

plan

Web

Service

Executor

Domain 2 : {6:00, 6:37, 7:35, 8:18, 9:13, 10:00, . . .}

Domain 3 : {1:12, 1:14, 1:12, 1:04, 1:00, 1:14, . . .}

. . .

inputdata

HTN

Planner

Input

Domain

Analyzer

CSP

Constructor

CSP

Solver

planning

problem

CSP

representation

CSP

tuple


Htn csp combined system framework63 l.jpg

Web Services

Hotel Reservation WS

Train Timetable WS

Airplane Timetable WS

HTN-CSP Combined System Framework

(riding-duration tokyo narita) = 0:54

(riding-duration koriyama tokyo) = 1:23

(riding-duration aizu-wakamatsu koriyama) = 1:00

(departure-time tokyo) = 17:03

(departure-time koriyama) = 15:25

(departure-time aizu-wakamatsu) = 14:13

(departure-date tokyo) = 2006/2/21

(departure-date koriyama) = 2006/2/21

(departure-date aizu-wakamatsu) = 2006/2/21

(arrival-time tokyo) = 16:48

(arrival-time narita) = 17:57

(arrival-time koriyama) = 15:13

(arrival-date tokyo) = 2006/2/21

(arrival-date narita) = 2006/2/21

(arrival-date koriyama) = 2006/2/21

(departure-time narita) = 20:00

(departure-date narita) = 2006/2/21

(arrival-time san-francisco) = 11:00

(arrival-date san-francisco) = 2006/2/21

plan

Web

Service

Executor

inputdata

HTN

Planner

Input

Domain

Analyzer

CSP

Constructor

CSP

Solver

planning

problem

CSP

representation

CSP

tuple



Advantage of the htn csp combined system l.jpg
Advantage of the HTN-CSP Combined System

  • Efficiency in Development

    • HTN-CSP combined system:

      • Can deal with many procedure steps and parameters which are necessary in Web service composition.

    • HTN-only system:

      • We need to implement many complicated processes in function poorly SHOP2 formalism.

      • There are no efficient development environment for the descriptions of SHOP2.


Advantage of the htn csp combined system66 l.jpg
Advantage of the HTN-CSP Combined System

  • Flexibility

    • HTN-CSP combined system:

      • As a result of combining the CSP and HTN planner, complex problems which are difficult to represent by one of two can be expressed easily.

    • HTN-only system:

      • The limitations of Web service composition by planner only produce some kind of scenarios that are hard to be solved.


Advantage of the htn csp combined system67 l.jpg
Advantage of the HTN-CSP Combined System

  • Extensibility

    • HTN-CSP combined system:

      • It is easy to add new features compared to the HTN-only system.

      • Various algorithms for solving CSPs have been developed by researchers.

    • HTN-only system:

      • To add new features, the planning domain will be rewritten with high cost in many cases.


Conclusion l.jpg
Conclusion

  • Suggested a Novel Architecture for Automatic Web Service Composition : HTN-CSP combined system

    • A way to combine LC and PC

  • Future Works

    • Automating Combining HTN and CSP

    • Full Automating Problem Solving (Ubiquitous -Web Service Composition) Under Semantic Web Service Environment Using This Frame-work.