Tim Shepard wrote:
>Do you have one or multiple interfaces to your app server? We are in the
>situtation that we will have multiple end points for our data: our client,
>third party software, other internal products which want to integrate with
>ours, etc etc. For that reason we have felt that session beans make for a
>nice way to create "application views". In other words, entity beans
>provide the building blocks that session beans assemble to serve a
>particular application / consumer.
You've hit the nail on the head here Tim. You refer to "interfaces" to your
application but I find it helpful to talk about "channels", to exploit the
analogy of channels to market for a product. It's a key requirement of
modern applications that new channels (to market) can be built rapidly. A
successful application with one or two channels today will probably have
three or four channels next year.
Session beans are ideal for "channel-enablement logic", i.e. the
application logic for a specific channel to the data which is unlikely to
be reusable in other channels. Entity Beans are ideal for the business
logic which controls the database - the logic that all channels MUST reuse
in order to preserve control.
It's a misapplication of the EJB technology to design entity beans with
mere getters/setters and to put all the business logic in session beans.
You'll get poor performance, and there will be no natural place to split
business logic and channel logic so if the application expands you'll get
little reuse between channels and you'll lose control of the database.
Ian McCallion
CICS Business Unit
IBM Hursley
[EMAIL PROTECTED]
Tel: ++44-1962-818065
Fax: ++44-1962-818069
===========================================================================
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".