Presentation is loading. Please wait.

Presentation is loading. Please wait.

JBossOne, March 2002. Copyright JBoss Group A Decent Intro.

Similar presentations


Presentation on theme: "JBossOne, March 2002. Copyright JBoss Group A Decent Intro."— Presentation transcript:

1 JBossOne, March 2002. Copyright JBoss Group A Decent Intro

2 JBossOne March 2002, Copyright JBoss Group Integrating Web-Services with J2EE™ Christoph G. Jung infor business solutions AG D-66199 Friedrichsthal, Germany Christoph.Jung@{infor.de|jboss.org} ™ violation

3 JBossOne, March 2002. Copyright JBoss Group What the hell …  … is infor AG? ERP-II Vendor & Consultancy.  … are Web-Services? Typed versus Tagged Data: XML & XSD. Apache Axis: SOAP & WSDL.  … does JBoss.net? Integration of Axis into JBoss. Deployment of Web-Service Archives. Providers for MBeans, Session Beans. Serializers for Entity Beans. Handlers for Security, Tx, etc.  … did SUN dream when sleeping over the advent of M$.NET? JAX-B, -RPC, -M & -R. UDDI. Vote here!

4 JBossOne, March 2002. Copyright JBoss Group  ERP for middle-sized Businesses  Manufacturing, Automotive, Jewellery, Stone, Plastics  Consultancy, Development, Deployment, Training  ~800 Employees  >3000 Installations

5 JBossOne, March 2002. Copyright JBoss Group 11987: Production Control SystemMS-DOS 11990: PPSMS-DOS 11993: PPSWindows 3.x 11996: ERPWindows NT 11997: ERP+SCMWindows NT 11998: ERP+SCMLinux 22000: ERP-IIAS/400 22002: ERP-IIJ2EE

6 ERP-II: The Business Backbone … e-shop backoffice e-market place vendor-ERP finance MIS SFA … needs a technical nervous system! customer-ERP

