Each year many applicants try to crack Oracle Certified Master Java EE Enterprise Architect (OCMJEA) exam. Like any other exam, OCMJEA exam can’t be cracked without proper preparation. For cracking OCMJJEA exam, you must have good knowledge about the subject. But before beginning the preparation, it’s important to know the format of the exam. The article discusses the structure of the exam in the beginning, and later you will come to know how to prepare for the OCMJEA examination.
What is the format of OCMJEA exam?
The OCMJEA examination has three parts:
- Multiple choice exams
- Assignment submission
- Essay exam
60 questions will be asked in the multiple choice exam, which the applicant needs to answer in 150 minutes. One has to score at least 71% for cracking this level. You need to pass all these level to be certified as a Java Architect. You can appear in the exam only if you have more than six years of experience in Java technologies. The reason being the test demands for developers that have years of experience in handling multiple Java projects along with the ability to work on the design and architecture of the Java applications. If you aim to become a Java Architect, then this examination will give you a sure shot way of achieving your goal.
What is the prerequisite for preparing OCMJEA exam?
There are no specific requirements to prepare for the OCMJEA exam, but it is necessary to have a training course, which is suggested by Oracle. If you want to appear for OCMJEA exam, you have to get the Oracle certification. You need to complete one of the following courses before appearing in the OCMJEA exam:
- Architect enterprise applications with Java EE
- Developing applications for the Java EE 6 platform
- Java design patterns
- Java EE 6: Develop business components with JMS & EJBs
- Java EE6: Develop database applications with JPA
- Java SE7 fundamentals
- Java SE 7 programming
- Web component development with servlets & JSPs, Java EE6
- Java EE 6: Develop web services with JAX-WS & JAX-RS
- Java EE 7: New features
- Object-oriented analysis and design using UML
- Java SE 8 fundamentals
- Java SE 8: Programming
- Developing applications with Java EE 6 on WebLogic server 12c
It should be noted here that doing a course in “Architect enterprise applications with Java EE” will help you in preparing for the multiple choice question of the OCMJEA exam. However, this course is expensive, but it is worth it. Let us have a look at the exam syllabus of OCMJEA now.
What is the syllabus of OCMJEA?
There are seven broad topics that you need to study while preparing for this exam. The chapters are listed below:
- Application design concepts and principles
- Common architectures
- Integration and messaging
- Business tier technologies
- Web tier technologies
- Design patterns
The detailed syllabus of the OCMJEA exam is available on the official website of OCMJEA. Now that you know the necessary information about OCMJEA exam, it’s time for you to know how to prepare for OCMJEA examination.
How to prepare for multiple choice question level for OCMJEA exam correctly?
A total of 60 questions will be asked in the multiple choice question in OCMJEA examination, and the student needs to score at least 71% for passing this level. The key to success in this exam is to have a sound knowledge of the subject. so, reading the books that will help you to clear this level is recommended. You need to practice a lot of sample question paper to get a grip on the problem that may appear subjective and that comes with confusing choices. You would be able to answer such question when you solve an adequate number of previous questions. This level is free of tricky questions but it checks your knowledge on Java EE API, and you need to have an in-depth understanding of this topic. You need to answer the questions calmly. You will have 150 minutes to solve the questions, and that is more than enough for someone who has a firm grip on the subject. If you are confused about a particular question, try to work reversely. This means that instead of choosing the right answer, try to eliminate the wrong options, which will eventually lead you to the right answer. You can read the following books for gaining knowledge for this level:
OCM Java EE 6 Enter Architect Guide by Paul R.Allen and Joseph J.Bambara
Oracle Certified Master, Java EE Enterprise Architect Practical Guide by Amritendu De
After reading these books, try to solve the past question papers for having an idea about the type of questions which are asked in the examination.
How to prepare for assignment submission level for OCMJEA exam correctly?
The assignment submission is considered the most crucial and challenging level of OCMJEA exam. You can’t copy this assignment from anyone because each applicant will be assigned a different topic. It is important for you to understand the subject assigned to you to fully know about the scope of the problem that you need to solve. Your assignment needs to have the following sections in it.
- Background: You need to write here about the context of the problem that you will be solving.
- Workshop output: This is the most important part of the assignments that consist of crucial elements such as non-functional requirements, restrictions and legacy systems.
- Business domain model: In this part, you need to discuss the working business model. You have to understand the stuff that you are writing in this section because it will form the base of your class diagram.
- Class diagrams and specifications: In this section, you have to write about use cases while mentioning and understanding its scope.
- Deliverables: Here, you need to describe the deliverables that need to be constructed along with a mention of sending it.
Before you start working on the assignment, select the UML tool that you will be using to work on it. Keep working on the assignment till you are fully satisfied with it. Even if you have a small level of uncertainty in the assignment, you should again work on it to make sure that you have not missed anything. Remember that there will be thousand of assignments and your assignment can stand out in that group only if you work extraordinarily hard on it.
How to prepare for essay level for OCMJEA exam correctly?
Don’t waste your time to check your score after assignment submission. As soon as you are done with the submission, you should start working on your essay level for OCMJEA exam. Preparing for the essay exam will take a lot of time, and you have a deadline to meet. Most of the essay will ask you how you have managed to solve the non-functional requirement, which was on your assignment. You have to write all the points that you have tried while making the assignment. Also, make sure that your essay is free of grammatical errors, and everything is written in sound English so that the examiner can understand it easily. The essay will be associated with the assignment given to you, and it will mostly deal with the following topics:
- Design decisions
- Technology selection
The biggest tip to perform well in the essay section is to begin it just after you have submitted your assignment because at that point of the time things will be in a fresh state in your mind and therefore, you would be able to jot down the points without any difficulty.
All the levels of the OCMJEA examination are critical, but you mainly need to focus on the assignment section to qualify it. The MCQ level can be cleared by having a sound knowledge on your subject. The essay level can be fairly passed if you include all the mentioned elements in the assignment with proper diagrams. You can pass the essay level with flying colors when you start working on it immediately after submission of the assignment. By following these tips, you will surely pass the examination with a good score. It is crucial to pass this exam if you want to climb high up on the ladder of your career.
Oracle Certified Master Java EE Enterprise Architect (OCMJEA) exam
Join Our News Letter – Stay Updated
Subscribe to Awesome Java Content.
This post has been moved to http://srinichekuri.com/2013/06/04/sceaocmjea-assignment/
Today I got the magical email that I have passed assignment with a score of 146/160. Needless to say, I was very happy. I am blogging my experience with the hope that future aspirants will benefit from this.
I have submitted Assignment about 10 days before voucher expires.To start I have downloaded the assignment almost immediately after my Step-1 which started my clock(for people who don’t know Step 2 and Step 3 should be done within six months after the assignment is downloaded). Well if the question is did it actually take six month to complete this project, the answer is a big NO. I have started working on it for few hours everyday for 2 weeks. When I understood the assignment well and designed the system, I also drew class diagrams, sequence diagrams on scrap papers and then I stopped. I guess I was thinking that the challenging part is complete and I had to take care of the boring part( documenting it).
When I took up the project again after 5 months, I realized that it was a mistake due to following reasons:
- The break wiped out project from my memory and I had to start all over again. Ofcourse my design that I scrapped on paper really helped me to get it all back.
- I have under estimated deployment diagram. I never had to decide on hardware profile before and this turned out to be quite challenging.
- UML took good chunk of time. By UML I mean deciding on the tool, planning on how you project your diagrams to make evaluation easy and actually drawing them took some time.
- Documenting did take some time.
The project that was assigned to me was a web application with peak usage of 200 users. The domain diagram had 11 classes.
I have worked on UML diagrams in following order:
I have decided to divide my class diagrams into 2 parts by separating out domain classes. Although I started out with a thought to accommodate all the classes into one diagram, I thought that domain classes can be shown separately just to avoid clutter. This worked out pretty well for me. I have used various patterns like MVC, Factory, Business Delegate, Proxy Pattern, Data Access Object, Value Object, Transfer Object and Domain store. I have used following technologies/frameworks:
- Struts 2.0 for presentation layer.
- EJB 3.0 enterprise beans for session and transaction management.
- JPA for persistence.
- Java Mail API for email notification.
- Spring 3.0 for Authentication and Authorization.
- Spring 3.0 for dependency injection, aspect-oriented programming.
- Log4j for logging.
- Ehcache for Caching (Out of box with Spring 3.0).
My class diagram also included few classes and jsps for user scenarios that were not mentioned in the requirement. For Eg: Maintenance module was not mentioned in my assignment, I have included that after adding proper assumptions.
In all I had 9 jsps, 25 classes and 11 domain objects.
Although I mentioned class names for value objects and transfer Objects, I didn’t show them in my class diagram.
I had six sequence diagrams in my project. I made sure all the use cases that are mentioned in assignment are addressed here. I had to do some reading for this as I found that UML 2 had good features to represent our views. I have used two opts.
I have done this after I was almost done with class diagram and know what to be done in sequence diagrams. This helped me with all the components that would go under various tiers.
This was a very good learning experience in whole of the project. Having worked for multinational companies all through my career, I never go to involve myself in hardware discussions. I did however have experience working on a projects where I had to make decisions on over all architecture (Firewalls, load balancer, server clustering, hot backups etc). This was the strategy that I have followed before deciding on the hardware profile and the vendor that would host my application
- In-house hosting costs vs Outsourcing hosting costs
- Privacy compromises for in-house vs outsourcing.
- Licensing costs
- Resource costs for maintenance
For my project, privacy was not a concern (added this to assumption as well) and the cost of hosting in house by buying a server was too high (Eg: Cost of IBM Power 710 Server, 4 core 4.2 Ghz with 8GB RAM, Rack mount 2 x 146 GB SFF Harddisk (IBM AIX 5.3 operating system) is $6255 without other licensing costs and resource costs). I have decided to outsource hosting for my application. The advantage in my case for outsourcing was that maintenance costs(possibly licensing costs) were included in hosting costs.
For Outsourcing I have looked at two options
- Rent Physical Server: I have looked into multiple providers but the cheapest option was provided by rackspace.com. It costs $262.80/month for box with 4GB RAM, 2 core 160 GB disk space (Linux operating system)
- Cloud Solution: Again there were multiple that provided cloud solutions but I best I found was Amazon Elastic Compute Cloud (Amazon EC2) service. The price for ‘3 year upfront option’ for ‘M1 Large Instance’ $384.
I have decided to go for Amazon Ec2 as it had other advantages.
Amazon Elastic Compute Cloud (Amazon EC2) services seem to be secure, reliable and have scalability options for increased traffic in future.
- Load Balancing: This service provides elastic load balancing which automatically distributes incoming application traffic across multiple Amazon EC2 instances. This has capability to detect unhealthy instances within a pool and automatically reroute traffic to healthy instances.
- Hardware/Software Application Server – Primary: I chose ‘M1 Large Instance’ option which provides 7.5 GB of memory, 4 EC2 Compute units (2 Virtual cores with 2 EC2 compute units each, 850 GB of disk space, 64-bit platform). Operating System is Red Hat Enterprise Linux. Application Server is IBM Websphere.
- Application Server – Backup: I chose ‘M1 Medium Instance’ option which provides 3.75 GB of memory, 2 EC2 Compute Units (1 Virtual core with 2 EC2 Compute units each, 410 GB of disk space, 64 bit platform). Operating System is Red Hat Enterprise Linux. Application Server is IBM Websphere.
- Database (Primary/Backup): The package selected above comes with local installation of database. Following were chosen for this application:
- Microsoft SQL Server-Standard
- Windows 2008 R2 6.1 (Operating System)
- Scalability: Amazon EC2 services provide auto scaling which scales up automatically to maintain performance in case of spikes.
- Application Server+Database(primary) – 3 year upfront option for $384 (Amazon EC2 offers various options but this is the cheapest)
- Application Server+Database(Backup) – 3 year upfront option for $192
- Projected operating budget for hardware/software for 3 years = $384 + $192= $576
I had about 10 assumptions. I have put all assumptions that effected my design/hardware/software decisions.
Risks and Mitigation Plan:
I had about 12-15 risks and mitigations strategies listed. I have sorted the risks in the order of their importance so that the top risk is shown at the top.
I have provided some extensive write-up for each section. I wanted to make sure that all my thoughts were put in there as my main motto was to make sure that evaluator understands everything that I had in mind. A lot of documentation was done as I was doing UML diagrams to diversify my work.
Creating Jar file:
I have zipped all my files and changed the extension to .jar. (We can as well create a jar from command prompt – google it).
Questions I had and how I addressed them:
- How detail should class diagram be?
Pretty detail, but make sure that details like patterns, methods, method parameters are visible. I advice to not include any classes that would add clutter (DTO, Transfer objects, Value Objects etc.). Don’t compromise on quality of class diagram for other factors like restricting class diagram to one page.
- Do I have to show jsps in class diagram?
- Should I show DTO/Transfer Objects/Value Objects ?
You have to decide if this makes any sense to show them. I didn’t show any DTO, Transfer Objects and Value Objects. I just mentioned them as parameters in methods and I did mention them in my write up for class diagram.
- Should getter/setter methods in a class be shown?
- What tool did I use for UML diagrams?
MS Visio 2010
- What format of images did I use for UML diagrams?
I have converted all my UML diagrams to PNG format. I found this format to be more compact in size without any compromise in quality.
- How did I convert UML diagrams to images?
I have used SnagIt. SnagIt has settings to capture a scrolling page and later I have cut the unwanted area and saved the image in PNG format.
My other posts related to SCEA: SCEA/OCMJEA Experience (Step-1), SCEA/OCMJEA Essay