Web Service Gateway - A Step Forward To E-Business: Hoang Pham Huy Takahiro KAWAMURA Tetsuo HASEGAWA
Web Service Gateway - A Step Forward To E-Business: Hoang Pham Huy Takahiro KAWAMURA Tetsuo HASEGAWA
Web Service Gateway - A Step Forward To E-Business: Hoang Pham Huy Takahiro KAWAMURA Tetsuo HASEGAWA
Takahiro KAWAMURA
Ph.D
Toshiba R&D Center
[email protected]
Abstract
Business-to-Business will be a considerable market in
the near future of Internet e-business. In this future market,
several providers need to be able to integrate or exchange
information in providing a global service. The problem
that we want to tackle in this paper is related to the
existing information sources in the current Internet
environment. That is how to integrate existing Web sites
each other to become a new Internet service ? The
difficulty comes from a historical objective. Internet Web
sites were developed for human users browsing and so,
they do not support machine-understandable as well as
inter-provider interaction. To overcome this gap, we need
a framework to systematically migrate the existing
presentation-oriented Web sites to service-oriented one.
Evidently, redeveloping all of them is an unacceptable
solution.
In this paper, we propose a mechanism of Web Service
gateway in which existing Web sites are wrapped by
several Web Service wrappers. Thus, without any efforts
to duplicate the Web sites code, these services inherit all
features from the sites while can be enriched with other
Web Service features like UDDI publishing, semantic
describing, etc As a consequence, they can be easily
integrated each-other in a Business-to-Business schema to
provide a more valuable service for users.
This Web Service gateway was developed in Toshiba
with Web Service Generator, allowing automatically
generate Web Service wrappers. By using this system,
several real Web services were generated and made
available for use. The Web Service gateway and these
services are also presented and evaluated in this paper.
Keywords: Web Service, Service Gateway, Wrapper,
Parser, CGI, WSDL.
1. Introduction
The success of the Internet does not only allow the
connection of computers and business partners
world-wide but also open a new way to carry out the
business transactions. Supply and commerce over the
Internet, such as online weather forecast ([9]) or online
book shops ([10][11]), have already entered to the market
as individual information sources. Broadly saying,
Tetsuo HASEGAWA
Research Scientist
Toshiba R&D Center
[email protected]
WS Wrapper
Coordinator
Internet
Info. Source
Parser Plugin
Data
Extractor
root.node(1).node(2)node(n)
root
Structured in
another tree-style
Intermediate
node
data node
root
data node
Center. This toolkit consists of 2 main components Wrapper Generator and Plug-in Discovery.
Figure 5 presents the main windows of our Web
Service Wrapper Generator (WSGen). This tool supports a
GUI to analyze information source to define wrapper
description. Then, by just one mouse click, the wrapper
code is generated and deployed to Web Service gateway.
In the first version, we concentrate to the Internet
information source based on CGI technology. For that, by
enter a normal CGI
WS Wrapper
WS Gateway
HTML parser
query, including the
protocol, CGI Web
Receives returned HTML page from the info. source
site
address,
resource path and
Request contact with a HTML parser
the query pattern,
WSGen
[ contact point ]
Initialize a HTML parser and return the contact point
automatically
generate a primitive
Web service for the
Initialize tree nodes
given CGI Web site.
Web
Service
[ root node address ]
interface and CGI
mapping is carried
Next node-finder sebtebce
out by several steps,
in several working
[ next node address ]
tab. In each tab,
user
can
Get data attached in current node
graphically create,
[ data ]
modify,
delete,
etc the elements
of the wrapper description. After generating a Web
Figure 4: Standard Communication Framework
Servicewrapper, user can go to Deploy working tab in
Based on above designing strategy, we define a set of
WSGen to deploy it to the Web Service gateway. Toshiba
operations that any intelligent HTML parsers must
provides a default Web Service gateway that is delivered
provide to be invoked by the wrappers. The most
with WSGen. Otherwise, user can take the generated Web
important plug-in function is getNodePosition():
Service gateway (packed in a WAR file Web
getNodePosition(parrentPosition, node-finder)
Application Archives) to deploy it in any other Web
This function calculates and returns the position of the
Service hosting systems. This WAR file is packed with all
current node in the tree, based on the parent node and the
necessary libraries such as accessing protocol, HTML
relative distance to the given node. The position format
parser plug-in, etc so it can be deployed to any Web
of these nodes (parent, current and node-finder) is
Service hosting server which supports WAR specification.
completely depended on the plug-in implementation. For
Figure 6 presents the main windows of our Plug-in
example, one plug-in accepts an explicit node tree-based
Discovery. This tools allows user to try all the HTML
digit position like 1.0.3.5 while another can provide a
parsers available in the Web Service gateway to find
plug-in which accepts both above explicit digit position
which is the most suitable for parsing HTML pages
and a textual position expression like second DIV tag
returned from a given information source. This tool also
or first DIV tag after 1.0.3.5. XPath, XPointer or
allows user to define the node-finder sentences. After
XQuerry can be applied here to define the node-finder
selecting an available HTML parser, the tree node is
sentence. Thus, the more human-like in position format
shown to the user. When user click to a node in HTML
that a plug-in HTML parser accepts, the more intelligent
page,
the discovery engine will analyze the data
in the parser to extract data.
tree-style nodes represented to the current HTML mode.
Then, the wrapper invokes one of several times to the
parser to send the node-finder sentences as defined in the
wrapper description to find the data node. As explained
before, it is depended on the parser implementation that
the node-finder can be various, such as go to the first
image node or go to the second children node. Finally,
the wrapper requires the HTML parser send back the data
in current data node.
W
WSSGenerator
GeneratorTools
Tools
W
Working
orkingtab
tabname
name
Current
CurrentW
Working
orkingtab
tab
W
Working
orkingbuttons
buttons
Original
OriginalOperation
OperationURL
URL
W
Working
orkingzone
zone
Docum
ent structure
Document
structurezone
zone
Docum
ent preview
Document
previewzone
zone
7. References
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]