The Oracle Certified Master, Java EE 6 Enterprise Architect certification is the most valuable Java credential. Achieving this proves your capability to architect systems and manage the execution of applications at an enterprise level.
List of Java Certifications
An enterprise architect is involved from the beginning to the end of an application: analyzing and defining requirements, creating blueprints for robust enterprise applications and overseeing the execution. As part of the certification process, certified Java enterprise architects are required to demonstrate a wide range of skills that extend far beyond fundamental Java programming.
In order to obtain the Java EE Enterprise Architect Certified Master certification, you must carry out the following steps:
- Completing one of approved courses to fulfill the training requirement
- Passing the exam Java EE 6 Enterprise Architect Certified Master 1Z0-807
- Passing the assignment Java (EE) Enterprise Architect Certified Master Assignment 1Z0-865
- Passing the exam Java (EE) Enterprise Architect Certified Master Essay 1Z0-866
- Completing the Course Submission Form
The following tips should be helpful in preparing you for the exams.
Tip 1: Preparation resources
There are many good books that you can use during preparation. Reading through all of them, however, is impractical. The following resources are highly recommended and you can find most of the information you need for the OCMJEA exams:
- The Java EE 6 Tutorial by Oracle Corp. Eric Jendrock et al.
This is a guide to developing enterprise applications for the Java Platform, Enterprise Edition 6 (Java EE 6) using GlassFish Server Open Source Edition. It is likely that this tutorial has been familiar to you, but still included here for the sake of completeness.
- OCM Java EE 6 Enterprise Architect Exam Guide (Exams 1Z0-807, 1Z0-865 & 1Z0-866) (Oracle Press) by Paul Allen and Joseph Bambara
This book prepares you for the Java EE 6 Enterprise Architect exams with the exclusive Oracle Press guide, covering the multiple-choice exam, the assignment, and the essay exam. In addition to architectural theory categorized according to exam topics, this book includes 120 multiple-choice practice exam questions and a test engine (for the Windows OS only) that provides practice exams and customized quizzes. This is a great resource for preparation, but note that reading only this book does not guarantee you passing the exams.
- Sun Certified Enterprise Architect for Java EE Study Guide by Mark Cade and Humphrey Sheil
This book delivers complete, focused review for the Sun Certified Enterprise Architect (SCEA) for Java EE certification exam from two of the exam’s creators. It focuses on the Java EE 5 platform, but most of the content is still applicable to Java EE 6.
This book discusses Java EE patterns and best practices in a structured way, with code from real world projects. If you want to purchase this book from Amazon, do not take the Kindle version as the code format inside it is broken. The paperback version, on the other hand, is great.
This book describes all the major UML diagram types and the basic notation involved in creating and deciphering them. These diagrams include class, sequence, object, package, deployment, use case, state machine, activity, communication, composite structure, component, interaction overview, and timing diagrams. The examples are clear and the explanations cut to the fundamental design logic. This book is fundamental to building diagrams for the assignment (1Z0-865).
This book consists of 300 questions to help you prepare for the multiple-choice exam, a case study with all the UML diagrams and points to remember for drawing the artifacts for the assignment, and sample questions with detailed answers for the essay exam. This is not an excellent book, but still worth reading.
Tip 2: Selection of a course
There are about a dozen courses you may attend to accomplish the training requirement. However, it is better to choose a course that consolidates your skills in architecting enterprise Java applications. The recommended ones are:
- Architect Enterprise Applications with Java EE: Teaching you how to develop robust architectures for enterprise Java applications. You will learn how to use Java Platform, Enterprise Edition (Java EE) technology.
- Java Design Patterns: Reviewing common and emerging patterns specific to Java SDK and EE development. You will learn the depth and evolution of pattern-based techniques in Java, with particular emphasis on Java EE 6 conventions.
- Object-Oriented Analysis and Design Using UML: Teaching you how to effectively use object-oriented technologies and software modeling as applied to a software development process. One practical and complete object-oriented analysis and design road map, from requirements gathering to system design, is introduced in the course.
Course attendance is not necessarily the first step, but it should be as it helps to build up your knowledge, which is important for the exams. There are a few course formats available to you, but notice that the self-study version does not meet the training requirement for certification.
Tip 3: The multiple-choice exam (1Z0-807)
The most important thing when preparing for the multiple-choice exam is to get yourself familiar with the question format and content, and taking practice exams is the best way to achieve that.
The two most recommended exam simulators are Whizlabs. By using a commercial simulator instead of a free one, you will have access to questions similar to those in a real exam with detailed explanation and may get support from experts.
You should take the following notes when sitting for the multiple-choice exam:
- Some of the questions may be subjective and the answer is not very clear. You cannot get rid of that; however, the more practice you do, the better chance you have.
- There are no trick questions, and no questions require detailed knowledge of the Java EE API. Therefore, you must be able to read and understand a question exactly as it appears to be, and do not need to worry about something missing.
- Do not worry about time constraint. The amount you will be given, 150 minutes, is more than enough. As such, no need to rush if you have trouble with a question.
- If you do not know the exact answer to a question, try to cross out as many options as possible and select the most reasonable solution among the remaining. Even if you still do not know the exact answer after eliminating some choices, fewer options will give you a better chance.
Tip 4: The assignment (1Z0-865)
In order to accomplish the assignment, you must deliver a complete design solution to a given problem. The assignment does not require any line of code. Instead, you need to analyze the documented scenario, build diagrams, and make assumptions and decisions. You will be graded based on how accurately you solve the technical and performance requirements.
When working on the assignment, you must use a UML tool to create diagrams. The choice of this tool is important as you will spend a lot of time working with it. The author of this article recommends Visual Paradigm and StarUML. You cannot go wrong with either of these tools. However, if you like neither of them, feel free to look out for other options.
After downloading the assignment, go through it over and over again. There is a good chance that you will have a different interpretation each time you read this assignment. Nevertheless, the more you think about it, the closer you get to the point.
Keep reading the assignment until you become aware of the following:
- Functional requirements: What the application must fulfil.
- Non-functional requirements (NFRs): What NFRs the application must meet. Some NFRs are explicitly specified, but others may not be obvious. Read carefully to find out those hidden NFRs.
- What legacy systems are existent and must be connected to.
Before going through diagrams and other things, please keep in mind:
- When building diagrams, stick with what is described in the assignment. If there is anything unclear, make assumptions and document them. Note that you can add more elements based on your assumptions, but cannot change any existing detail.
- When moving along the line, things will get clearer and some assumptions may be found unsuitable. If that is the case, adjust the diagrams and document the changes accordingly.
- If necessary, add some supplementary diagrams to shed light on complicated elements in the required diagrams. If you overuse this technique, however, you would screw up your design.
- Pay attention to all NFRs, both explicitly or implicitly declared ones and ensure all of them have been taken into account.
- If you are not happy with something you have done, do not be lazy. Re-work the design until you feel satisfied. You have plenty of time; thus, time does not matter, the quality does.
- You may include some side-notes in your diagrams to make it easier to be understood. However, do not add too much text to a diagram unless you want to make it cluttered. The diagram itself should convey most of the information.
Now, let’s go into diagrams in details.
- Class diagram:
The class diagram must be built upon the business domain model given in the assignment file. Remember not to make any change to the model as doing so would modify the requirement scope and make your design solution inappropriate.
Consider adding classes that represent components in the presentation tier, such as JSP or JSF pages. It is also important to include utility classes used in your design, like the ones for caching or logging.
The class diagram should be implemented before other diagrams as it helps identify classes needed for your solution. Also, be prepared to update this diagram multiple times as it is likely that you will come up with some new ideas when working on other tasks.
You may find more details via the following reference links:
- http://www.agilemodeling.com/artifacts/classDiagram.htm
- http://www.uml-diagrams.org/class-diagrams-examples.html
- Component diagram
As your class diagram is available, it should not take much of your time to complete the component diagram. These components must be segregated into tiers and your job should be easy once the class diagram is well designed.
Notice that components expose their functionality through interfaces. These interfaces, therefore, should be included in the diagram.
Please see the following reference links for further information:
- http://www.agilemodeling.com/artifacts/componentDiagram.htm
- http://www.uml-diagrams.org/component-diagrams-examples.html
- Sequence diagrams
Sequence diagrams should take you more time than others, thus they should be handled with care. There is a high probability that you will find something new that you have not thought of before, and may need to go back to other diagrams to apply that newfound stuff by adding, modifying or removing elements.
The reason for the modifications mentioned above lies in the nature of sequence diagrams. Basically, sequence diagrams model the flow of logic within a system, thus forces you to think at the lowest level, just higher than coding; and so many issues can only be uncovered when it comes to detailed implementations.
Remember that you should never include in a sequence diagram a class that is not contained in the class diagram, except for some classes (or to be more accurate, types) defined in the Java EE API, such as EntityManager. These system classes can be depicted in sequence diagrams for the sake of clarity even if they are not existent in the class diagram.
The following links give you more information on sequence diagrams:
- http://www.agilemodeling.com/artifacts/sequenceDiagram.htm
- http://www.uml-diagrams.org/sequence-diagrams-examples.html
- Deployment diagram
The deployment diagram depicts a static view of the run-time configuration of processing nodes and the components that run on those nodes. Put another way, deployment diagrams show the hardware for your system, the software that is installed on that hardware, and the middleware used to connect the disparate machines to one another.
When building this diagram, pay attention to NFRs such as availability, scalability, reliability or performance. Consider these aspects and deliver a solution that satisfies the given requirements in an optimal way.
Further information can be found through the following links:
- http://www.agilemodeling.com/artifacts/deploymentDiagram.htm
- http://www.uml-diagrams.org/deployment-diagrams-examples.html
- Assumptions and decisions
When working through the assignment, you should have documented your assumptions. You may also have gone back and forth to these assumptions to make enhancements each time you have new ideas. The final version of assumptions ought to be included in the submitted product.
The assumptions you have made should influence your design decisions. You may also include justifications for your choice of components, products, technologies, etc. Such information can make your assignment more understandable.
Tip 5: The essay exam (1Z0-866)
The most important tip for the essay exam is pretty simple: take it as soon as possible after the assignment submission. If you can do that, you do not need to prepare anything for the exam as everything is still in your head.
The topics covered in the essay are associated with your assignment. You will be asked about NFRs, design decisions, technology selection and so on. Be prepared to justify your solution.
Unlike the multiple-choice exam, time allowed for the essay is fairly short. 120 minutes seems to be long, but it would not be enough if you do not manage your time well. Do not overspend time on any question, and type as fast as you can.
- Top 45 Fresher Java Interview Questions - March 9, 2023
- 25 Free Practice Questions – GCP Certified Professional Cloud Architect - December 3, 2021
- 30 Free Questions – Google Cloud Certified Digital Leader Certification Exam - November 24, 2021
- 4 Types of Google Cloud Support Options for You - November 23, 2021
- APACHE STORM (2.2.0) – A Complete Guide - November 22, 2021
- Data Mining Vs Big Data – Find out the Best Differences - November 18, 2021
- Understanding MapReduce in Hadoop – Know how to get started - November 15, 2021
- What is Data Visualization? - October 22, 2021