Web Services and Java: Deconstructing the JWSDP
The recent early release of the Java Web Services Developer Pack (JWSDP) represents a significant milestone in the evolution of the Sun's Enterprise Java vision of using J2EE to build loosely coupled Web services. For Java developers, the JWSDP provides a collection of tools and APIs for both building Web Services and for reaching out and interacting with existing Web Services. Planned for inclusion in the upcoming Web Services-aware release of J2EE 1.4, the JWSDP currently is available as an add-on to J2EE 1.3. In this article, we'll walk through how the pieces of the JWSDP fit together to deliver Web Services functionality to Java-based server environments.
Web Services Vision
Web Services represents a shift in computing that extends the scope of the Web from an infrastructure that provides services to humans to one that provides services to software looking to interconnect with other software. The Web Services vision is one in which software packaged as services can be discovered and connected to using established Web protocols such as HTTP, FTP, or SMTP. The big difference between Web services and conventional distributed architectures such as RMI, CORBA, or DCOM is that Web services are built around a core of XMLboth as a way to describe and transport data over XML protocols. This opens up distributed computing to the entire expanse of the Web, not just pockets of interconnectivity united by adherence to tightly coupled networks.
For the J2EE platform, the JWSDP is the bridge that allows the tightly coupled connectivity of J2EE to reach out and talk to loosely coupled protocols such as SOAP, the Simple Object Access Protocol. SOAP is the basis for communication between Web services and their clients. Because SOAP is able to work with HTTP, FTP, or even STMP, it has become the primary deployment protocol for Web Services.