Introduction
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!
Credits
The Gateway Development Team : Sting
& James at CCL/ITRI
in Taiwan
¡@