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



Reply via email to