jsr345-experts@ejb-spec.java.net

[jsr345-experts] Re: EJB lite subset

From: Florent BENOIT <Florent.Benoit_at_ow2.org>
Date: Wed, 26 Sep 2012 18:50:27 +0200

Yes we should be able to provide EJB lite implementaton with additional
features. If it's not clear this should be clarified.
Also EJB MDB /JCA is a good usecase.


Regards,

Florent

On Wed, Sep 26, 2012 at 4:39 PM, Jeremy Bauer <jrbauer_at_us.ibm.com> wrote:

> Experts,
>
> The specification currently states this regarding the EJB lite subset:
>
> <chapter 16>
> The set of required APIs is divided into two categories: a complete set
> and a minimum set. The minimum set is also referred to as “EJB 3.2 Lite.”
> This reflects the ability of a Server Provider to provide an EJB 3.2
> container within a product that implements the Full Java EE Platform or
> within a subset profile such as the Java EE Web Profile. The complete set
> is required within an implementation of the Full Java EE Platform. The
> minimum set must be supported within an implementation of the Java EE Web
> Profile. Profile requirements are described within the Java EE Platform
> specification [ 12 ]
>
> ...
>
> For these reasons this specification defines a minimal subset of the EJB
> API known as EJB 3.2 Lite. EJB 3.2 Lite is not a product. Rather, it is a
> proper subset of the full EJB 3.2 API that includes a small, powerful
> selection of EJB features suitable for writing portable transactional
> business logic. The definition of EJB 3.2 Lite gives vendors an option to
> implement only a portable subset of the EJB API within their product. The
> vastly reduced size of the feature set makes it suitable for inclusion in a
> wider range of Java products, many of which have much smaller installation
> and runtime footprints than a typical full Java EE implementation.
> </chapter 16>
>
> Can this be interpreted as though a vendor could provide EJB lite with
> additional features such as EJB timers, but not a full EJB implementation?
> The specification doesn't seem to explicitly prohibit this. If the
> specification does require either EJB lite or a full EJB implementation, I
> think we should consider allowing this type of configuration in EJB 3.2.
> The JCA specification (section 3.5) has a precedent for this already. The
> JCA specification defines a minimal subset of features and then requires
> additional features based on the availability of other dependent component
> specification implementations. For example, vendors must implement JCA
> message inflow based on the availability of a MessageEndpointFactory
> implementation. If a vendor were to implement the EJB lite minimal subset
> + MDBs, a JCA subset implementation would then need to implement message
> inflow in order to support this configuration. Thoughts?
>
> -Jeremy