Originally posted by Gurumurthy Ramamurthy:
Thanks Sanjeev.
Already I have used weblogic API to deploy my ear file, it was successful.
Now, I have a typical problem like I would like create a single program through which I want to deploy ear file on different app servers (say weblogic, websphere, oas etc.).
So, I would like to use pure jsr 88 API (from sun java), so that it would be a common API and only class differs is that app server specific classes for registering the implementation factory.
I am able to get the DeploymentManager instance using jsr 88 APIs. Now, next step is getting the DeployableObject for the given ear file, as far as I have searched there is no implementation class for this interface or any classes seem to give the instance of DeployableObject. But, I have seen WebLogicDeployableObject implements DeployableObject, but it would be narrow to weblogic. If I use this class, then for other app servers, I need to have app server specific DeployableObject, isn't it? So, looking for pure jsr 88 api for this.
Thanks,
Guru
Gurumurthy,
Let me explain a bit about JSR-88. There are a set of APIs
the App Server vendor must implement and a set of APIs the
external Tool vendor must supply. The App Server vendor
must implement all the APIs in the javax/enterprise/deploy/spi
package because those APIs represents a direct connention into
the appserver and that is usually proprietatary code. The Tool
vendor must implement all the APIs in the javax/enterprise/deploy/module
package because they have control of the access to the app code.
The tool vendor may be using a proprietary directory structure for
and unjar-ed app or the app may be in a stnd
J2EE archive.
In this case you are the Tool vendor. You must implement the
javax/enterprise/deploy/module package interfaces, and DeployableObject
is one of them, however you need not create code from scratch. There
are several open-src projects have have implemented these APIs. I
would recommend taking what they have and modifying it to meet
your needs. Glassfish and Netbeans have implementations.
See
http://java.sun.com/javaee/glassfish/ and
http://netbeans.org Join the glassfish project (for free) and you have access to all
the src code. The package name to the implementation is
..../deployment-api/src/java/javax/enterprise/deploy/model/J2eeApplicationObject.java
Netbeans has src code download modules.