7 JBossOne, March 2002. Copyright JBoss Group package org.jboss.net.samples.store; public class BusinessPartner { String name=“infor AG”; Address address=new Address(); } public class Address { int zip=66299; String city=null; BusinessPartner partner; } package org.jboss.net.samples.store; public class BusinessPartner { String name=“infor AG”; Address address=new Address(); } public class Address { int zip=66299; String city=null; BusinessPartner partner; } aced0005737200196a6176612e726d692e4d61727368616c6c65644f626a 6563747cbd1e97ed63fc3e020003490004686173685b00086c6f6342797 465737400025b425b00086f626a427974657371007e00017870b553e3d 2757200025b42acf317f8060854e0020000787000000026aced000574 0015687474703a2f2f6b612d6a756e67313a383038332f71007e00007100 7e00007571007e0003000001a7aced0005737200236f72672e6a626f737 32e6e65742e73616d706c65732e73746f72652e416464726573739ac7990 06d1ec3380200064900097374726565744e756d4900037a6970b42acf3 17f8060854e0020000787000000026aced0005740015687474703a2f2f 6b612d6a756e67313a383038332f71007e000071007e00007571007e000 3000001a7aced0005737200236f72672e6a626f73732e6e65742e73616d7 06c65732e73746f72652e416464726573739ac799006d1ec33802000649 00097374726565744e756d4900037a6970b42acf317f8060854e002000 0787000000026aced0005740015687474703a2f2f6b612d6a756e67313a 383038332f71007e000071007e00007571007e0003000001a7aced0005 737200236f72672e6a626f73732e6e65742e73616d706c65732e73746f726 52e416464726573739ac799006d1ec3380200064900097374726565744 e756d4900037a69700005740015687474703a2f2f6b612d6a756e ………………………………………………………………………………………. aced0005737200196a6176612e726d692e4d61727368616c6c65644f626a 6563747cbd1e97ed63fc3e020003490004686173685b00086c6f6342797 465737400025b425b00086f626a427974657371007e00017870b553e3d 2757200025b42acf317f8060854e0020000787000000026aced000574 0015687474703a2f2f6b612d6a756e67313a383038332f71007e00007100 7e00007571007e0003000001a7aced0005737200236f72672e6a626f737 32e6e65742e73616d706c65732e73746f72652e416464726573739ac7990 06d1ec3380200064900097374726565744e756d4900037a6970b42acf3 17f8060854e0020000787000000026aced0005740015687474703a2f2f 6b612d6a756e67313a383038332f71007e000071007e00007571007e000 3000001a7aced0005737200236f72672e6a626f73732e6e65742e73616d7 06c65732e73746f72652e416464726573739ac799006d1ec33802000649 00097374726565744e756d4900037a6970b42acf317f8060854e002000 0787000000026aced0005740015687474703a2f2f6b612d6a756e67313a 383038332f71007e000071007e00007571007e0003000001a7aced0005 737200236f72672e6a626f73732e6e65742e73616d706c65732e73746f726 52e416464726573739ac799006d1ec3380200064900097374726565744 e756d4900037a69700005740015687474703a2f2f6b612d6a756e ………………………………………………………………………………………. aced0005737200196a6176612e726d692e4d61727368616c6c65644f626a 6563747cbd1e97ed63fc3e020003490004686173685b00086c6f6342797 465737400025b425b00086f626a427974657371007e00017870b553e3d 2757200025b42acf317f8060854e0020000787000000026aced000574 0015687474703a2f2f6b612d6a756e67313a383038332f71007e00007100 7e00007571007e0003000001a7aced0005737200236f72672e6a626f737 32e6e65742e73616d706c65732e73746f72652e416464726573739ac7990 06d1ec3380200064900097374726565744e756d4900037a6970b42acf3 17f8060854e0020000787000000026aced0005740015687474703a2f2f 6b612d6a756e67313a383038332f71007e000071007e00007571007e000 3000001a7aced0005737200236f72672e6a626f73732e6e65742e73616d7 06c65732e73746f72652e416464726573739ac799006d1ec33802000649 00097374726565744e756d4900037a6970b42acf317f8060854e002000 0787000000026aced0005740015687474703a2f2f6b612d6a756e67313a 383038332f71007e000071007e00007571007e0003000001a7aced0005 737200236f72672e6a626f73732e6e65742e73616d706c65732e73746f726 52e416464726573739ac799006d1ec3380200064900097374726565744 e756d4900037a69700005740015687474703a2f2f6b612d6a756e ………………………………………………………………………………………. aced0005737200196a6176612e726d692e4d61727368616c6c65644f626a 6563747cbd1e97ed63fc3e020003490004686173685b00086c6f6342797 465737400025b425b00086f626a427974657371007e00017870b553e3d 2757200025b42acf317f8060854e0020000787000000026aced000574 0015687474703a2f2f6b612d6a756e67313a383038332f71007e00007100 7e00007571007e0003000001a7aced0005737200236f72672e6a626f737 32e6e65742e73616d706c65732e73746f72652e416464726573739ac7990 06d1ec3380200064900097374726565744e756d4900037a6970b42acf3 17f8060854e0020000787000000026aced0005740015687474703a2f2f 6b612d6a756e67313a383038332f71007e000071007e00007571007e000 3000001a7aced0005737200236f72672e6a626f73732e6e65742e73616d7 06c65732e73746f72652e416464726573739ac799006d1ec33802000649 00097374726565744e756d4900037a6970b42acf317f8060854e002000 0787000000026aced0005740015687474703a2f2f6b612d6a756e67313a 383038332f71007e000071007e00007571007e0003000001a7aced0005 737200236f72672e6a626f73732e6e65742e73616d706c65732e73746f726 52e416464726573739ac799006d1ec3380200064900097374726565744 e756d4900037a69700005740015687474703a2f2f6b612d6a756e ………………………………………………………………………………………. <multiRef id="id0“ xsi:type=“n1:BusinessPartner“ xmlns:n1= "http://net.jboss.org/samples/store"> infor AG 66299 <multiRef id="id0“ xsi:type=“n1:BusinessPartner“ xmlns:n1= "http://net.jboss.org/samples/store"> infor AG 66299 Typed versus Tagged Efficiency? <multiRef id="id0“ xsi:type=“n1:BusinessPartner“ xmlns:n1= "http://net.jboss.org/samples/store"> infor AG 66299 <multiRef id="id0“ xsi:type=“n1:BusinessPartner“ xmlns:n1= "http://net.jboss.org/samples/store"> infor AG 66299 Java Java.io XML  Platform-Neutral  Single Parser  Small Footprint  Modular, Tolerant  Transformable Externalization?

