270 likes | 402 Views
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
E N D
A Bottom-Up Approach to Automating Web Service Discovery, Customization, and Semantic Translation Dan Mandell and Sheila McIlraithKnowledge Systems LabStanford University ESSW 2003
Overview • Bottom-Up approach • Motivating example • BPEL4WS and automated Web service execution • The Semantic Discovery Service (SDS) and automated Web service discovery, customization, and semantic translation • Summary: contributions, future directions
A Bottom-Up Approach • Web services long-term goal: seamless interoperation between programs and devices • Industry provides standards, computing infrastructure, and recently choreography models akin to work in process modeling • These include WSCI, BPML, XLANG, WSFL, WSCL, WSFL, WSCL, BPSS, now BPEL4WS • Still far from seamless interoperation
A Bottom-Up Approach • In parallel, Semantic Web community has developed languages and computing machinery for authoring and reasoning about unambiguous, machine interpretable Web content • Efforts are based on AI technology, and include RDF, RDF(S), DAML+OIL, DAML-S, and OWL • Though powerful, these efforts remain largely disconnected from industrial standards and infrastructure
A Bottom-Up Approach • We argue that: • Web Services must embrace representation and reasoning ideas from Semantic Web community • Must also recognize evolutionary influence of industry standards and machinery on Semantic Web services • From this viewpoint, we build on BPEL4WS • A leading process modeling framework • Co-authored by IBM, Microsoft, BEA, SAP, Siebel • Merges ideas from XLANG and WSFL • Integrate Semantic Web technology to enable automated service discovery, customization, and semantic translation
A Motivating Example • Consider integrating services to provide a loan finding service: • Possible scenario: • User sends loan request to loan finding service • Loan finder distributes work among 2 partners • Credit Assessor Service • Consumes user’s personal info • Produces a credit report • Loan Lender Service • Consumes a credit report and a loan request • Produces a rejection or a loan offer and its terms • Loan finder invokes credit assessor for a credit report, passes report to lender service, receives result and returns it to the user
A Motivating Example • Possible scenario:
A Motivating Example • Questions: • How are the service partners • Selected? • Ordered? • Invoked? • Integrated?
BPEL4WS - Automated Service Execution • BPEL4WS • A BPEL4WS document • Provides notation for describing WS interactions as business processes, following in tradition of workflow modeling • Integrates services by treating them as partners that fill roles in a process model • Directs workflow using traditional control constructs: if, then, else, while-loop • Communication level params (e.g. service partner bindings) are described in accompanying WSDL docs
BPEL4WS - Automated Service Execution • BPWS4J • Engine released by IBM alongside BPEL4WS • Implements subset of features defined in BPEL4WS • Consumes a BPEL4WS doc along with accompanying WSDL docs defining service partner bindings to physical ports • Establishes a single endpoint for accessing BPEL4WS process as a Web service
BPEL4WS - Automated Service Execution • BPEL4WS and the loan example • A service provider writes a BPEL4WS doc describing the loan finding process model -- a program that orchestrates interaction of the service partners • BPEL4WS allows service partners to be unbound to physical ports until runtime through dynamic assignment of Service References • Current implementation of BPWS4J does not implement Service Reference assignment, so author selects service partners at design time
BPEL4WS - Automated Service Execution • Critical analysis of BPEL4WS automation: • Limitations in BPWS4J • Service provider assigns partners a priori • System cannot customize partner selection for each user. Suboptimal partners may be selected because • Service provider may lack full list of potential partners at design time • Difficult to find single solution that generalizes for all users • Loan finder example: user may wish to use in-state lender to benefit from in-state tax incentives • If service provider defines lending partner prior to receiving user’s request, the preference is ignored
BPEL4WS - Automated Service Execution • Critical analysis of BPEL4WS automation: • Limitations in BPWS4J • Manually discovering, selecting and integrating the service partners means significant responsibilty and maintenance time demands for the service provider
BPEL4WS - Automated Service Execution • Critical analysis of BPEL4WS automation: • Limitations in BPEL4WS • Relies on expressivity of XML / XML Schema • Interface-oriented: insufficient for automating many tasks. • E.g., credit assessor for an ex-UK resident provides UKCreditReports, while lending service comsumes USCreditReports. Even if differ only in representation of dates, failing to recognize their semantic compatibility leaves a potentially successful integration unrealized • Need service-oriented descriptions of service form and function in an well-defined ontology language
Automated, Customized, Service Discovery with SDS • To alleviate shortcomings in BPEL4WS / BPWS4J, introduce a Semantic Discovery Service (SDS) to enable • automated service discovery • automated service customization • automated semantic translation • Use Semantic Web technologies to enable description of services in computer interpretable format and discovery of services with desirable properties
Automated, Customized, Service Discovery with SDS • Supporting technologies • DAML-S: A well-defined ontology based on DAML+OIL, used to describe services • DAML Query Language (DQL): Language and protocol used for querying repositories of DAML-S service profiles. DQL server interfaces with automated reasoner operating over knowledge base (KB) of DAML-S profiles • Java Theorem Prover (JTP): Hybrid reasoning system based on FOL model elimination. Use as DQL server’s automated reasoner
Automated, Customized, Service Discovery with SDS • Form and function of the SDS • Sits between a BPWS4J process and potential service partners • Locates appropriate partners, acts as dynamic proxy between them and BPWS4J
Automated, Customized, Service Discovery with SDS • The SDS is portable between BPWS4J actions and processes because it is: • Agnostic as to the content of the service descriptions and invocation messages it receives • Stateless, with no knowledge of prior interactions or service-specific properties • The SDS enables automated service customization and semantic translation
Automated, Customized, Service Discovery with SDS • Automated service customization • When SDS receives invocation request from BPWS4J, discovers a service partner meeting user and functional constraints as follows • DAML-S functional and user-supplied restrictions are wrapped into a DQL query and sent to the DQL server • Server invokes JTP reasoner to compute set of matching DAML-S profiles in the KB • SDS selects partner from DQL answer bundles and invokes it with the request parameters • Partner executes, responds to SDS, forwarded to BPWS4J • BPWS4J recovers flow control, continues executing process, invokes SDS when customized Web service invocation needed
Automated, Customized, Service Discovery with SDS Interaction flow between BPWS4J, SDS, DQL server, and discovered service partners
Automated, Customized, Service Discovery with SDS • Automated semantic translation • In the Web services context, semantic translation means redefining well-defined data types in terms of their relationships to each other via translational axioms • Enables integration of service partners operating on messages that differ syntactically but are semantically translatable
Automated, Customized, Service Discovery with SDS • Automated semantic translation • SDS provides automated semantic translation for Web service discovery • Uses a back-chaining algorithm to find sequence of service invocations, or service chain, which consumes the input supplied by BPWS4J and produces the output desired by BPWS4J • Uses translational axioms encoded as Web services to integrate partner inputs and outputs
Automated, Customized, Service Discovery with SDS • SDS and the loan example • Recall ex-UK resident seeking a loan from an in-state lender • BPWS4J could not satisfy request given the constraints • Credit assessor produces UKCreditReport, lender consumes USCreditReport • UKCreditReport represents dates as MM/DD/YYYY, US version uses DD/MM/YYYY
Automated, Customized, Service Discovery with SDS • SDS and the loan example • With SDS, the request is satisfiable • Automated service customization: include DAML-S restriction that lender partner be physically located in the user’s state in request message • Automated semantic translation: back-chaining algorithm inserts a DateTranslator translational axiom: • DateTranslator translates between UKCreditReport and USCreditReport • Forms service chain (Assessor -> DateTranslator -> Lender) which can successfully complete request
Summary • Seamless interoperability is critical for Web services to provide an infrastructure for ubiquitous computing • Towards this goal, the bottom-up approach brings Semantic Web technology to industrial standards and computing machinery
Summary • By integrating the SDS with BPEL4WS, the industrial system gained the following abilities: • Automatic, runtime binding of service partners • Selection between multiple service partners based on user-defined constraints • Integration of service partners with syntactically distinct but semantically translatable service descriptions
Summary • To work towards seamless interoperation, it is critical that: • Web service providers publish descriptions of Web service form and function in a well-defined ontology language like DAML-S • Web service interoperation frameworks embed semantic technology into their systems and specificaitons that is capable of reasoning about such descriptions