Java WebApp Platform Roadmap
This is a living list of features the Java Stack team is considering adding to the Java Web Application Platform in the near to long term future. Currently the links provided reference an internal issue tracker. Eventually we are planning to migrate our issue tracker to a public one.
For a detailed list of features and bugs please refer to the Stack JIRA. The Stack Team generally only plans specific issues one release in advance. The versions with 'x' in them represent a holder version for future release. If you have a need for a specific issue to make it into a sooner release please vote for the issue.
This Roadmap is meant to give a high level overview of significant new functionality the Stack team is planning to add to the Stack along with a best guess estimate of when work for such functionality will begin. Actually starting work on a feature involves several factors such as:
- Current workload of appropriate developer
- Dependency on a thirdparty feature or new release
- Organizational demand
- How well the current solution options fit into current platform/architecture
- Waiting for enterprise infrastructure to be put in place
- The Enterprise standards "Menu" process
- 1 PaaS (Platform as a Service)
- 2 Monitoring/Availability Work
- 3 QA Functional Test Automation Support
- 4 Executable Modules (STACK-3923)
- 5 Improve Service Support (STACK-3963)
- 6 Distributed Job Scheduling Support
- 7 Reporting Tools (STACK-3500)
- 8 Support AspectJ development in the Stack (STACK-2903)
- 9 Improve Unit Test Tooling
- 10 Marklogic Integration & Support
- 11 LDS Account SAML Integration
- 12 DB Migrator Evolution
PaaS (Platform as a Service)
Implement a revolutionary way to manage infrastructure, deploy, and maintain applications through all of our lanes.
Our division is placing a major emphasis on improvements in availability and monitoring. We need to do a complete review of what we provide in this space and improve where necessary. Some areas that we may address include:
- Canary Tooling
- Metrics, see STACK-3917
- Try to make applications more resilient such as not failing application startup if DB, LDS Account, or some web service is not available.
QA Functional Test Automation Support
An attempt to standardize and tool QA functional test execution. This will also involve identification of best practices and training. Will also include integration with test case management
Executable Modules (STACK-3923)
The ability to easily create complex applications that are packaged in a single jar with dependencies and executed using a simple java -jar command.
Improve Service Support (STACK-3963)
Provide a general round of improvements on making it easier to create and maintain RESTful web serivces. Some items we're looking at include:
- Improved integration with Spring Security
- Investigation of supporting Spring Data REST
- Improved Integration Testing
Distributed Job Scheduling Support
Clarify and document the use cases of the Oracle scheduler, Streams AQ, and the combination of the two. (STACK-3150)
Reporting Tools (STACK-3500)
Investigate and/or provide support for stack integration with the following reporting technologies and output generation libraries:
- Crystal Reports
- Jasper Reports (build-time compilation and rendering)
- Corda (for interactive report graphs and charts)
- XHTML Renderer (for PDF output of HTML generated documents & reports)
- Apache POI (for output to native Excel Open Office XML format)
Support AspectJ development in the Stack (STACK-2903)
We are currently investigating support for Stack development with AspectJ. AspectJ is currently working towards Java 7 support that won't be officially delivered until middle of 2012. So we'll wait for that.
Improve Unit Test Tooling
While we currently support TestNG as our primary testing library, we will be adding support for additional tools to help create and manage unit tests.
- ☑ Investigate adding a test data builder library, such as make-it-easy to the Stack's set of testing tools.
- ☑Add examples of using Mockito and Hamcrest matcher libraries to the Stack petstore.
- ☑Add examples of using Mockito and Hamcrest matcher libraries to the examples in Stack Starter.
- Investigate adding additional test data building tools to address specific pain points, such as stubbing of JDBC result sets.
- ☑Provide training on unit testing basics, best practices, and additional support libraries.
- ☑Investigate possible enhancements to functional test development
Marklogic Integration & Support
We currently provide support in Stack 3 for MarkLogic integration through the stack-marklogic module. We could potentially back-port this module into Stack 2.3 if there is a need to do so to aid MarkLogic integration into older projects.
- We will include working examples of the stack-marklogic API configuration and usage in the Pet Store UI.
- A richer set of XccSessionCallback implementations to simplify common operations against a MarkLogic database.
- A richer set of XccResultItemMapper implementations to simplify common result item unmarshaling tasks.
- Inclusion of the (beta?) MarkLogic XQuery plug-ins into the LDSTech IDE.
- A beta or (unsupported) sandbox tool to aid in developing, testing, and troubleshooting XQuery statements. (Robert Thornton currently has such a tool that he's been developing and using over the past 4 years, but it needs some clean-up to make it more friendly to the average end-user.)
- Spring transactional support
- Content preview and migration support APIs.
LDS Account SAML Integration
SAML can allow applications to participate in WAM single sign on without having to be behind the WAM proxy servers. The IAM team provides SAML support this issue would integration it with Spring Security and provide it as a regular option for Stack applications.
DB Migrator Evolution
- Open source DB Migrator
- Increase test coverage and reduce sonar violations
- Add ability for DB Migrator to run Datapump
- Oracle Text Support (STACK-3151)
- Oracle VPD Integration (STACK-887)
- GUI tool to front DB Migrator (STACK-530)