a reuse based approach to the correct and automatic web
play

A reuse-based approach to the correct and automatic web service - PowerPoint PPT Presentation

A reuse-based approach to the correct and automatic web service composition Paola Inverardi and Massimo Tivoli University of LAquila Dep. Computer Science {inverard, tivoli}@di.univaq.it Application domain Distributed business


  1. A reuse-based approach to the correct and automatic web service composition Paola Inverardi and Massimo Tivoli University of L’Aquila Dep. Computer Science {inverard, tivoli}@di.univaq.it

  2. Application domain • Distributed business processes that cross organizational boundaries • e-Government, e-Commerce, e-Banking • They can be implemented by performing service composition • i.e., as novel services that correctly orchestrate existing services • Handcrafted service composition is supported but it is still a difficult activity

  3. Our goal • Automatic service composition • to build a new service as an automatic and correct composition of existing services • based on our previous work on component assembly (the SYNTHESIS tool) • web services (WSs)

  4. Setting the context • A centralized repository • e.g., UDDI registry • Each existing WS publishes its complete SLS • e.g., WSDL + BPEL in the context of WSs • The architect of the new WS specifies its partial SLS

  5. Method’s overview existing web services SYNTHESIS WS1 (for web services) LTS1 (WSDL + . BPEL) . . . . composite service . . implementation . . . CWS WSn . (WSDL + LTScws (WSDL + LTSn BPEL) BPEL) composite service specification CWS (WSDL + operation partial correspondence BPEL) vectors

  6. Explanatory example... continuing • 2 existing WSs: LIB and PAY • LIB is an old electronic library • PAY provides an on-line payment capability • 1 new WS to be built: CWS • CWS is a new electronic library providing an on- line payment capability

  7. Explanatory example... continuing • INPUT 1 : WSDL + BPEL spec. of PAY

  8. Explanatory example... continuing • INPUT 1 : WSDL + BPEL spec. of PAY WSDL <definitions ... <portType name="PAY_PT"> <operation name="login"> ... </operation> <operation name="logout"> ... </operation> <operation name="pay"> ... </operation> </portType> ... <role name="PAY"> <portType name="PAY_PT"/> </role> <service name="PAY_BP"/> </definitions>

  9. Explanatory example... continuing • INPUT 1 : WSDL + BPEL spec. of PAY WSDL <definitions ... <portType name="PAY_PT"> <operation name="login"> ... </operation> <operation name="logout"> ... </operation> <operation name="pay"> ... </operation> </portType> ... <role name="PAY"> <portType name="PAY_PT"/> </role> <service name="PAY_BP"/> </definitions>

  10. Explanatory example... continuing • INPUT 1 : WSDL + BPEL spec. of PAY WSDL <definitions ... <portType name="PAY_PT"> <operation name="login"> ... </operation> <operation name="logout"> ... </operation> <operation name="pay"> ... </operation> </portType> ... <role name="PAY"> <portType name="PAY_PT"/> </role> <service name="PAY_BP"/> </definitions>

  11. Explanatory example... continuing • INPUT 1 : WSDL + BPEL spec. of PAY WSDL <definitions ... <portType name="PAY_PT"> <operation name="login"> ... </operation> <operation name="logout"> ... </operation> <operation name="pay"> ... </operation> </portType> ... <role name="PAY"> <portType name="PAY_PT"/> </role> <service name="PAY_BP"/> </definitions>

  12. Explanatory example... continuing • INPUT 1 : WSDL + BPEL spec. of PAY WSDL BPEL <process name="PAY_PROCESS" ... <partners> <partner name="customer" ... /> <definitions ... <partner name="book_vendor" ... /> <portType name="PAY_PT"> </partners> ... <operation name="login"> ... </operation> <sequence> <operation name="logout"> ... </operation> <receive name="authentication" partner="customer" <operation name="pay"> ... </operation> portType="PAY_PT" operation="login" .../> </portType> ... <while ...> ... <role name="PAY"> <receive name="payment" partner="customer" <portType name="PAY_PT"/> portType="PAY_PT" operation="pay" .../> </role> </while> <service name="PAY_BP"/> <receive name="exit" partner="customer" </definitions> portType="PAY_PT" operation="logout" .../> </sequence> </process>

  13. Explanatory example... continuing • INPUT 1 : WSDL + BPEL spec. of PAY WSDL BPEL <process name="PAY_PROCESS" ... <partners> <partner name="customer" ... /> <definitions ... <partner name="book_vendor" ... /> <portType name="PAY_PT"> </partners> ... <operation name="login"> ... </operation> <sequence> <operation name="logout"> ... </operation> <receive name="authentication" partner="customer" <operation name="pay"> ... </operation> portType="PAY_PT" operation="login" .../> </portType> ... <while ...> ... <role name="PAY"> <receive name="payment" partner="customer" <portType name="PAY_PT"/> portType="PAY_PT" operation="pay" .../> </role> </while> <service name="PAY_BP"/> <receive name="exit" partner="customer" </definitions> portType="PAY_PT" operation="logout" .../> </sequence> </process>

  14. Explanatory example... continuing • INPUT 1 : WSDL + BPEL spec. of PAY WSDL BPEL <process name="PAY_PROCESS" ... <partners> <partner name="customer" ... /> <definitions ... <partner name="book_vendor" ... /> <portType name="PAY_PT"> </partners> ... <operation name="login"> ... </operation> <sequence> <operation name="logout"> ... </operation> <receive name="authentication" partner="customer" <operation name="pay"> ... </operation> portType="PAY_PT" operation="login" .../> </portType> ... <while ...> ... <role name="PAY"> <receive name="payment" partner="customer" <portType name="PAY_PT"/> portType="PAY_PT" operation="pay" .../> </role> </while> <service name="PAY_BP"/> <receive name="exit" partner="customer" </definitions> portType="PAY_PT" operation="logout" .../> </sequence> </process>

  15. Explanatory example... continuing • INPUT 1 : WSDL + BPEL spec. of PAY WSDL BPEL <process name="PAY_PROCESS" ... <partners> <partner name="customer" ... /> <definitions ... <partner name="book_vendor" ... /> <portType name="PAY_PT"> </partners> ... <operation name="login"> ... </operation> <sequence> <operation name="logout"> ... </operation> <receive name="authentication" partner="customer" <operation name="pay"> ... </operation> portType="PAY_PT" operation="login" .../> </portType> ... <while ...> ... <role name="PAY"> <receive name="payment" partner="customer" <portType name="PAY_PT"/> portType="PAY_PT" operation="pay" .../> </role> </while> <service name="PAY_BP"/> <receive name="exit" partner="customer" </definitions> portType="PAY_PT" operation="logout" .../> </sequence> </process>

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend