Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

Paper Presentation

  • Be the first to comment

  • Be the first to like this


  1. 1. Automatic Generation of Virtual Web Services from Web Sites Yi-Hsuan Lu, Yoojin Hong, Jinesh Varia, Dongwon Lee ACM Symposium on Applied Computing(SAC) 2005 Reporter: Shih-Feng Yang
  2. 2. Outline <ul><li>Introduction </li></ul><ul><li>Background </li></ul><ul><li>Main Ideas </li></ul><ul><li>Conclusion </li></ul>
  3. 3. Introduction <ul><li>Goal </li></ul><ul><ul><li>Propose a methodology that helps to automatically generate Web Services from the FORM-based query interfaces of a web site. </li></ul></ul>
  4. 4. Introduction <ul><li>Example (UniversalBooks) </li></ul><ul><ul><li>A company UniversalBooks is a start-up who aims at building the biggest internet bookstore. </li></ul></ul><ul><ul><li>For each bookstore which has web services, we use it’s own services. </li></ul></ul><ul><ul><li>For each bookstore which has no web service, we build a virtual web service for it. </li></ul></ul><ul><ul><li>Build a broker that provides a universal catalog system based on those web service interfaces. </li></ul></ul>
  5. 5. Introduction <ul><li>Example (UniversalBooks) </li></ul>
  6. 6. Background <ul><li>Web Service </li></ul><ul><ul><li>UDDI (Universal Description, Discovery, and Integration) </li></ul></ul><ul><ul><ul><li>A mechanism for client to find web services. </li></ul></ul></ul><ul><ul><li>WSDL (Web Services Description Language) </li></ul></ul><ul><ul><ul><li>Define services as collections of network endpoints. </li></ul></ul></ul><ul><ul><li>SOAP (Simple Object Access Protocol) </li></ul></ul><ul><ul><ul><li>A message layout specification that defines a uniform way of passing XML-encoded data. </li></ul></ul></ul>
  7. 7. Background <ul><li>Wrapper </li></ul><ul><ul><li>Develop customized grammars to pin-point HTML data to be extracted. </li></ul></ul><ul><ul><li>It is Machine-Learning based approach to learn extraction rules. </li></ul></ul><ul><ul><li>The choice of the wrapper is replaceable. This paper use XWrap. </li></ul></ul>
  8. 8. Background <ul><li>A brief introduction to XWrap </li></ul><ul><ul><li>A XML-based wrapper. </li></ul></ul><ul><ul><li>It is almost a manual tool, you can </li></ul></ul><ul><ul><ul><li>First, input an url. </li></ul></ul></ul><ul><ul><ul><li>Manually select what information you want. </li></ul></ul></ul><ul><ul><ul><li>Automatically generate the Java wrapper codes , Search interface , Web service and WSDL for users. </li></ul></ul></ul><ul><ul><li>XWrap eLite is available now. </li></ul></ul>
  9. 9. Main Ideas <ul><li>Overview </li></ul><ul><ul><li>Wrapper Generator </li></ul></ul><ul><ul><ul><li>Using XWrap. </li></ul></ul></ul><ul><ul><ul><li>use mapping table to keeps mapping track between specific input sequence and wrappers. </li></ul></ul></ul><ul><ul><li>Web Service Generator </li></ul></ul><ul><ul><ul><li>Generate WSDL. </li></ul></ul></ul><ul><ul><li>SOAP translator </li></ul></ul><ul><ul><ul><li>Map SOAP-based XML message into HTTP-based URL message. </li></ul></ul></ul><ul><ul><li>Publish service detail to UDDI </li></ul></ul>
  10. 10. Main Ideas Site which has web services Site which has no web service <ul><li>Overview </li></ul>
  11. 11. Main Ideas <ul><li>Generating Wrappers </li></ul><ul><ul><li>In order to deal with the difference between FORM controls and WSDL schema, we have to handle two type of information: </li></ul></ul><ul><ul><ul><li>String type </li></ul></ul></ul><ul><ul><ul><ul><li>Such as textBox and textArea. </li></ul></ul></ul></ul><ul><ul><ul><li>Enumeration type </li></ul></ul></ul><ul><ul><ul><ul><li>Such as checkBox, Pull-down menu, RadioButton. </li></ul></ul></ul></ul><ul><ul><li>Use XWrap to extract specific data from the returned web pages. </li></ul></ul>
  12. 12. Main Ideas <ul><li>Generating WSDL </li></ul><ul><ul><li><type>: the definition of special data types that are used in WSDL. </li></ul></ul><ul><ul><li><message>: define a service provided by a web service provider and its parameters. </li></ul></ul><ul><ul><ul><li><part>: the definition of the name and data type of parameters. </li></ul></ul></ul><ul><ul><li><portType>: tie a request message and a response message as one operation. </li></ul></ul>
  13. 13. Main Ideas <ul><li>Generating WSDL </li></ul><ul><ul><li>The WSDL Format </li></ul></ul>
  14. 14. Main Ideas <ul><li>Handling SOAP messages (Translator) </li></ul><ul><ul><li>When input the parameters to web service: </li></ul></ul><ul><ul><ul><li>SOAP request -> HTML POST or GET messages </li></ul></ul></ul><ul><ul><li>When the results are returned from service: </li></ul></ul><ul><ul><ul><li>Package results as SOAP response to users. </li></ul></ul></ul><ul><ul><li>When there are multiple wrappers, a mapping table has information to determine which wrapper must be invoked. </li></ul></ul>
  15. 15. Main Ideas <ul><li>Publishing to UDDI </li></ul><ul><ul><li>Four data elements are needed: </li></ul></ul><ul><ul><ul><li>BusinessEntity </li></ul></ul></ul><ul><ul><ul><ul><li>Business description. </li></ul></ul></ul></ul><ul><ul><ul><li>BusinessService </li></ul></ul></ul><ul><ul><ul><ul><li>Actual information about this web service. </li></ul></ul></ul></ul><ul><ul><ul><li>BindingTemplate </li></ul></ul></ul><ul><ul><ul><ul><li>How and where a user can access the web service. </li></ul></ul></ul></ul><ul><ul><ul><li>tModel </li></ul></ul></ul><ul><ul><ul><ul><li>A description and a pointer to external technical specification. </li></ul></ul></ul></ul>
  16. 16. Conclusion <ul><li>A preliminary work on automatically generating web services form FORM-based query interfaces of web sites is presented. </li></ul>