# Integrating Web Services with J2EE

From the Microsoft Developer Network (MSDN):

A Web Service is a unit of application logic providing data and services to other applications. Applications access Web Services via ubiquitous Web protocols and data formats such as HTTP, XML, and SOAP, with no need to worry about how each Web Service is implemented. Web Services combine the best aspects of component-based development and the Web ...

Web Services can be characterised through their ability to describe themselves in a platform-independent, XML-based meta-language such as WSDL (Web Service Description Language) and their ability to federate through global, platform-independent, and XML-based registries such as UDDI (Universal Description, Discovery Integration).

As emphasised in the Sun Open Network Environment vision and being put right into the core of the J2EE1.4 specification, Web Services and J2EE are an ideal match. J2EE is a mature and productive environment for developing and deploying application logic. Web Services provide a new degree of cross-platform interoperability especially with respect to legacy applications and the ubiquitous Microsoft .NET cosmos that CORBA and IIOP have not been able to provide.

JBoss.net is a service plugin to the JBoss application server that should facilitate both

- the painless implementation and publication of J2EE/JBoss-based Web Services and
- the seamless integration of external Web Services running on other business platforms into the J2EE/JBoss environment.

while keeping track with respective standardisation efforts in the Java Community, the W3C consortium, and ... the Microsoft development department.

JBoss.net is - for the time being - NOT an attempt to build an alternative implementation of .NET! For that purpose, please have a look at, e.g., the Mono Open Source project.

## Overview and Team

For an introduction, please see the PowerPoint Presentation originally presented at the JBossOne Convention, March 2002. For getting started with Java-based Web Services, we highly recommend the reading of the JAX-RPC specification and the Apache Axis User Guide. The following is a UML Collaboration Diagram showing how the different JBoss services work together in order to provide J2EE1.4 compliant web services.

Architectural Diagram

The project is currently driven by Christoph G. Jung (Axis integration, .Net interoperability, EJB-Provisioning), Thomas Diesler (WS4EE deployment), and Jason Essington (SMTP transport, Web Service Security). Contributors, among many others, were Peter Braswell (JMX provisioning, UDDI interfaces), Frederick N. Brier (Macromedia Flash support, XDoclet web service module), Alireza Taherkordi (JMX typmappings), Bruce Scharlau (Documentation), Neal Sanche (Authentication Interoperability with M$-SOAPTookit), and Mark Gagan (Xdoclet template extensions).

## Features and release plan

JBoss.net is an optional part of JBoss since the 3.0 series and (due to the J2EE1.4 spec) will be a default module from the 4.0 release on. We´ve been successfully adopting the Apache Axis implementation of JAX-RPC (1RC1 in the 3.0 branches, 1.1 Final in the 3.2 and 4.0 branches and head) For production-style web service functionality, we recommend using at least the JBoss 3.2 series - independent performance studies have placed JBoss.net/Axis as the leading web service engine before any of the prominent commercial J2EE products.

The current features include:

- JBoss-Integrated Hot-Deployment based on a convenient packaging unit called web service archive.
- Easy Provisioning of EJB-Based Web Services.
- Easy Provisioning of JMX-Based Web Services.
- A set of JBoss-related Security Handlers that will bridge transport- and application-level security.
- (Not 3.0) XDoclet Module for most convenient Attribute-Oriented Programming of Web Services.
- (Not 3.0) Binding of External Web Service References into the servers JNDI environment.
- (Not 3.0) A set of features to serve Macromedia Flash Clients over the SOAP protocol.

## Links and Support

Here are some useful pages of very active jboss.net users:

- Bruce Scharlau has been one of the first to try out and make sense of all that crap. He maintains a whole set of student information pages about JBoss, JBoss.NET, and Tomcat.
- Neal Sanche maintains a page about JBoss.net/M$ Interoperabity and Authentication.

We are seeking any available help for testing the existing code, constructing a detailed requirement list, and implementing features! See the Todo&Assignment List and make your development skills immortal! See the planned features and the build guide.

## DISTRIBUTION AND CVS

JBoss.net is shipped with JBoss since the 3.0 series

It is available as source under the CVS module contrib/jboss.net

The TODO and BUG list can be found under Sourceforge.

## PROBLEMS

Axis questions should be directed to axis-users@xml.apache.org

JBoss questions should be directed to jboss-user@list.sourceforge.net

I shall be happy to answer questions about the integration.

Enjoy.

"Dr. Schorsch" (christoph.jung@jboss.org) - 2001/09/29, Last update on 2003/10/15

All mentioned trademarks on this page are copyright of their respective owners ... like that ...