JXTA & Web Services Gateway
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 Gateway has to broke SOAP message between JXTA and Web Services environment, so that peers in JXTA & Web Services environment can communicate by using SOAP/JXTA & SOAP/HTTP through this Gateway. the architecture for protocol transformation is shown in the figure below.
For Services deployed in JXTA or Web Services Environment to be able to find each other, the Gateway has to do Service Advertising between JXTA & Web Services environment. the Gateway plays 2 roles:
JXTA rendezvous peer in JXTA environment
We don't explain in detail the JXTA services advertisement here because you can find the detailed document about JXTA service advertisement in it's web site, the only difference between the original JXTA and our design is the JSDL, because developers has to describe their JXTA services in JSDL and publish/advertise them (as shown in the figure below), the concept is originally from Web Services environment, in Web Services environment, developers publish their services by register them in UDDI.
JXTA to Web Services
When the Gateway receives the advertisement from a JXTA peer, it translate the JSDL associate with the JXTA peer's service to WSDL, and register the WSDL into UDDI, Services in the Web Services environment can find the "JXTA" service as a "Web" Service on the Gateway, and invoke "JXTA" service by sending SOAP message to the Gateway, the Gateway will transfer the SOAP request in JXTA protocol to the JXTA peer on which the real service is deployed.
Web Services to JXTA
When the Gateway receives a Web Services registration request in Web Services environment, it translate the WSDL into JSDL and does the JXTA advertisement about this service in JXTA environment, peers in JXTA environment can find this "Web" service and invoke this "Web" service by sending SOAP request to the Gateway, the Gateway will transfer the SOAP request in HTTP protocol to the Web Application server on which the real web service is deployed.
Things to be discussed & solved