Sure, but right now I don't care about editing the dds. What I want to
know is what is supposed to happen when I say "distribute" with a
package that has say a web services descriptor in it. Does the 88 spec
say anything about what is supposed to happen? As I understand it such
a package will have to be distributed either as a web module or an ejb
module, depending on the other dd in it.
Many thanks,
david jencks
On Sep 1, 2004, at 2:26 PM, Aaron Mulder wrote:
As far as JSR-88 goes, it includes a facility for multiple
standard DDs per module -- I think you identify them by name. So the
DDBeans would include DDBeans for all the different standard DDs
(definitely including web services, and likely including portlets as
well), and then the server module can provide DConfigBeans matching
any or
all DDBeans, and then all the deployment plan ends up including all the
server-specific information, whether it corresponds to just one
standard
DD or multiple ones (and whether just one module or multiple modules
in an
EAR).
Aaron
On Wed, 1 Sep 2004, David Jencks wrote:
I've been working a bit with portlets recently and as a result
considering how we can handle deployment of packages with auxiliary
spec-mandated deployment descriptors using jsr-88. I find the jsr-88
spec somewhat sketchy on this and at least the portlet spec doesn't
mention jsr-88. The current web services deployment code does not
appear at first glance to fit well into either jsr-88 deployment or
the
geronimo architecture.
As I understand, web services and portlets both involve deploying a
standard j2ee package (web or ejb) that have an additional deployment
descriptor in them (web-service.xml(???) and portlet.xml).
Here's what I think should happen:
--jsr-88 client tells geronimo to deploy package, as a standard j2ee
package.
--geronimo deployer sorts it as a standard package and hands it to the
web or ejb deployer
--web or ejb deployer recognizes the extra deployment descriptor and
hands it to the web services or portlet deployer
--specialized deployer constructs specialized ejb or servlet
containers
gbeans directly (possibly in cooperation with the normal ejb/web
deployers) and adds them to the package configuration (again perhaps
in
cooperation with the standard deployers)
--the specialized deployer may need to communicate some extra
information to some other service. For example, Jetspeed2 has a
portlet registry that needs to be informed of newly deployed portlets.
Ideally this information can be communicated by including it in the
container gbean (servlet or ejb) and using gbean reference collections
to notify a registry gbean. However, some other approach may be
necessary.
Since the openejb deployer is already constructing container gbeans
for
each ejb, I would not expect that a web service-ejb deployer along
these lines to require extensive modifications to the openejb
deployer.
However, our jetty deployer currently relies on jetty to interpret
the
web.xml descriptor and deploy servlets. This has the additional
problem that servlets are not represented by gbeans, so they don't fit
in the jsr-77 framework. I think the solution here is to extend the
geronimo-jetty deployer to construct gbeans for each servlet directly
from the web.xml, and not use the Jetty deployer at all.
Comments?
many thanks,
David Jencks