Agreed. I think the first thing we all need to do (atleast those who want to do this module) is read the sun deployment specs. If we want to create something that not only can be used for Gerinomo, but for other stuff we have to do it with a good understanding of what the specifications are. Once you've read the specs make sure you let others know so they know who to go to for questions. That will be my homework reading tonight.

Deployment Specs
http://jcp.org/en/jsr/detail?id=88

Question: I noticed that the most recent docs are from July 2002. Has nothing change since then?

~Jonathan

Weston M. Price wrote:

I guess first and foremost,
IMO


Let's have fun with this module...man, we have banged around on this list all day and I believe we have really worked out some excellent ideas. I know I have gained a great deal by just being involved...but let's not forget, we are supposed to enjoy doing this, this is Apache right? Verification and deployment are two of the most un-sexy ideas in J2EE, in fact, next to Java IO (prior to NIO) I can't think of anything more dull....well, save for maybe the Boston RedSox..(sigh, ignore that)...However, I am pretty pumped about this.....I get to develop code with smart engaging personalities (some that get up before noon) and just have a blast....so, let's just take it step by step and see what comes up....I have already heard about a million ideas that are great....the basic module structure could use some comments...so let's just role with it...


Regards,

Weston





On Monday 11 August 2003 07:33 pm, [EMAIL PROTECTED] wrote:


