On 10/22/05, Martin Marinschek <[EMAIL PROTECTED]> wrote:
> It is a realistic scenario if you think about JBoss including MyFaces
> (the implementation) 1.1.0 as a standard somewhere in the server - and
> you want to upgrade to 1.1.1 in your webapp for the newest and best in
> the tomahawk components.

IMHO, I believe this general scenario to be both realistic and
extremely important to the success of the MyFaces project.

MyFaces Runtime consumers expect a stable implementation of the JSF
specification that competes on performance with other implementations
of the specification.  It is expected that this part would stabilize
fairly quickly for each version of the JSF specification.

MyFaces Tomahawk consumers expect innovation via new features and
components, that can be plugged into any faithful implementation of
the JSF specification.  It is expected that this part would continue
to evolve over a much longer timeframe than the MyFaces Runtime.

Since MyFaces Runtime is a producer of the the standard and MyFaces
Tomahawk is a consumer of the standard, these two deliverables should
be released and versioned independently, using only the JSF
specification as an interface to communicate between them.  This will
reduce the coupling between the two subprojects which is a good design
principle.

Any approach involving a restriction on "special" versions that are
required to work together (beyond JSF specification compliance) is
likely to reduce confidence in both MyFaces Runtime and MyFaces
Tomahawk, and could easily lead to a customer preference to run
MyFaces Tomahawk on the RI instead, where no such version restriction
exists.

However, the solution is simple.  Eliminate all shared code between
implementation and components, and release each subproject with
independent versioning.

Kind Regards,
John Fallows.

Reply via email to