Presentation is loading. Please wait.

Presentation is loading. Please wait.

A DAPT IST-2001-37126 JBoss Web Services Stuart Wheater Arjuna Technologies.

Similar presentations


Presentation on theme: "A DAPT IST-2001-37126 JBoss Web Services Stuart Wheater Arjuna Technologies."— Presentation transcript:

1 A DAPT IST-2001-37126 JBoss Web Services Stuart Wheater Arjuna Technologies

2 A DAPT Contents The purpose of this presentation is to summaries some of the issues involved in using web services on JBoss Cover: –Overview of JBoss web services support –Publishing web services –Consuming web services –Overview of “JBossNetExample”

3 A DAPT JBoss Web Service Support JBoss.net –JBoss.net is a plug-in to the JBoss application server that support Web Services Goals –Painless implementation and publication of J2EE-based Web Services EJB and JMX –Seamless integration of external Web Services running on other business platforms into the J2EE environment

4 A DAPT JBoss.net Team Lead Developer: Dr. Christoph Jung (Germany) –Web pages: http://www.jboss.org/developers/projects/jboss/dotnet.jsphttp://www.jboss.org/developers/projects/jboss/dotnet.jsp The JBoss.net team is integrating Apache Axis into JBoss –JBoss 3.0.6 (26th January 2003) Axis-1.0-beta1 (15th March 2002) –JBoss 3.2.0-RC1 (14th January 2003) Axis-1.0 (7th October 2002) JBoss.net is only available when using the “all” server environment –Start JBoss with the command: “run.sh -c all” or “run.bat -c all”

5 A DAPT Apache Axis Axis is a SOAP engine, implemented in Java –A framework for constructing SOAP processors such as clients, servers, gateways –Began life as IBM’s SOAP4J –Third generation of Apache SOAP engine License: The Apache Software License, Version 1.1 Latest version is Axis-1.1-RC1 –9th February 2003 –http://ws.apache.org/axis/dist/1_1RC1/http://ws.apache.org/axis/dist/1_1RC1/ Axis-1.1 release planned for late February

6 A DAPT Publishing Web Services Implementation techniques –JAX-RPC Does not support JAXM –Axis’s proprietary support –jws files Deployment techniques –AdminClient –“WSR” file –Auto deploy source (jws files)

7 A DAPT JAX-RPC: High-level Service Interface Standards compliant “Java object” level interface –Java™ API for XML-based RPC (JAX-RPC) 1.0 Java package javax.xml.rpc –Implement a web service “Service Endpoint” interface –Java interface which defines method and parameters of web service »Can be created using the WSDL2Java tool Provide an implementation of the “Service Endpoint” interface –Axis provider type “java:RPC” Other features: –Standards compliant API for Lifecycle event notification: init() and destroy() –Standards compliant API for request and response interception

8 A DAPT Axis’s Low-level Service Interface Axis provides a proprietary XML oriented interface –SOAP engine uses Java reflection to analysis deployed class for suitable method to call. Axis-1.0-beta1 (JBoss-3.0.6) –org.w3c.dom.Element[] method(java.util.Vector) –org.w3c.dom.Element[] method(org.apache.axis.MessageContext, java.util.Vector) –org.w3c.dom.Document method(org.w3c.dom.Document) –org.w3c.dom.Document method(org.apache.axis.MessageContext, org.w3c.dom.Document) –org.w3c.dom.Document method(org.apache.axis.MessageContext) Axis-1.0 (JBoss-3.2.0-RC1) –org.apache.axis.message.SOAPBodyElement[] method(org.apache.axis.message.SOAPBodyElement) –org.w3c.dom.Element[] method(org.w3c.dom.Element[]) –org.w3c.dom.Document method(org.w3c.dom.Document) –void method(org.apache.axis.message.SOAPEnvelope, org.apache.axis.message.SOAPEnvelope) –Axis provider type “java:MSG”

9 A DAPT Axis’s Ultra-low-level Service Interface Axis provides a raw engine interface –Register own “provider class” Extension of the org.apache.axis.providers.BasicProvider class –void invoke(org.apache.axis.MessageContext) –void generateWSDL(org.apache.axis.MessageContext) –... –In deployment descriptor:

10 A DAPT jws File: Very-Easy Service Interface jws file provide a very simple technique to implementing and deploying web service –jws files contain Java source, but with a “jws” postfix. –Calculator.jws: public class Calculator { public int add(int v1, int v2) { return v1 + v2; } } –Deployed by simply copying jws file to /server/all/deploy/jboss-net.sar/jboss-net.war –Engine will compile java and export methods as web service –Very useful for test web services This does not seem to work with JBoss-3.2.0-RC1

11 A DAPT Deployment descriptor (WSDD file) Deployment in Axis is based on XML descriptions in WSDD files –Example –Request, response and fault interceptors

12 A DAPT Deployment using AdminClient Axis provides an administration program which allows web services to be registered and administer remotely –org.apache.axis.client.AdminClient –To publish a web service Need to copy a jar with web services implementation to: – /server/all/deploy/jboss-net.sar Then run AdminClient with web service’s WSDD file as an argument

13 A DAPT wsr File JBoss.net have provided a more convenient technique for deploying web service, using wsr files –wsr files are a form of jar file Contains the Java classes which implement the web service Deployment descriptor is place in the file: –“META-INF/web-service.xml” –The wsr file can be included in ear files. wsexample.wsr

14 A DAPT Consuming Web Services Implementation techniques –JAX-RPC Standards compliant “Java object” oriented interface WSDL2Java tool –Generate client stubs and service locator –SAAJ Standards compliant XML oriented interface SOAP with Attachments API for Java –Axis’s proprietary API Axis provides a proprietary XML oriented interface

15 A DAPT Overview of “JBossNetExample” The example consists of a set of simple counters (create, remove, set, get & increase) which are available as web service. –The implementation of this service uses JAX-RPC EJBs (CMP Entity Beans) to manage persistent state. –ant build script Compilation of Java source Creation of jar, wsr & ear files Deployment –JBoss-3.0.5 (based on axis-1.0-beta1)


Download ppt "A DAPT IST-2001-37126 JBoss Web Services Stuart Wheater Arjuna Technologies."

Similar presentations


Ads by Google