8 JBossOne, March 2002. Copyright JBoss Group internalize externalize package org.jboss.net.samples.store; public class BusinessPartner { String name=“infor AG” Address address=new Address(); } public class Address { int zip=66299; String city=null; BusinessPartner partner; } package org.jboss.net.samples.store; public class BusinessPartner { String name=“infor AG” Address address=new Address(); } public class Address { int zip=66299; String city=null; BusinessPartner partner; } Java <multiRef id="id0“ xsi:type=“n1:BusinessPartner“ xmlns:n1="http://net.jboss.org/samples/store"> infor AG 66299 <multiRef id="id0“ xsi:type=“n1:BusinessPartner“ xmlns:n1="http://net.jboss.org/samples/store"> infor AG 66299 XML <xsd:element name=“partner” nillable=“true” type=“BusinessPartner”/> <xsd:element name=“partner” nillable=“true” type=“BusinessPartner”/> XSD discover publish validate edit

9 JBossOne, March 2002. Copyright JBoss Group <wsdl:description targetNamespace="http://localhost/axis/services/BusinessPartnerService"> <wsdl:description targetNamespace="http://localhost/axis/services/BusinessPartnerService"> WSDL package org.jboss.net.samples.store; public interface BusinessPartner Service { BusinessPartner[] findAll(); } package org.jboss.net.samples.store; public interface BusinessPartner Service { BusinessPartner[] findAll(); } Java XML-RPC <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:n1="http://org.jboss.net/samples/store/BusinessPartnerService" > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:n1="http://org.jboss.net/samples/store/BusinessPartnerService" > SOAP

10 JBossOne, March 2002. Copyright JBoss Group  Open Source  Flexible Architecture  SAX-based  Built-in Transports and Type-Mappings © 2002 Apache Group

11 JBossOne, March 2002. Copyright JBoss Group Axis Deployment <wsdd:deployment targetNamespace="http://net.jboss.org/samples/store" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <wsdd:parameter name=“className" value="org.jboss.net.samples.store.BusinessPartner.Service"/> <wsdd:typeMapping qname="BusinessPartner" type="java:org.jboss.net.samples.store.server.BusinessPartner" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory” encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <wsdd:deployment targetNamespace="http://net.jboss.org/samples/store" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <wsdd:parameter name=“className" value="org.jboss.net.samples.store.BusinessPartner.Service"/> <wsdd:typeMapping qname="BusinessPartner" type="java:org.jboss.net.samples.store.server.BusinessPartner" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory” encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> WSDD

12 JBossOne, March 2002. Copyright JBoss Group Conclusion: Web-Services  What?  Platform-neutral RPC-Protocol.  Platform-neutral IDL.  (Platform-neutral Registry)  When?  Globally-Networked Interaction.  Loosely Coupled Components.  How?  A Reasonable Service-Container is needed!

13 JBossOne, March 2002. Copyright JBoss Group Web- Server Beans (JMX, EJB) Container=JBoss JBoss.net Deployer Technical Services (JTA, JNDI,JAAS) Axis- Servlet Axis- Service © 2002 Apache Group

