WildFly Preview support for Jakarta MVC 2.1
Overview
Jakarta MVC is a Jakarta specification project for providing support for the Model-View-Controller pattern in web applications. The specification has had three releases, and a fourth is in the works. It has been considered for incorporation in the Jakarta EE Platform or Web Profile, although it was not included in Jakarta EE 11.
The intent here is to provide preview support for Jakarta MVC in the WildFly ecosystem in order to gain broader experience with the technology and to better gauge community interest.
The integration is straightforward; just a matter of exposing a couple of modules with an API and two implementation artifacts to deployments. Users can easily enough package these artifacts in their own application artifacts; WildFly providing its own integration saves them needing to manage the implementation.
Issue Metadata
Issue
Related Issues
*
Stability Level
-
Experimental
-
[X] Preview
-
Community
-
default
Dev Contacts
QE Contacts
Testing By
-
[X] Engineering
-
QE
Affected Projects or Components
Other Interested Projects
Relevant Installation Types
-
Traditional standalone server (unzipped or provisioned by Galleon)
-
Managed domain
-
OpenShift s2i
-
Bootable jar
Requirements
Hard Requirements
-
Provide an extension/subsystem that makes modules containing the Jakarta MVC 2.1 api and the Eclipse Krazo implementation available to an application.
-
Provide an 'mvc-krazo' Galleon layer
-
The layer will depend on the 'bean-validation', 'cdi' and 'jaxrs-core' layers, in line with Jakarta MVC’s dependencies on other EE specifications.
-
-
Provide an extension/subsystem artifact jar, and a 'galleon-shared' src zip for use in other feature packs.
-
Incorporate the above in the 'wildfly-preview' feature pack.
-
Provide a Galleon feature pack that depends on
wildfly-ee
and that can install the Jakarta MVC integration into standard WildFly. -
Extension will advertise itself as having stability level 'preview'.
Nice-to-Have Requirements
Non-Requirements
-
Inclusion of the extension/subsystem in any standard OOTB config, including docs/examples configs.
-
Inclusion in any of the WildFly user boms.
-
Quickstart.
Future Work
-
Possible integration into the 'wildfly' or 'wildfly-ee' feature pack.
-
Add a quickstart
-
Requires integration into 'wildfly' or 'wildfly-ee' FP, along with Quickstart project support for preview features.
-
Backwards Compatibility
Default Configuration
No incompatibility.
Importing Existing Configuration
No incompatibility.
Deployments
No incompatibility.
Interoperability
No incompatibility.
Initially, use WildFly Extras to house the source code.
Security Considerations
None.
Test Plan
-
Standard subsystem tests (parsing and marshalling; Stage.MODEL execution)
-
Pass the Jakarta MVC TCK
-
TCK runner should support passing in the GAV of the feature pack to provision the server, allowing execution against both the wildfly-preview feature pack and the mvc-krazo-specific feature pack
-
-
Smoke test in the testsuite/preview/basic module
-
Test the layer by itself and as part of the all-layers provisioning in testsuite/layers/LayersTestCase
Community Documentation
-
README explaining how to use with 'wildfly' or 'wildfly-ee' feature packs.
-
Mention in the 'WildFly and WildFly Preview' document as a difference between the two.
-
Mention in the Simple configuration subsystems section of the Admin Guide.
-
Addition to the specification section in the Getting Started Guide.
Release Note Content
WildFly now provides preview support for Jakarta MVC, using the Eclipse Krazo implementation. This is available out of the box in WildFly Preview and can be added to a standard WildFly installation using a new 'mvc-krazo' Galleon feature pack available from WildFly Extras.