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"/>.