Red Hat's performance-based approach to testing means that experience is the best preparation for the exam. Even experienced people sometimes have gaps in their knowledge, and training and self-study are effective supplements to experience. Training in particular can accelerate experience. Red Hat offers the JBoss SOA: ESB Service Implementation (JB431) course, which covers most of what's in the exam.
To help you prepare, this document lists the tasks can expect to see in the exam. We may also include some official and unofficial sources of additional documentation on the task areas. Please be aware that we provide these as suggestions for study and, as such, they do not constitute an official endorsement for any other purposes. Nor do the suggestions constitute a warranty regarding the continued accuracy and relevance of the resources over time.
We recommend that all candidates review these materials while studying for the exam, including candidates who have attended training.
Access to documentation during the exam will be limited to official JBoss Enterprise SOA Platform documentation for the version being tested plus any sample files or additional documentation included with the product. We won't strip anything out that is normally included, but you won't be able to use the Internet to search for or use other documentation.
Please note that you won't have access to any Internet resources, including the jboss.org wiki.
You won't be permitted to bring any hard copy or electronic documentation into the exam. This prohibition includes personal notes or notepaper, course notes, books, or any other materials. Internet access is also strictly controlled. Keep these restrictions in mind as you study.
Exam preparation: environment
You'll be working on a Red Hat Enterprise Linux® 6.1 system during the exam, so prior experience using Linux or UNIX will be helpful. The purpose of this exam is not to test operating system-specific skills, and extensive Linux experience is not required. You'll have a full desktop environment in which to work, and we provide a list of basic commands for your reference in addition to the man pages and other documentation that come with Red Hat Enterprise Linux.
Fedora provides a freely available alternative for you to practice your Linux skills. A Live CD version is available that allows you to work on Fedora without needing to install it on your computer. While it's not an exact match for the environment in Red Hat Enterprise Linux, it's definitely close enough for the level of familiarity required. If downloading Fedora, please note that Fedora versions after Fedora 14 use a new and quite different default desktop. If preparing for the JBCD exam, you should use Fedora 14 or use the desktop's Fallback mode.
Exam environment: development tools
In addition to the desktop environment, we will provide an installed and configured copy of Red Hat JBoss Developer Studio. The exam is not a JBoss Developer Studio exam and you aren't expected to know or use JBoss Developer Studio to complete the exam tasks. However, JBoss Developer Studio is an excellent tool for developing and maintaining ESB archives and actions, and some JBoss Developer Studio experience and skills will certainly be helpful in the exam. JBoss Developer Studio also provides a convenient way to interact with the application server runtime.
If you don't have access to a supported copy of JBoss Developer Studio, you can download a free version. If you aren't already registered with Red Hat, you'll need to create a free account. If you don't want to sign up with Red Hat for the free download, a standard Eclipse distribution with the JBoss Tools plug-in will be adequate for practicing for the exam.
Exam environment: working directory
When you start the exam, the default JBoss Developer Studio workspace will contain 1 or more project directories that must be used for the exam. You don't have to use JBoss Developer Studio for your development, but you must use the default workspace directory and the provided project directories for all tasks. All code and resources must be developed in, and consistent with, the structure of the provided directories.
Exam environment: coding standards
This is a practical, hands-on exam, and you'll have to write code to complete the tasks. Different companies have different coding standards and, like any real-world environment, you'll be expected to follow the local coding standards. Listed below is some information on the exam coding standards that may help you in your preparations. This information is also provided during the exam.
For the purposes of the exam, it will be easiest if you imagine that you are a newly hired JBoss ESB developer who has been called in to complete a project. The original developer left the project unfinished and you can't contact him. You need to pick up where he left the code and complete as much of it as you can in the time available.
The code is reasonably well documented and there are many TODOs throughout the code to give you an indication of what needs to be done. Please note, however, that the Javadoc and TODOs are not sufficient. You need to read the task descriptions and understand what is required before acting on a TODO. If you feel that there's a conflict between the task text and the Javadoc/TODO, always do what the task description says.
Some key points to keep in mind when you are working:
- Code format is not important. Whether you use tabs or spaces and how you place your curly brackets will not impact the exam.
- Unlike the real world, comments and exception messages are not important. The exam is machine-marked, so comments and messages are completely ignored.
- Code quality and best practice is important. You should use best practices at all times and always work under the assumption that poor or inefficient practices will be marked down. For example, it is considered a Java™ best practice to never publicly expose field members, so you should always use standard JavaBeans getters and setters for your object properties.
- The project has been designed together with other applications in other departments. Unless explicitly instructed by a task description or a TODO in the code, you must not change the signature of any existing method. The only exception to this rule is that you can, and should, make the signature more specific (that is, use a subclass and/or specific generic) if that is appropriate. For example, you should replace Collection with List where that makes sense.
- You may add fields, properties, or methods as required.
- You may start with a broken .esb project that you'll need to fix.
- You may configure JMS queues inside .esb archives.
- If a method needs to throw an exception because of some internal problem, always use a RuntimeException; don't create a business-specific exception. For example:
- You could use IllegalStateException if the problem is an inconsistency in the state of the object model or persistence store.
- Or you could use IllegalArgumentException if the problem is an invalid argument to a method.
- And, of course, you can always use NullPointerException when that is appropriate.
A final warning: We can't mark your work if it doesn't compile or fails to deploy or run properly. In particular, a broken declaration could cause the deployment to fail so that nothing can be marked. Always check that your archives deploy without problems (check server logs). To avoid this worst scenario, we often provide a simple unit test per task, and we strongly recommend that you run these tests regularly to avoid any fatal issue.
The Red Hat® Certificate of Expertise in ESB exam tests whether exam candidates are ready for the real-world responsibilities of creating and maintaining JBoss® enterprise service bus (ESB) framework-based enterprise applications and interactions. Those who pass the exam will earn the JBoss Certified Developer in ESB credential.
The exam is 100% performance-based. Candidates demonstrate their knowledge and skills by performing a list of real-world tasks. For example, we might ask you
to enable communication from the ESB to an external system using FTP. Consequently, candidates are advised to view any online “brain dumps” and the like with skepticism. The single best source of information about what is on this exam is this document.
The exam is 4 hours. Some time is required in advance of the start time to check identification and gather information.
Scores and reporting
Official scores for exams come exclusively from Red Hat Certification Central. Red Hat does not authorize examiners or training partners to report results to candidates directly. Scores on the exam are usually reported within 3 U.S. business days.
Exam results are reported as section scores. Red Hat does not report performance on individual items, nor will it provide additional information upon request.