Skip to content

A component of the https://github.com/ibm-cloud-architecture/refarch-jee reference application. This repository contains the original Java EE Customer Order application component.

License

Notifications You must be signed in to change notification settings

rbarcia/refarch-jee-customerorder

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Customer Order Services - JavaEE Enterprise Application

Branches

  • master - READMEs.
  • was70-dev - Development branch for WebSphere Application Server V7.0 application code. Development Environment: RAD V9.6 + WAS V7.0. Builds either from RAD or using Maven.
  • was70-prod - Production branch for WebSphere Application Server V7.0 application code. Does not contain any IDE specific file. Builds only using Maven.
  • was90-dev - Development branch for WebSphere Application Server V9.0 application code. Development Environment: eclipse MARS 2 + WAS V9.0. Builds either from eclipse or using Maven.
  • was90-prod - Production branch for WebSphere Application Server V9.0 application code. Does not contain any IDE specific file. Builds only using Maven.
  • liberty - Development branch for WebSphere Liberty application code. Builds using Maven and a Dockerfile to conatinerize the application.

Application Overview

The application is a simple store-front shopping application, built during the early days of the Web 2.0 movement. As such, it is in major need of upgrades from both the technology and business point of view. Users interact directly with a browser-based interface and manage their cart to submit orders. This application is built using the traditional 3-Tier Architecture model, with an HTTP server, an application server, and a supporting database.

Phase 0 Application Architecture

There are several components of the overall application architecture:

  • Starting with the database, the application leverages two SQL-based databases running on IBM DB2.
  • The application exposes its data model through an Enterprise JavaBean layer, named CustomerOrderServices. This components leverages the Java Persistence API to exposed the backend data model to calling services with minimal coding effort.
    • As of the WebSphere Application Server Version 7 build, the application is using EJB 3.0 and JPA 2.0 versions of the respective capabilities.
  • The next tier of the application, named CustomerOrderServicesWeb, exposes the necessary business APIs via REST-based web services. This component leverages the JAX-RS libraries for creating Java-based REST services with minimal coding effort.
  • The application's user interface is exposed through the CustomerOrderServicesWeb component as well, in the form of a Dojo Toolkit-based JavaScript application. Delivering the user interface and business APIs in the same component is one major inhibitor our migration strategy will help to alleviate in the long-term.
  • Finally, there is an additional integration testing component, named CustomerOrderServicesTest that is built to quickly validate an application's build and deployment to a given application server. This test component contains both JPA and JAX-RS-based tests.

Application Overview

Application architecture, both logical and physical, is the same as the WAS7 version. Application component versions are still the same since we are applying the lift and shift pattern which consist of migrating your WebSphere Application Server deployment to the IBM Cloud with the minimum change possible. As a result, EJB, JPA, JAX-RS levels are still the same as in the WebSphere Application Server 7 version.

Detailed code migration efforts are available in the Phase 1: Modernizing the Existing Application documentation in the root repository.

About

A component of the https://github.com/ibm-cloud-architecture/refarch-jee reference application. This repository contains the original Java EE Customer Order application component.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published