9

Click here to load reader

Pollock: Automatic Generation of Virtual Web Services …pike.psu.edu/presentations/sac05.pdf · Pollock: Automatic Generation of Virtual Web Services from Web Sites ... SOAP zYellow

Embed Size (px)

Citation preview

Page 1: Pollock: Automatic Generation of Virtual Web Services …pike.psu.edu/presentations/sac05.pdf · Pollock: Automatic Generation of Virtual Web Services from Web Sites ... SOAP zYellow

1

Pollock: Automatic Generation of Virtual Web Services from Web Sites

Yi-Hsuan LuYoojin HongJinesh Varia

Dongwon Lee

March 14, 2005

ACM SAC 2005 2

Outline

What is Web Services?MotivationMain Ideas: PollockApplication: OpenDBLPConclusion

Page 2: Pollock: Automatic Generation of Virtual Web Services …pike.psu.edu/presentations/sac05.pdf · Pollock: Automatic Generation of Virtual Web Services from Web Sites ... SOAP zYellow

2

ACM SAC 2005 3

Web ServicesXML-based framework for machine interoperability

API: WSDLCommunication: SOAPYellow Page: UDDI

Disguised RPC or CORBA in XMLLet S/W agents communicate each other w/o human intervention (in theory)

ACM SAC 2005 4

Web ServicesBy 2008, 75% of industry applications are expected to have Web Services components [Gartner report] Tools for Web Services are needed to:

GenerateDiscoverComposeAnalyzeOptimize…

Page 3: Pollock: Automatic Generation of Virtual Web Services …pike.psu.edu/presentations/sac05.pdf · Pollock: Automatic Generation of Virtual Web Services from Web Sites ... SOAP zYellow

3

ACM SAC 2005 5

Web Services Research @ Penn State, USA

Atherton project is to develop tools/methodology for Web Services

http://nike.psu.edu/atherton/Sub-projects

Generation : Pollock [ACM SAC05]Discovery and Composition: BF* [IEEE EEE05]Analysis & Optimization: MISQ [IEEE BSN05]

ACM SAC 2005 6

MotivationMost commercial companies already have some sort of Web Pages, where users can browse and purchase itemsMost popular interface is HTML FORMThe functionalities currently being provided through FORM are:

Common/popular activitiesWhen companies decide to build Web Services based interfaces, these functionalities in FORM are likely to be part

Page 4: Pollock: Automatic Generation of Virtual Web Services …pike.psu.edu/presentations/sac05.pdf · Pollock: Automatic Generation of Virtual Web Services from Web Sites ... SOAP zYellow

4

ACM SAC 2005 7

Data in the “Hidden” Web

ACM SAC 2005 8

PollockPollock

Motivation I: WS Generator

HumanHuman FORMFORM ServerServerInternetInternet

WWW

MachinesMachines Web ServicesLayer

Web ServicesLayer ServerServerInternetInternet

Semantic Web

Page 5: Pollock: Automatic Generation of Virtual Web Services …pike.psu.edu/presentations/sac05.pdf · Pollock: Automatic Generation of Virtual Web Services from Web Sites ... SOAP zYellow

5

ACM SAC 2005 9

PollockPollock

Motivation II: WS Middleware

FORMFORM ServerServer

WWW

MachinesMachines Web ServicesLayer

Web ServicesLayer

InternetInternet

Semantic Web

HumanHuman InternetInternet

VirtualWeb

Services

ACM SAC 2005 10

PollockUsing a given HTML FORM interface, Pollock does:

Generates Web Services API (WSDL)Sits between Web Services API and FORM interface, and translate requests/responses back and forth (SOAP)Generates example Web Services client/server

Page 6: Pollock: Automatic Generation of Virtual Web Services …pike.psu.edu/presentations/sac05.pdf · Pollock: Automatic Generation of Virtual Web Services from Web Sites ... SOAP zYellow

6

ACM SAC 2005 11

PollockTwo technical challengesInteracting with FORM

Borrow from DB community’ Wrapper/Mediator techniquesWe used Gatech’s XWrapElite

Map btw FORM and Web ServicesNeed to identify functionalityNeed to identify mandatory/optional parametersNeed to identify types

ACM SAC 2005 12

Foodgeek ExampleTwo Functionalities

SearchResponse

Search: <message>Parameters: <part>Type: <types>

Response: same…Wire Search and Response via <portType>Generate “foodgeek.wsdl”

Page 7: Pollock: Automatic Generation of Virtual Web Services …pike.psu.edu/presentations/sac05.pdf · Pollock: Automatic Generation of Virtual Web Services from Web Sites ... SOAP zYellow

7

ACM SAC 2005 13

Foodgeek Example

PollockPollock

FORMFORMServerServer

MachinesMachines Web ServicesLayer

Web ServicesLayer

InternetInternet

Semantic Web

<message name=“FoodGeekSearch”><part name=“…” type=“…”/><part name=“…” type=“…”/>…

</message>

HTTP GET(“title french OR rating+DE SC&category=9…”)

<SOAP-ENV:Envelope><SOAP-ENV:Body>

<ns1:FoodGeekSearch xmlns:ns1=“urn:Foodgeeks”>

<Search_by_TITLE_or_INGREDIENTStype=“xsd:string”> title</>…

</SOAP-ENV:Body></SOAP-ENV:Envelope>

ACM SAC 2005 14

Foodgeek Example

PollockPollock

FORMFORMServerServer

MachinesMachines Web ServicesLayer

Web ServicesLayer

InternetInternet

Semantic Web

<message name=“FoodGeekResponse”>…

</message>

HTTP GET(“search results…”)

<SOAP-ENV:Envelope><SOAP-ENV:Body>

<ns1:FoodGeekSearchResponse/><return>

<resultElements type=“soapenc:Array”><item><title>French Onion

Soup</title></><item>…</item>

</result></SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Page 8: Pollock: Automatic Generation of Virtual Web Services …pike.psu.edu/presentations/sac05.pdf · Pollock: Automatic Generation of Virtual Web Services from Web Sites ... SOAP zYellow

8

ACM SAC 2005 15

ApplicationsTried Pollock to 8 real web sites

eBay, Bigfoot, Wine, Foodgeeks, Yahoo, …Can handle various FORM constructs

Tried Pollock to DBLP OpenDBLP

ACM SAC 2005 16

OpenDBLP: http://opendblp.psu.edu/

PollockPollock

DBLPFORMDBLPFORM

DBLPServerDBLPServer

Web ServicesClient

Web ServicesClient

Web ServicesLayer

Web ServicesLayer

InternetInternet

Page 9: Pollock: Automatic Generation of Virtual Web Services …pike.psu.edu/presentations/sac05.pdf · Pollock: Automatic Generation of Virtual Web Services from Web Sites ... SOAP zYellow

9

ACM SAC 2005 17

ConclusionPollock as a tool to generate Web Services interfaces for HTML FORM interfaces

Providing Real Web ServicesPollock as a middleware server running between web service client and HTML FORM interface

Providing Virtual Web ServicesFurther details at:

http://nike.psu.edu/atherton/http://opendblp.psu.edu/