Versions Compared

Key

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

...

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)

Quick start-up

 

(tick)

(tick)

No special deployment requirements

Developers should be able to write pure Java code without knowing anything about the container

(tick)

(tick)

Run in variety of environments

Have a small footprint and minimal API to allow use in everything from standalone desktop applications, to web-only containers (like Tomcat), to full-blown J2EE Application Servers.

(tick)

(tick)

Provide crosscutting customization and extensibility

For example, inject security checks, logging, or profiling into objects without them being aware.

(tick)

(tick)

...