Logo @

JXTA & Web Services Gateway




Related Links



Project on sourceFORGE

JXTA & Web Services Gateway


The JXTA & Web Services Gateway project makes the interoperability between P2P JXTA and Web Services a reality. it connects Web Services and JXTA P2P environment. It also takes the advantages of both Web Services and JXTA.

Web Services are network accessible programs, expose functionality by receiving/sending SOAP messages over HTTP/HTTPS, and describe this interface as WSDL descriptions. And JXTA Services are running on JXTA P2P platform and communicate by JXTA open protocol. Although their concepts have a significant amount of overlap, their current manifestations remain very different. It is very possible that the two will take complements in each to converge producing a single hybrid solution. In this current stage, we think a JXTA & Web Services Gateway is needed for the reason to make applications in both network environment to be able to talk to each other in SOAP easily.

To achieve this, we have to do the following:

Making peers in JXTA talk in SOAP

JXTA doesn't define the "format" in which peers talk to each other, SOAP is an XML-based communication protocol and encoding format for inter-application communication. We adopt SOAP as the format of message sent between peers, that is, peers in JXTA can communicate by using SOAP/JXTA. 

Axis is essentially a SOAP engine -- a framework for constructing SOAP processors such as clients, servers, gateways, Axis is a great framework for Web Services with agility, it is easy to make Axis be able to send SOAP message over different application protocols instead of HTTP/HTTPS. (For more information, please refer to Writing JXTA Transport on Axis).

JXTA Services  Description Language

We create a language for JXTA services description, called JSDL (JXTA Service Description Language). It is originally from WSDL (Web Service Description Language), we just make little modification to WSDL to suit the feature of JXTA. SO, people can use JSDL to describe and advertise their JXTA services. (For more information, please refer to JXTA Services Description Language).

Gateway (Bridge) Implementation

For Services deployed in JXTA or Web Services Environment to be able to find each other & communicate, we have to do the Gateway Implementation. The Gateway does two major things: The first one is Service Advertising between JXTA & Web Services environment. And the second is communication protocol transformation, peers in JXTA & Web Services environment can communicate by using SOAP/JXTA & SOAP/HTTP through this Gateway. (For more information, please refer to Gateway Implementation).

(JXTA) Services Development & Deployment tools

We provide tools for JXTA services development & deployment, like those that Axis provides for Web Services. For example, we have to develop JSDL2Java that takes a JXTA Service description file as input and generate client side stubs & server side skeleton for JXTA services invocation & development/deployment. (For more information, please refer to Services Development & Deployment tools).

Adoption of Standards for Web Services

There are so many good standards for Web Services (You can find most of  them at OASIS, W3C),  including Web Services Description, Web Services Security, Web Services Management, Web Services Choreography & Orchestration. Some people call them Web Services Protocol Stack.

For JXTA, some people are designing the same functions that "Web Services Protocol Stack" provides into JXTA protocol stack.

Since we adopt SOAP as the encoding format for inter-peer communication for JXTA, we think that maybe we can just simply adopt or extend these good Web Services Standards into JXTA, for example, we can adopt WS-Security related standards for security issues and WS-Management related for JXTA peer management.

This is just our concept, we need more time to think this over!


The Gateway Development Team : Sting & James  at CCL/ITRI in Taiwan