a bottom-up approach to automating web service discovery, customization, and semantic translation

27
A Bottom-Up Approach A Bottom-Up Approach to Automating Web to Automating Web Service Discovery, Service Discovery, Customization, and Customization, and Semantic Translation Semantic Translation Dan Mandell and Sheila Dan Mandell and Sheila McIlraith McIlraith Knowledge Systems Lab Knowledge Systems Lab Stanford University Stanford University ESSW 2003 ESSW 2003

Upload: parry

Post on 18-Jan-2016

39 views

Category:

Documents


1 download

DESCRIPTION

A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation. Dan Mandell and Sheila McIlraith Knowledge Systems Lab Stanford University ESSW 2003. Overview. Bottom-Up approach Motivating example BPEL4WS and automated Web service execution - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

A Bottom-Up Approach to A Bottom-Up Approach to Automating Web Service Automating Web Service

Discovery, Customization, Discovery, Customization, and Semantic Translationand Semantic Translation

Dan Mandell and Sheila McIlraithDan Mandell and Sheila McIlraithKnowledge Systems LabKnowledge Systems Lab

Stanford UniversityStanford University

ESSW 2003ESSW 2003

Page 2: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

OverviewOverview

Bottom-Up approachBottom-Up approach Motivating exampleMotivating example BPEL4WS and automated Web service BPEL4WS and automated Web service

executionexecution The Semantic Discovery Service (SDS) The Semantic Discovery Service (SDS)

and automated Web service discovery, and automated Web service discovery, customization, and semantic translationcustomization, and semantic translation

Summary: contributions, future directionsSummary: contributions, future directions

Page 3: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

A Bottom-Up ApproachA Bottom-Up Approach

Web services long-term goal: seamless Web services long-term goal: seamless interoperation between programs and devicesinteroperation between programs and devices

Industry provides standards, computing Industry provides standards, computing infrastructure, and recently choreography infrastructure, and recently choreography models akin to work in models akin to work in process modelingprocess modeling

These include WSCI, BPML, XLANG, WSFL, These include WSCI, BPML, XLANG, WSFL, WSCL, WSFL, WSCL, BPSS, now BPEL4WSWSCL, WSFL, WSCL, BPSS, now BPEL4WS

Still far from seamless interoperationStill far from seamless interoperation

Page 4: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

A Bottom-Up ApproachA Bottom-Up Approach

In parallel, Semantic Web community has In parallel, Semantic Web community has developed languages and computing machinery developed languages and computing machinery for authoring and reasoning about unambiguous, for authoring and reasoning about unambiguous, machine interpretable Web contentmachine interpretable Web content

Efforts are based on AI technology, and include Efforts are based on AI technology, and include RDF, RDF(S), DAML+OIL, DAML-S, and OWLRDF, RDF(S), DAML+OIL, DAML-S, and OWL

Though powerful, these efforts remain largely Though powerful, these efforts remain largely disconnected from industrial standards and disconnected from industrial standards and infrastructureinfrastructure

Page 5: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

A Bottom-Up ApproachA Bottom-Up Approach

We argue that:We argue that: Web Services must embrace representation and Web Services must embrace representation and

reasoning ideas from Semantic Web communityreasoning ideas from Semantic Web community Must also recognize evolutionary influence of industry Must also recognize evolutionary influence of industry

standards and machinery on Semantic Web services standards and machinery on Semantic Web services From this viewpoint, we build on BPEL4WSFrom this viewpoint, we build on BPEL4WS

A leading process modeling frameworkA leading process modeling framework Co-authored by IBM, Microsoft, BEA, SAP, SiebelCo-authored by IBM, Microsoft, BEA, SAP, Siebel Merges ideas from XLANG and WSFLMerges ideas from XLANG and WSFL

Integrate Semantic Web technology to enable Integrate Semantic Web technology to enable automated service discovery, customization, and automated service discovery, customization, and semantic translationsemantic translation

Page 6: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

A Motivating ExampleA Motivating Example

Consider integrating services to provide a loan Consider integrating services to provide a loan finding service:finding service:

Possible scenario:Possible scenario: User sends loan request to loan finding serviceUser sends loan request to loan finding service Loan finder distributes work among 2 partnersLoan finder distributes work among 2 partners

• Credit Assessor ServiceCredit Assessor Service Consumes user’s personal infoConsumes user’s personal info Produces a credit reportProduces a credit report

• Loan Lender ServiceLoan Lender Service Consumes a credit report and a loan requestConsumes a credit report and a loan request Produces a rejection or a loan offer and its termsProduces a rejection or a loan offer and its terms

