Hi Arunmozhi,

[-- cross-posting to [EMAIL PROTECTED] list since the contents are relevant 
there as well --]

> I am looking for some design guidelines for creating business object EJBs.
>
> 1. Should I have business logic in entity beans ?

IMHO, it makes sense to have two types of business logic in session beans (typically, 
stateless session beans):

1. Operations involving multiple rows in a database: Entity beans seem more 
appropriate for single row operations. Moreover, it may be more efficient to do 
multiple row operations in session bean.

2. Shared Service Object: The object implements a service (e.g.,a mail service) and it 
needs to be shared across remote objects. e.g., In an ecommerce application, you may 
want to send order confirmation mails to the customers on successful completion of 
orders. This is a service, and it may need to be shared all over the application(for 
centralized logging, etc.)


> 2. Should they just implement the insert/update/delete into
>    the corresponding table ?
> 3. As per the business logic, If an update/insert/delete
>    operation on a table requires updating/inserting/deleting
>    on a different table as well - where this logic should be coded ?
> 4. Should session beans be used for implemnting this busiiness logic ?

If you can handle it by a "join", then it makes sense to do this in an entity bean. 
Otherwise, session bean seem more appropriate.


> 5. Should there be one instance of session bean for each instance
>    of corresponding entity bean ?
> 6. Should session beans be used to wrap Entity beans ?  If yes,
>    what should be the criteria for selecting the entity
>    beans that needs wrapping ?

(I assume that you mean stateful session beans here).

Since session beans are used to implement current session specific functionality and 
entity beans are used to implement data objects in your system, having a stateful 
session bean for each entity bean will probably not even make sense in most cases. 
However, this approach may be useful to personalize the generic data coming out of the 
entity bean to the current client session.


> 7. Should I have one session bean for one UI screen ?

This seems like an interesting approach when using Model-View-Controller pattern to 
architect your application. MVC recommends one controller per view. So, if each of the 
UI screen is actually a different view, then you should have a controller (implemented 
as a session bean) per UI screen.
However, typically, your view will consist of multiple screens, so you should 
logically group them together and have a single controller for them.

comments welcome
thanks
inder

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to