Agreed. I`m not familiar with maven yet. Definitively needs help on that...

About planning: I think that all of us agreed that the deployment verifier
will have to be a component: it will have to receive the ear file from
somewhere and do all the tasks without any help of external entities. This
way, it can be placed in the client GUI, in the server, we can create an
ant task for it, and so on.

Some thoughs about the verifier:

1. It should have an interface for rules. This interface will allow each
rule implemented in a distinct class (several rules can be implemented in
the same class either). Not sure about performance issues yet, but IMO this
is the best that can be done to make sure that new rules added/removed from
specs will be promptly integrated into verifier. I'm thinking in Chain of
Responsability to manage the rules, but each rule will have to say about
what domain it`s related (home interfaces rules, local interfaces rules,
session rules and so on). One "class rule" can be related to more than one
domain. This will speed up the process, as the verifies asks only the rules
related to the domain that it`s verifying at moment;

2. It should have an interface for expressing rules violations, like
ActionError on Struts. This interface should allow to query about what
section was violated, the message related to the error (with i18n for sure
;) ), the offendind class and so on. This way, any tool that want to use
the validator can get the error lists and manipulate them as they want; IMO
this is better than exceptions because we can generate several violations
at once and is better that string messages because gives more flexibility.

3. The validator will have to read the application.xml and ejb-jar.xml
files to do the job (specific deployment files like jboss.xml would be
interesting but have to be integrated in a really modular way). The point
is that the server will have to read these file as well to startup the
application. So, the reader should be placed in a common lib. Do anyone
knows if jakarta already have this implemented?

4. If we will write the XMLs readers decribed above, does everyone agrees
in using JAXB?


Cheers, Denes

Citando Jonathan Duty <[EMAIL PROTECTED]>:


Great.  Lets get a maven project stub generated and get started.  Any
ideas for planning?

~Jonathan

Weston M. Price wrote:


Right on dude....

You nailed it....especially in terms of the relationship between the
controller and the two...well at this point we will call them


services....The



"manager" cooridinates the interaction between the two...I am of the


personal



mind that the verification service should have no knowledge (at least in
terms of hard references, we will share code) of the deployment service.


This



would allow the modules to be distinct....this would naturally dictate a
common set of classes shared between us which could possibly be it's own
module, perhaps the objects implementing the javax interfaces.

Weston

On Monday 11 August 2003 04:48 pm, Jonathan Duty wrote:


Since I'm weird and think better in pictures, I tried to draw what you
were describing.  Do I have the correct Idea of your vision?
The image is attached.  Hope this helps others out also.
~Jonathan

Weston M. Price wrote:


I have thought of it in terms of a deployment manager (as Chris
alluded


to



earlier this morning). The manager would be responsible for
coordinating the interaction between the verification engine and the
deployment engine....sort of a controller, that way the two can be
loosely coupled relying on an external agent to provide an higher
level of service, in this case the complete deployment of a J2EE
archive.

Weston

On Monday 11 August 2003 04:05 pm, Labeeb Syed wrote:


In this scenario, the verifier will have to interface
with the deployer. I would definitely like to
implement the SPI for the deployer.

Q: Should the deployer be responsible for ensuring
bean consistency, e.g., entity bean cmr mapping vs
databases and relational mappings, or any such other
technical issues (realms checking, etc.)?

Chris, if this is what we'd work on, I'd like to come
up with a list potential technical problems we could
encounter to ensure just integrity of the DD file.

Labeeb Syed

--- Chris Opacki <[EMAIL PROTECTED]> wrote:


That is exactly what i was thinking. This is the
object model that has been defined in the deployment
spec... under Tool Provider Interfaces. There are
also
some other classes, exceptions and interfaces that
both modules might use.

--- "Weston M. Price" <[EMAIL PROTECTED]> wrote:


But I do agree that the two teams must work


closely



together....Chris made an
excellent point in indetifying that there are
certain basic facilities that
we can use together....I think if we can agree on


a



common object model for
archive formats (EAR, WAR, SAR) then we could
probably develop our own
streams, attributes, behavior.....

Weston

On Monday 11 August 2003 03:18 pm, Chris Opacki

wrote:


Ditto on all of that! Quite honestly...the


deployer



shouldn't run...period...until the verifier has
run...its a good idea that the deployableobject


are



build from within a controller that sends them


to



the



verifier for verification and then to the


deployer.



Something along that lines at a high level. we


can



reuse both engines for CLI and the GUI.

--- Jonathan Duty <[EMAIL PROTECTED]> wrote:


+1 You've convinced me. That would be a bad


a$$



tool to have as a
developer.

Plus, the deployment team could use it if they


want



to verify the
archive schema before they start deploying it.

Count me in!
~Jonathan


Jonathan Duty Software Developer - eWashtenaw


-----Original Message-----
From: Weston M. Price


[mailto:[EMAIL PROTECTED]



Sent: Monday, August 11, 2003 6:41 AM
To: [EMAIL PROTECTED]
Subject: Re: J2EE deployment verifier

I agree completely. I think what we are


talking



about are two modules
that are
close cousins. The verification manager is


again,



the "front-line" of
defense
for the deployment manager. I would assume the
deployment manager would
deal
with critical errors such as


LinkageConstraints,



incorrect classfile
versions
etc. while the verfication manager will handle
actual semantic
fallibities in
the deployment descriptors based upon the


existing



specifications.

The reason I mentioned a seperate


verification



module was that I
would
developers (hell, I know I would) like an


engine



that given a deployment

platform could validate their archive before


ever



trying to drop it in
the
chute. This would save a lot of time largely


due



to



the fact that XML
descriptors are not typed and you don't know


if



they



are "correct" at
compile
time. I suppose the biggest win in all of this


in my



opion would be to
provide hooks for an ANT task that would


verify



the



archive during
compile
time.

Regards,

Weston


On Monday 11 August 2003 02:39 pm, Jonathan


Duty



wrote:


Why couldn't they be close friends. Could


this



verifier, even as a



separate module, be a subset of the deploy


module?



I mean we don't
want



to deploy something that the J2EE server


will



not



accept.



Maybe these 2 groups should work close


together.



~Jonathan

-----Original Message-----
From: Chris Opacki


[mailto:[EMAIL PROTECTED]



Sent: Monday, August 11, 2003 10:23 AM
To: [EMAIL PROTECTED]
Subject: RE: J2EE deployment verifier

My bad...I was assuming the deploy tool and


the



verifier would be close friends.
;)

--- Srihari S <[EMAIL PROTECTED]>


wrote:


True
Our module is just going to check and


declare



whether or not a given unit of
deployment
is deployable on a j2ee server or not.

Nothing more..nothing less.
Building this unit will be our


mission..right



weston??

-----Original Message-----
From: Weston M. Price


[mailto:[EMAIL PROTECTED]



Sent: Monday, August 11, 2003 3:05 PM
To: [EMAIL PROTECTED]
Subject: Re: J2EE deployment verifier


And even further, let's clarify the


verification



is



a completely different
animal than actual deployment. Am I


correct



on



this



one at least in terms of
the way we are thinking about this module?

Weston


=== message truncated ===


__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com





Reply via email to