Loan finder invokes credit assessor for a credit report, Loan finder invokes credit assessor for a credit report, passes report to lender service, receives result and passes report to lender service, receives result and returns it to the userreturns it to the user

Page 7: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

A Motivating ExampleA Motivating Example

Possible scenario:Possible scenario:

Page 8: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

A Motivating ExampleA Motivating Example

Questions:Questions: How are the service partnersHow are the service partners

• Selected?Selected?• Ordered?Ordered?• Invoked?Invoked?• Integrated?Integrated?

Page 9: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

BPEL4WS - Automated BPEL4WS - Automated Service ExecutionService Execution

BPEL4WSBPEL4WS A BPEL4WS documentA BPEL4WS document

• Provides notation for describing WS interactions as Provides notation for describing WS interactions as business processesbusiness processes, following in tradition of , following in tradition of workflow modelingworkflow modeling

• Integrates services by treating them as Integrates services by treating them as partnerspartners that fill that fill rolesroles in a in a process modelprocess model

• Directs workflow using traditional control Directs workflow using traditional control constructs: constructs: if, then, else, while-loopif, then, else, while-loop

Communication level params (e.g. service Communication level params (e.g. service partner bindings) are described in partner bindings) are described in accompanying WSDL docsaccompanying WSDL docs

Page 10: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

BPEL4WS - Automated BPEL4WS - Automated Service ExecutionService Execution

BPWS4JBPWS4J Engine released by IBM alongside BPEL4WSEngine released by IBM alongside BPEL4WS Implements subset of features defined in Implements subset of features defined in

BPEL4WSBPEL4WS Consumes a BPEL4WS doc along with Consumes a BPEL4WS doc along with

accompanying WSDL docs defining service accompanying WSDL docs defining service partner bindings to physical portspartner bindings to physical ports

Establishes a single endpoint for accessing Establishes a single endpoint for accessing BPEL4WS process as a Web serviceBPEL4WS process as a Web service

Page 11: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

BPEL4WS - Automated BPEL4WS - Automated Service ExecutionService Execution

BPEL4WS and the loan exampleBPEL4WS and the loan example A service provider writes a BPEL4WS doc A service provider writes a BPEL4WS doc

describing the loan finding process model -- a describing the loan finding process model -- a program that orchestrates interaction of the program that orchestrates interaction of the service partnersservice partners

BPEL4WS allows service partners to be BPEL4WS allows service partners to be unbound to physical ports until runtime through unbound to physical ports until runtime through dynamic assignment of Service Referencesdynamic assignment of Service References

Current implementation of BPWS4J does not Current implementation of BPWS4J does not implement Service Reference assignment, so implement Service Reference assignment, so author selects service partners at design timeauthor selects service partners at design time

Page 12: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

BPEL4WS - Automated BPEL4WS - Automated Service ExecutionService Execution

Critical analysis of BPEL4WS automation:Critical analysis of BPEL4WS automation: Limitations in BPWS4JLimitations in BPWS4J

• Service provider assigns partners Service provider assigns partners a prioria priori• System cannot customize partner selection for each System cannot customize partner selection for each

user. Suboptimal partners may be selected becauseuser. Suboptimal partners may be selected because Service provider may lack full list of potential partners at Service provider may lack full list of potential partners at

design timedesign time Difficult to find single solution that generalizes for all usersDifficult to find single solution that generalizes for all users

• Loan finder example: user may wish to use in-state Loan finder example: user may wish to use in-state lender to benefit from in-state tax incentiveslender to benefit from in-state tax incentives

• If service provider defines lending partner prior to If service provider defines lending partner prior to receiving user’s request, the preference is ignoredreceiving user’s request, the preference is ignored

Page 13: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

BPEL4WS - Automated BPEL4WS - Automated Service ExecutionService Execution

Critical analysis of BPEL4WS automation:Critical analysis of BPEL4WS automation: Limitations in BPWS4JLimitations in BPWS4J

• Manually discovering, selecting and integrating the Manually discovering, selecting and integrating the service partners means significant responsibilty and service partners means significant responsibilty and maintenance time demands for the service providermaintenance time demands for the service provider

Page 14: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

BPEL4WS - Automated BPEL4WS - Automated Service ExecutionService Execution

Critical analysis of BPEL4WS automation:Critical analysis of BPEL4WS automation: Limitations in BPEL4WSLimitations in BPEL4WS

