I'm not sure if there is an accepted general way of packaging an app.  I'll describe 
what we're doing on my current project to give you an example, though:

com.companyname.neti
com.companyname.neti.ejb
com.companyname.neti.ejb.model - contains all DTO type objects
com.companyname.neti.ejb.delegate - contains a business delegate that hides all EJB 
implementation details
com.companyname.neti.ejb.facade - contains all EJB code (in this case, facade beans) - 
actually only the Bean classes, beause we're using EJBGen to generate the rest
com.companyname.neti.ejb.persistence - contains any entity EJBs

all of com.companyname.neti.ejb gets packaged into a JAR

com.companyname.neti.web - contains general classes used within the web portion of the 
app
com.companyname.neti.web.action - contains struts actions
com.companyname.neti.web.form - contains struts forms
com.companyname.neti.web.taglib - contains taglibs

all of com.companyname.neti.web gets pacakges into a WAR.

There's also a "common" set of classes that get packaged into a separate JAR to be 
used by both the EJB JAR and the WAR.

the JAR and the WAR get packaged into an EAR.

We have some more layers and components in there, but to simplify it a bit, I left 
those out.

Hope this helps

-----Original Message-----
From: Vinay [mailto:[EMAIL PROTECTED]]
Sent: Thursday, January 23, 2003 8:34 AM
To: Struts Users Mailing List
Subject: Packaging struts business logic and action classes



Can somebody please clarify or explain the following 

1. Business Objects (BO's)
2. Data Access Objects (DAO's)
3. Value Objects (VO's)
4. Data transfer objects (DTO's)

All of the  above I know is part of the Model(M) in MVC architecture.I think that 
Value Objects and DTO's are the same , and they have setters and getters.Correct me if 
I am wrong.

What is the general way of packaging a struts application?
like if my companyname is www.companyname.neti will probably have an application or 
context as applicationname as its name. 
I would like my business logic to be independent from the struts specific 
controller(action classes) . 

 I also know the package should start with    net.companyname.applicationname.

Thanks in advance.

Help appreciated.







--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to