The OCMJEA (Oracle Certified Master for Java EE Enterprise Architect) exam tests knowledge in applying best architecture solution for the given business problems. The majority of the questions require Enterprise Application tiers knowledge in order to select the correct answers.
Majority of the contents for this article is taken from MyExamCloud OCMJEA 6 (1Z0-807) Exam Study Plan.
What are tiers?
In simple terms, “we can say that a tier is a logical grouping of application components”. When you develop an enterprise application, you need set of presentation components to display UI, business process components should handle algorithms to perform a task against your data, EIS (Enterrprise Information System) typically a database manages application data.
Java EE tiers:
The Java Enterprise Edition is used to develop N-Tier applications for high scalability and future maintenance. We already have logical separation of components/APIs from Oracle to choose on each tier.
Client Tier – The entry door of your application where user interacts with your application. This is typically an User Interface running on user’s machine inside a browser or from desktop application. This tier is responsible for displaying content to the user, handles validation and communicating with the server to perform tasks.
- Application Clients (Java Web Start technology)
- Applet Clients (Runs in a Web browser)
- MIDlet Clients (Runs in a Mobile Device)
- Web Clients (HTML display by HTTP protocol)
Presentation Tier – The presentation tier is used to host the presentation components and manage session for each user. We can say this as “Web Tier” in Java EE applications. The web tier components such as Java Servlets, Servlets and JavaServer Pages are part of this tier.
Business Logic Tier – The business logic tier is where the business application processing takes place. In a multi-tier Java EE application, the Enterprise JavaBeans (EJB) tier plays vital role for Business Logic Tier to handle Transaction, Security and Concurrency. The architect need to decide Local/Remote EJB components depends on the business problems.
Integration Tier – The integration tier handles the connection to database, inserting, retrieving, and updating data into the data tier. The integration includes application integration, data integration and legacy integration. The Java EE components/APIs for integration tier includes Java Connector Architecture (JCA), JPA (Java Persietnce API), JMS, JDBC and Web Services (JAX-RS, JAX-WS). The integration may be synchronous or asynchronous depends on your business needs.
Sample Business Problem for a Java EE application:
Mizhzyooz is the leading finance organization located in Tokyo and it has business relationships with Boozsoft for the past 11 years. Mizhzyooz wants to develop a web-based CRM application with complex legacy data integration.
Mizhzyooz feels that either the project needs to follow its own process to get control on Boozsoft’s deliverables or it should follow the Mizhzyooz’s technical standards and guidelines for architecture and design.
One of the Mizhzyooz’s technical standard states that the persistence mechanism should follow standard component model and that shall be portable to Oracle as well as Sybase databases.
The estimation from Mizhzyooz and Boozsoft state that the time frame to complete the project will be 2 years with a team of 10 engineers.
Mizhzyooz ASP team has already completed most the screens in ASP.
Boozsoft Architect Scott Winter recommends Java EE architecture for Mizhzyooz’s CRM application and he needs to convert all ASP pages into JSP.
The customer volume increase rate is 200/month.
By looking at the requirements we concluded that the application architecture shall use Java EE, so choose the components based on scalability and other QoS.
Decide Web – Centric or EJB Centric
The application requires high scalability, so we should choose EJB-Centric architecture.
For the screens, we can use JSF/JSP instead of ASP.
Business Logic Tier
Mizhzyooz’s technical standard states that the persistence mechanism should follow standard component model and that shall be portable to Oracle as well as Sybase databases.
Standard component model should use EJB.
Portable to Oracle as well as Sybase databases
We can use Java Persistence API (JPA). DAO can be used to decouple data access logic and we can develop different implementations based on the database, but Mizhzyooz’s technical standard states that persistence mechanism should follow standard component model. JPA is a standard component model.
The OCMJEA topics are discussed more at MyExamCloud’s Study Plan from the below link.