• Relies on expressivity of XML / XML Schema Relies on expressivity of XML / XML Schema • Interface-oriented: insufficient for automating many Interface-oriented: insufficient for automating many

tasks. tasks. • E.g., credit assessor for an ex-UK resident provides E.g., credit assessor for an ex-UK resident provides UKCreditReportUKCreditReports, while lending service s, while lending service comsumes comsumes USCreditReportUSCreditReports. Even if differ only in s. Even if differ only in representation of dates, failing to recognize their representation of dates, failing to recognize their semantic compatibility leaves a potentially semantic compatibility leaves a potentially successful integration unrealizedsuccessful integration unrealized

• Need service-oriented descriptions of service form Need service-oriented descriptions of service form and function in an well-defined ontology languageand function in an well-defined ontology language

Page 15: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

Automated, Customized, Automated, Customized, Service Discovery with SDS Service Discovery with SDS

To alleviate shortcomings in BPEL4WS / To alleviate shortcomings in BPEL4WS / BPWS4J, introduce a Semantic Discovery BPWS4J, introduce a Semantic Discovery Service (SDS) to enableService (SDS) to enable automated service discoveryautomated service discovery automated service customizationautomated service customization automated semantic translationautomated semantic translation

Use Semantic Web technologies to enable Use Semantic Web technologies to enable description of services in computer description of services in computer interpretable format and discovery of interpretable format and discovery of services with desirable propertiesservices with desirable properties

Page 16: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

Automated, Customized, Automated, Customized, Service Discovery with SDS Service Discovery with SDS

Supporting technologiesSupporting technologies DAML-S: A well-defined ontology based on DAML-S: A well-defined ontology based on

DAML+OIL, used to describe servicesDAML+OIL, used to describe services DAML Query Language (DQL): Language and DAML Query Language (DQL): Language and

protocol used for querying repositories of protocol used for querying repositories of DAML-S service profiles. DQL server DAML-S service profiles. DQL server interfaces with interfaces with automated reasoner automated reasoner operating operating over over knowledge baseknowledge base (KB) of DAML-S profiles (KB) of DAML-S profiles

Java Theorem Prover (JTP): Hybrid reasoning Java Theorem Prover (JTP): Hybrid reasoning system based on FOL model elimination. system based on FOL model elimination. Use as DQL server’s automated reasonerUse as DQL server’s automated reasoner

Page 17: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

Automated, Customized, Automated, Customized, Service Discovery with SDS Service Discovery with SDS

Form and function of the SDSForm and function of the SDS Sits between a BPWS4J process and Sits between a BPWS4J process and

potential service partnerspotential service partners Locates appropriate partners, acts as Locates appropriate partners, acts as

dynamic proxy between them and BPWS4Jdynamic proxy between them and BPWS4J

Page 18: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

Automated, Customized, Automated, Customized, Service Discovery with SDS Service Discovery with SDS

The SDS is portable between BPWS4J The SDS is portable between BPWS4J actions and processes because it is:actions and processes because it is: Agnostic as to the content of the service Agnostic as to the content of the service

descriptions and invocation messages it descriptions and invocation messages it receivesreceives

Stateless, with no knowledge of prior Stateless, with no knowledge of prior interactions or service-specific propertiesinteractions or service-specific properties

The SDS enables automated The SDS enables automated service service customizationcustomization and and semantic translationsemantic translation

Page 19: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

Automated, Customized, Automated, Customized, Service Discovery with SDS Service Discovery with SDS

Automated service customizationAutomated service customization When SDS receives invocation request from When SDS receives invocation request from

BPWS4J, discovers a service partner meeting user BPWS4J, discovers a service partner meeting user and functional constraints as followsand functional constraints as follows

1.1. DAML-S functional and user-supplied restrictions are wrapped into a DAML-S functional and user-supplied restrictions are wrapped into a DQL query and sent to the DQL serverDQL query and sent to the DQL server

2.2. Server invokes JTP reasoner to compute set of matching DAML-S Server invokes JTP reasoner to compute set of matching DAML-S profiles in the KBprofiles in the KB

3.3. SDS selects partner from DQL answer bundles and invokes it with SDS selects partner from DQL answer bundles and invokes it with the request parametersthe request parameters

4.4. Partner executes, responds to SDS, forwarded to BPWS4JPartner executes, responds to SDS, forwarded to BPWS4J

5.5. BPWS4J recovers flow control, continues executing process, invokes BPWS4J recovers flow control, continues executing process, invokes SDS when customized Web service invocation neededSDS when customized Web service invocation needed

Page 20: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

