Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In short, we took an A la Carte approach, choosing only those technologies we actually needed that fullfilled our requirements, and adopting an *emerging post-EJB consensus* favoring a lightweight container to provide only those J2EE Enterprise Services we required.

Under this definition, a continaer could be anything from a full-blown J2EE Application Server to Apache Tomcat, depending on the services required of the container.

...

For the GLAST Framework, a lightweight container had to provide the following services:

Service

Description

All Containers

Lightweight Containers

Lifecycle management

Control lifecycle of application objects running within it (for example, clean initialization, startup and shutdown).

(tick)

 

Lookup

Obtain references to managed objects; create objects/services on demand.

(tick)

 

Configuration

Externalize configuration from code into simple configuration files.

(tick)

 

Dependency resolution

Manage relationships among managed objects (for example, configuring beans by calling setters, or automatically calling constructors with managed beans).

(tick)

 

Transaction management

Externalize transaction management from code into configuration files (i.e. declarative transactions).

(tick)

 

Object pooling

The obvious example are database connections.

(tick)

 

Expose remote services

Not just SOAP based web services; there are other, simpler wire protocols.

(tick)

 

Consume remote services

Provide transparent access to remote objects running outside the container.

(tick)

 

Non-invasive

Run existing legacy code as-is in the container. Code should run the same both inside and outside the container

(tick)

(tick)

Requirement

GINO

RM

Installer

TC

System Tests

Data Access

Web configuration/editing

(tick)

 

 

 

(tick)

 

Web reports

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

Single Sign-On

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

Persistence (CRUD)

(tick)

 

 

 

(tick)

 

Reports (DB Queries)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

Batch Submission

(tick)

(tick)

 

 

(tick)

 

Scheduler

(tick)

(tick)

 

(tick)

(tick)

 

Event Notification

(tick)

(tick)

 

(tick)

(tick)

 

Automated email

(tick)

(tick)

 

 

 

(tick)

...