Skip to main content

Reference Implementations and Production Quality Implementations

Posted by pelegri on June 13, 2006 at 9:58 AM PDT

One of the reasons for the success of the JCP is that it requires
a Specification,
a Technology Compatibility Kit (TCK) and
a Reference Implementation (RI).
The TCK is intended to cover the specification
and the RI is required to pass the TCK;
together, these deliver specifications that are implementable and testable.
Together with the community participation in the Expert Group
and in the different Review Processes,
all this leads to good, useful, implementable specifications.

A popular misconception is that a Reference Implementation always is
a "toy" implementation, unsuited for production use.
This is not true.
An implementation being an RI just means that it satisfies this specific role
in the JCP process;
there are all types of RIs.
Some implementations are indeed just "proof of concept" but others are
production-quality and are used in commercial products.

An example of this misconception applies to Project GlassFish.
Every now and then I hear somebody saying that
"... but it is just a Reference Implementation".
The implementation created by this
Community
is the RI for Java EE 5
but that implementation is also distributed as the
Sun Java System Application Server 9.0.
Part of the confusion is because at some point in the past Sun had two
AppServers;
that changed years ago and it is no longer the case but misconceptions
take a life of their own (as politicians, movie stars, and many others know...)

Hope this helps.
I'll contact Onno and suggest he add some clarification in this topic to the
JCP FAQ.

BTW, if you are interested in Project GlassFish and the Java EE 5,
you may want to check a note I recently wrote for
TheAquarium
collecting
20 Things You Should Know about Project GlassFish.

Related Topics >>