Automated, Customized, Automated, Customized, Service Discovery with SDS Service Discovery with SDS

Interaction flow between BPWS4J, SDS, DQL Interaction flow between BPWS4J, SDS, DQL server, and discovered service partnersserver, and discovered service partners

Page 21: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

Automated, Customized, Automated, Customized, Service Discovery with SDS Service Discovery with SDS

Automated semantic translationAutomated semantic translation In the Web services context, In the Web services context, semantic semantic

translationtranslation means redefining well-defined data means redefining well-defined data types in terms of their relationships to each types in terms of their relationships to each other via translational axiomsother via translational axioms

Enables integration of service partners Enables integration of service partners operating on messages that differ syntactically operating on messages that differ syntactically but are semantically translatablebut are semantically translatable

Page 22: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

Automated, Customized, Automated, Customized, Service Discovery with SDS Service Discovery with SDS

Automated semantic translationAutomated semantic translation SDS provides automated semantic translation SDS provides automated semantic translation

for Web service discoveryfor Web service discovery Uses a back-chaining algorithm to find Uses a back-chaining algorithm to find

sequence of service invocations, or sequence of service invocations, or service service chainchain, which consumes the input supplied by , which consumes the input supplied by BPWS4J and produces the output desired by BPWS4J and produces the output desired by BPWS4JBPWS4J

Uses translational axioms encoded as Web Uses translational axioms encoded as Web services to integrate partner inputs and outputsservices to integrate partner inputs and outputs

Page 23: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

Automated, Customized, Automated, Customized, Service Discovery with SDS Service Discovery with SDS

SDS and the loan exampleSDS and the loan example Recall ex-UK resident seeking a loan from Recall ex-UK resident seeking a loan from

an in-state lenderan in-state lender BPWS4J could not satisfy request given BPWS4J could not satisfy request given

the constraintsthe constraints• Credit assessor produces Credit assessor produces UKCreditReportUKCreditReport, ,

lender consumes lender consumes USCreditReportUSCreditReport•UKCreditReportUKCreditReport represents dates as represents dates as MM/DD/YYYYMM/DD/YYYY, US version uses , US version uses DD/MM/YYYYDD/MM/YYYY

Page 24: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

Automated, Customized, Automated, Customized, Service Discovery with SDS Service Discovery with SDS

SDS and the loan exampleSDS and the loan example With SDS, the request is satisfiableWith SDS, the request is satisfiable

• Automated service customization: include DAML-S Automated service customization: include DAML-S restriction that lender partner be physically located in restriction that lender partner be physically located in the user’s state in request messagethe user’s state in request message

• Automated semantic translation: back-chaining Automated semantic translation: back-chaining algorithm inserts a algorithm inserts a DateTranslatorDateTranslator translational translational axiom: axiom:

DateTranslatorDateTranslator translates between translates between UKCreditReportUKCreditReport and and USCreditReportUSCreditReport

Forms service chain (Forms service chain (AssessorAssessor -> -> DateTranslatorDateTranslator -> -> LenderLender) which can successfully complete request) which can successfully complete request

Page 25: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

SummarySummary

Seamless interoperability is critical for Seamless interoperability is critical for Web services to provide an infrastructure Web services to provide an infrastructure for ubiquitous computingfor ubiquitous computing

Towards this goal, the bottom-up Towards this goal, the bottom-up approach brings Semantic Web approach brings Semantic Web technology to industrial standards and technology to industrial standards and computing machinerycomputing machinery

Page 26: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

SummarySummary

By integrating the SDS with BPEL4WS, By integrating the SDS with BPEL4WS, the industrial system gained the following the industrial system gained the following abilities:abilities: Automatic, runtime binding of service partnersAutomatic, runtime binding of service partners Selection between multiple service partners Selection between multiple service partners

based on user-defined constraintsbased on user-defined constraints Integration of service partners with Integration of service partners with

syntactically distinct but semantically syntactically distinct but semantically translatable service descriptionstranslatable service descriptions

Page 27: A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation

SummarySummary

To work towards seamless interoperation, it is To work towards seamless interoperation, it is critical that:critical that: Web service providers publish descriptions of Web service providers publish descriptions of

Web service form and function in a well-Web service form and function in a well-defined ontology language like DAML-Sdefined ontology language like DAML-S

Web service interoperation frameworks Web service interoperation frameworks embed semantic technology into their systems embed semantic technology into their systems and specificaitons that is capable of reasoning and specificaitons that is capable of reasoning about such descriptionsabout such descriptions