14 JBossOne, March 2002. Copyright JBoss Group Axis Servlet MBeanProvider  Useful for Remote Administration.  Prototype.  Lacking Typemappings.  No WSDL-Generation. <wsdd:parameter name="handlerClass" value="org.jboss.net.jmx.server.MBeanProvider"/> <wsdd:typeMapping qname="jmx:ObjectNameType" type="java:javax.management.ObjectName" serializer="org.jboss.net.jmx.adaptor.ObjectNameSerializerFactory" deserializer="org.jboss.net.jmx.adaptor.ObjectNameDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <wsdd:parameter name="handlerClass" value="org.jboss.net.jmx.server.MBeanProvider"/> <wsdd:typeMapping qname="jmx:ObjectNameType" type="java:javax.management.ObjectName" serializer="org.jboss.net.jmx.adaptor.ObjectNameSerializerFactory" deserializer="org.jboss.net.jmx.adaptor.ObjectNameDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> JMX WSDD

15 JBossOne, March 2002. Copyright JBoss Group Axis Servlet EJBProvider & EntityBeanDeserializer store/BPService BusinessPartnerService <wsdd:parameter name="handlerClass" value="org.jboss.net.axis.server.EJBProvider"/> <wsdd:typeMapping qname="BusinessPartner" type="java:org.jboss.net.samples.store.server.BusinessPartner" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.jboss.net.axis.server.EntityBeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> store/BPService BusinessPartnerService <wsdd:parameter name="handlerClass" value="org.jboss.net.axis.server.EJBProvider"/> <wsdd:typeMapping qname="BusinessPartner" type="java:org.jboss.net.samples.store.server.BusinessPartner" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.jboss.net.axis.server.EntityBeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> EJB WSDD

16 JBossOne, March 2002. Copyright JBoss Group Web Service Archives store.wsr

17 JBossOne, March 2002. Copyright JBoss Group WSDL-Generation Axis Servlet Provider Bean http://localhost/axis/services/BusinessPartnerService?wsdl generateWsdl() introspect() WSDL- DOM <wsdl:description targetNamespace="http://localhost/axis/services/BusinessPartnerService"> <wsdl:description targetNamespace="http://localhost/axis/services/BusinessPartnerService"> WSDL

18 JBossOne, March 2002. Copyright JBoss Group Additional Handlers Axis Servlet Bean JBoss- SetCL JBoss- Authent. JBoss- Author. JBoss- ResetCL Provider JBoss- ResetTx JBoss- ForceSer JBoss- Tx set thread context classloader to the service´s deployment classloader. run HTTP-Basic-Authentication values against a given security manager. control access to service depending on security roles. start new User-Tx force serialisation within Tx-Borders commit/rollback User-TX reset thread classloader

19 JBossOne, March 2002. Copyright JBoss Group Planned: Universal Description, Discovery and Integration JBoss-Integrated UDDI-Server (uddi4j, juddi) Automatic Publication of Web-Services Information about business service binding specification

20 JBossOne, March 2002. Copyright JBoss Group J2EE1.4: Let´s be the first ;-)  JAXR – Java API for XML-Registries  JBoss.net will use this API.  JAXRPC – Java API for XML Remote Procedure Call  Axis does already partially implement this API.  JAXM – Java API for XML-based Messaging  It is underlying JAXRPC  JAXB – Java API for XML Data Binding (EA-Q4, 2002)  Axis hopefully will use this API.  J2EE Web Service Deployment Specification  JBoss.net will implement it.

21 JBossOne, March 2002. Copyright JBoss Group Conclusion: JBoss.net  We want you to give it a try!  Integration-Plugin that ties (Open Source) Web Service Tools to JBoss.  Philosophy: Web Services as an optional wrapper around J2EE™  Crucial Parts (Deployment, Security, Bean-Interaction-Patterns) are done.  We want you to participate!  Fine-Tuning needed (Doco,MBeanProvider, Handler-Params).  Automatic Bean-Exposure Mode.  Web Service Clustering.  Java2WebService needs Polishing.  JAXR & UDDI.  Keeping up with the Web Service Standardization Process.  JDO as a data-source, JMS as a transport?  Reference values for Web Services, Collections. Jboss 3.0

22 JBossOne, March 2002. Copyright JBoss Group A Decent Outro All Your Web Services Are Belong To Us!


Download ppt "JBossOne, March 2002. Copyright JBoss Group A Decent Intro."

Similar presentations


Ads by Google