Professional Documents
Culture Documents
WK,(((,QWHUQDWLRQDO&RQIHUHQFHRQ&RPPXQLFDWLRQ7HFKQRORJ\3URFHHGLQJV
A. Connect the Service Provider with a Broker F. Return Value(s) to the Original Consumer
Host B initiates a connection to Host S. (This step can be The consumer on Host A gets the return value(s) from
omitted if Server S happens to be the gateway of the private Service S.
network where Server B lies.) It’s a client/server connection.
Service S will consume Service B on behalf of the consumer
WK,(((,QWHUQDWLRQDO&RQIHUHQFHRQ&RPPXQLFDWLRQ7HFKQRORJ\3URFHHGLQJV
REFERENCES
[1] W3C Web Services Architecture, http://www.w3.org/TR/ws-arch/
[2] Rosenberg, J., Weinberger, J., Huitema, C., and R. Mahy, “STUN –
Simple Traversal of User Datagram Protocol (UDP) Through Network
Address Translators (NATs)”, RFC3489, March 2003.
[3] Rosenberg, J., Mahy, R., and P. Matthews, "Traversal Using Relays
Figure 2. Architechture of our approach. around NAT (TURN): Relay Extensions to Session Traversal Utilities
for NAT (STUN)", Work in Progress, January 2008.
[4] P. Srisuresh, B. Ford, D. Kegel, “State of Peer-to-Peer (P2P)
IV. EXPERIMENTS Communication across Network Address Translators (NATs)”,
RFC5128, March 2008.
In fact, Service B is part of a service composition, which is
[5] D. Collins, Carrier Grade Voice Over IP (second edition). McGraw-Hill
maintained by School of Computer Science, Fudan University Professional, 2002.
in Shanghai. Like service B, many services of this service [6] http://www.skype.com.
composition are behind NATs. And for some reasons, we have
[7] B. Gleeson, A. Lin, J. Heinanen, T. Finland, G.Armitage, A. Malis, “A
to access all the services of the service composition from Framework for IP Based Virtual Private Networks”, RFC2764, February
Beijing. And that’s why we’re working on NAT traversal for 2000.
Web Services in the first place. We did two experiments. [8] Cheshire, S., Krochmal, M., and K. Sekar, “NAT Port Mapping Protocol
(NAT-PMP)”, Work in Progress, October 2006.
First we use three hosts interconnected by a LAN switch to
[9] UPnP Forum, “Internet Gateway Device (IGD) Standardized Device
do the experiment. One of the hosts is installed with a Virtual Control Protocol V 1.0”, November 2001,
Machine and the Web Service is running on this virtual http://www.upnp.org/standardizeddcps/igd.asp
machine. Two of the hosts are Windows 2000 and another one [10] P. Srisuresh, M. Holdrege, “IP Network Address Translator (NAT)
is Fedora 5 Linux. We use Java Web Services Developer Pack Terminology and Considerations” (refer section 2.9), RFC2663, August
2.0 to parse WSDL files and to send SOAP messages. Our 1999
approach worked. We successfully consumed Service B behind [11] Rosenberg, J., “Interactive Connectivity Establishment (ICE): A
NAT. Methodology for Network Address Translator (NAT) Traversal for
Offer/Answer Protocols”, Work in Progress, October 2007.
Then we put our method into practice to meet our real [12] W3C Web Service Description Language (WSDL) Version 2.0 Part 0:
needs. We used two different NAT devices. A consumer in Primer, http://www.w3.org/TR/2007/REC-wsdl20-primer-2007062
Beijing successfully called a Web Service behind NAT in [13] W3C SOAP Version 1.2 Part 0: Primer (Second Edition),
Shanghai. We did more tests. Most services of the service http://www.w3.org/TR/2007/REC-soap12-part0-20070427/
composition must be consumed in turn. Services deployed on