Introduction
JSDL (JXTA Service Description Language) is for JXTA what WSDL is
for Web Services
WSDL describes what the service can do, where it resides and how to invoke it. It is like IDL but has lots flexibilities and extensibilities. WSDL defines binding for SOAP1.1, HTTP GET/POST and MIME. Its descriptions can be made available from an UDDI registry. Axis provides tools like WSDL2Java for generating client stubs and server skeletons for service invocation, development and deployment.
JXTA peers use "MCA" (ModuleClass Adv), "MSA"
(ModuleSpec Adv), "MIA" (ModuleImple Adv) and
"Pipe" (Pipe Adv) for services advertisements. But, 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.
For developers to describe a JXTA service about what it can do, where it resides and how to invoke it.
we create the JSDL (JXTA Service Description Language), the JSDL
is originally from the concept of WSDL, everything is the same but
the portion about "where the service resides", (<soap:address
location=XXXX"/>).
The difficulty for locating a JXTA peer
(service), because we peers never know "where" each peer
is, There is no way of defining a "URL" for a JXTA Peer,
the only way of finding a peer is through searching its
advertisements, we're still finding a better solution for the
problem. Currently, we use MSID
to describe where the service is. it looks like : <soap:address
location=MSID"/>.