Change Notes item #833797, was opened at 2003-10-31 19:26
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=381174&aid=833797&group_id=22866

Category: JBossServer
Group: v4.0
Status: Open
Priority: 5
Submitted By: Dr. Christoph Georg Jung (cgjung)
Assigned to: Nobody/Anonymous (nobody)
Summary: [Jboss.net/Server/System] J2EE1.4/WS4EE1.0 initial bits.

Initial Comment:
Hi,

I just (re-)submitted the initial parts of the 
J2EE 1.4/WS4EE 1.0 implementation. 

Fortunately, these are not exactly along 
the rolledback prototype, but a rearchitectured, 
this time more profound approach (that, especially, 
has only a very loooooose and configurable coupling 
of the interacting WS4EE, EJB and WAR deployers)

Some core components in server/system had to be 
touched for 
that purpose (which I tested as good as I could, but 
which
certainly require some reviewing by Scott, Bill and 
others):

+ system

  - org.jboss.deployment.JBossEntityResolver now also  
    caches new J2EE1.4 schemas (in conjunction with
    the org.jboss.net.server.JBossNetEntityResolver 
    subclass including the WS4EE1.0 schemas).

+ server

 - org/jboss/metadata contains now additional 
   J2EE1.4 xsds, such as ejb_2_1.xsd. The jboss_3_2.dtd 
   has been patched such that a single container 
   configuration can support multiple invoker bindings 
   (e.g., rmi+soap).

 - etc/conf/standardjboss.xml binds an additional
   proxy factory (provided by the jboss-net.sar) 
   under name "session-webservice-invoker". There is an
   additional "Webservice-Enabled Session Bean" 
configuration
   which publishes both "standard-rmi-invoker" and 
   "session-webservice-invoker".   
   
 - org.jboss.metadata.ConfigurationMetaData and 
   BeanMetaData have been extended appropriately. 

 - org.jboss.ejb.EntityEnterpriseContext sometimes 
   needs access to the default proxy factory which is 
now
   the first one in the container config.

 - org.jboss.metadata.XMLFileLoader has been made
   namespace-aware (because of the xsd-based 
   descriptors), ApplicationMetaData will accept those
   "doctype-null" documents when running in ejb2.1 
mode. 
   SessionMetaData now references a new type of 
   interface, named "service-endpoint" and will
   refer to the new standard container configuration 
   in the case of ws-enabled session beans. 
MethodMetaData
   collects information about a new type of method
   belonging to that interface.

 - org.jboss.invocation.InvocationType introduces this 
new
   method type "SERVICE_ENDPOINT" that is treated in 
the 
   container equivalent to "LOCAL" and "REMOTE".

 - org.jboss.ejb.SessionContainer factors out
   highly redundant code from Stateless- and 
   StatefulSessionContainer (sorry, could not resist. It 
cried
   for refactoring - If I messed something up, you may 
hang
   me!). It caters now for the additional
   beanMappings Service-Endpoint->SessionBean 
(because we 
   have a reasonable way of providing session-based 
   stateful web-services - this is beyond the spec). 

 - org.jboss.ejb.Container will accept invocations on
   InvocationType.SERVICE_ENDPOINT and route them 
to the
   usual invoke() chain. Similarly, 
   org.jboss.ejb.plugins.AbstractTxInterceptor had such 
a 
   case analysis that has been extended.

 - org.jboss.ejb.EJBDeployer will generate additional
   subdeployments when detecting a META-
INF/webservices.xml
   in a jar. This is a temporary solution that will vanish
   when we decide to go the "one-unit-multiple-
deployments"
   approach in MainDeployer. Until then, this is a feasible
   workaround that allows the loose cooupling

This, by itself, will operate as usual in the J2EE<1.4 
case 
and give you some CNFE for the new proxy factory
in the J2EE1.4 case when using the "default" server 
configuration.

When using the "all" configuration (or by copying the 
jboss-net.sar folder over to "default"), the following 
happens (at least in the case of simple WS->EJB 
examples which 
we focused on):

 - org.jboss.net.ws4ee.server.WS4EEDeployer gets hold 
of the
   EJBDeployer subdeployment and registers its meta-
data
   under 
jboss.j2ee:service=WebServiceModule,module=your.jar
 
 - org.jboss.net.ws4ee.server.EJBProxyFactoryImpl will 
be
   instantiated when the web-service enabled ejb 
container
   is created. It will then contact the corresponding
   WebServiceModule through JMX and registers the 
container
   for the ejb-linked web services.

 - WS4EEDeployer will transform the WS4EE1.0 meta-
data into
   a proper axis wsdd. Each EJB webservice endpoint will 
be
   represented herein by a 
   org.jboss.net.ws4ee.server.EJBInvokerProvider.

 - The EJBInvokerProvider will contact the 
WebServiceModule 
   through JMX and hence get an immediate reference to 
the
   container for invocation purposes using the new
   InvocationType.SERVICE_ENDPOINT and to the 
deployed
   wsdl document for describing itself.

Many thanks to Thomas Diesler for jump-starting this 
idea. 
We two will now turn to more advanced things 
like wsdl-location patching,
additional mapping meta-data, handler integration and 
service stub generation and binding, uddi publication, ... 
Michael Krause is going to do the WS->WAR part.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=381174&aid=833797&group_id=22866


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to