This proposal has been approved and the Eclipse Cargo Tracker project has been created.
Visit the project page for the latest information and development.

Eclipse Cargo Tracker - Jakarta EE DDD Blueprints

Saturday, June 1, 2019 - 13:56 by Reza Rahman
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Created
Background

Cargo Tracker was officially part of the Java EE Blueprints project and focused on DDD. I would like to bring the project forward onto Jakarta EE.

Scope

Eclipse Cargo Tracker provides an example application that showcases core Jakarta EE technologies.

Goals

  • Demonstrate well established architectural patterns/blueprints for enterprise development with Jakarta EE using pretty close to a real world application.
  • Demonstrate a concrete implementation of DDD concepts.
  • Showcase some core Jakarta EE technologies.
  • Jakarta EE does not attempt to be a walled garden. Like all open standards, the goal of Jakarta EE is to provide a reliable core standard foundation that a vibrant ecosystem of plug-ins and extensions can be built around. In that spirit, we will incorporate a select set of representative tools that complement Jakarta EE well such as Maven, JUnit, Cargo, JMeter, soapUI, Arquillian, PrimeFaces and DeltaSpike.

Non-Goals

  • Comparison with other technologies such as Spring or .NET. We suggest you do your own research using the plethora of good information already available. This project is squarely about showing you how you could write good Jakarta EE applications and nothing else.
  • Attempting to demonstrate the very wide gamut of Jakarta EE APIs and features. While we do incorporate a pretty representative set of Jakarta EE APIs and features, it is not our goal to serve as a kitchen sink of comprehensive Jakarta EE samples. The Jakarta EE Examples project serves that purpose far better than us.
  • While it is certainly possible to learn certain aspects of Jakarta EE (primarily how to architect good Jakarta EE applications), this project is not intended to teach you the basics of Jakarta EE. The Jakarta EE Tutorial is intended as a basic learning tool for Jakarta EE.
Description

This project demonstrates how you can develop applications with the Jakarta EE platform using widely adopted architectural best practices like Domain-Driven Design (DDD). The code is intended to mirror a non-trivial application that developers in the real work would work on. It attempts to demonstrate first-hand how you can use Jakarta EE to effectively meet practical enterprise concerns such as productivity, agility, testability, flexibility, maintainability, scalability and security.

Why Here?

Since Java EE is moving to Eclipse, Cargo Tracker should move here as well to maintain community cohesion. It is a valuable project in the overall Jakarta EE portfolio.

Future Work

I plan to keep working on the items here: https://github.com/javaee/cargotracker/issues. The biggest next bit of work is adopting Jakarta EE 8 and Java SE 8.

I plan to blog, tweet and speak about the project. Hopefully that will result in a few more contributors.

Project Scheduling

The first build should be possible right after the transfer from Oracle. After that, I plan to merge my temporary updates in subsequent months, which will include adopting Jakata EE 8. The project is currently at Java EE 7.

Beyond that there is a roadmap that existed at Oracle: https://github.com/javaee/cargotracker/issues. I plan to keep working on it going forward.

Project Leads
Committers
Mentors
Interested Parties

I believe Oracle and Payara is interested in moving this project to Eclipse.

Initial Contribution

The Code at Oracle is here: https://javaee.github.io/cargotracker/. I created a temporary version (also under MIT) here: https://github.com/m-reza-rahman/cargo-tracker. For now I just want the code from Oracle transferred over. Any copyrigths are currently held by Oracle.

Source Repository Type