geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Berin Loritsch <>
Subject Re: [General] Container interface and AbstractContainer
Date Fri, 15 Aug 2003 16:42:29 GMT
Alex Blewitt wrote:

>>>> Speaking in definitions, a Service is a Component that performs an 
>>>> action (as
>>>> opposed to represent a thing like EntityBeans).
>>>> Services would include your different J2EE containers, and the 
>>>> things that
>>>> they do.
>>> Surely then it makes it desirable to have a 'Thing' and 'Service' 
>>> supertypes to distinguish between them?
>> I'm not sure what you mean by 'Thing' here, but JSR77 makes a 
>> distinction between a resource and an instance of a resource (a 
>> service).  So they have things like a JDBC Driver (a resource) and a 
>> JDBC connection pool (a service).  Is that what you mean?
> Yes, but I couldn't think up a good word for a non-service class; 
> resource sounds like it fits the bill. But would then things like 
> Servlets, EJBs etc be resources as well?

Not necessarily.

A Servlet is active, it *does* something.  There is not a one-to-one
relationship with a particular resource and a servlet (unless you are
using JSPs, but it doesn't change the general rule).

With EJBs, there are two types.  An EntityBean represents a resource,
or a particular record.  It is a "thing".  A SessionBean on the other
hand represents encapsulated business logic, or essentially a business
service.  So the SessionBean would be a service and an EntityBean would
be a thing.

Keep in mind that one service can use other services to accomplish its
task.  Serving up web content is the service that the ServletContainer
supports, but it uses different Servlets to help it accomplish that
task.  In turn, those Servlets can use other services (like Cocoon) to
achieve its goal.


"They that give up essential liberty to obtain a little temporary safety
  deserve neither liberty nor safety."
                 - Benjamin Franklin

View raw message