This article is a first-hand report about preparing for the SOACP certification and passing the exam. I decided to do this certification after I met Thomas Erl at the SOA Symposium 2010 in Berlin, Germany (see this older blog). I will tell you, why I like this certification and why (in my opinion) it makes a lot of sense. But I will also criticize some small details.
SOA is Dead? No, it is more alive than ever before…
In 2009, Anne Thomas Mannes blog „SOA is Dead; Long Live Services“ got a lot of attention. Reading the blog made clear, that Service-oriented Architecture (SOA) is not dead, of course. SOA is no more a hype. Instead of that, SOA is reality and essential for future success of large, long-living IT projects. SOA products are mature and stable instead of early alpha releases. Over the years, many design patterns and best practices were established to make a SOA introduction successful.
… so you should do a SOA Certification! But which one?
SOA Certified Professional (SOACP) is a vendor-neutral SOA certification of soaschool.com, which is founded by the well-known author Thomas Erl. His SOA books are the defacto standard within the SOA environment and approved by huge firms with good reputation such as IBM, Oracle, SAP, Red Hat, Yahoo and Microsoft.
Other SOA certifications exist besides SOACP, e.g. from IBM. I always prefer vendor-neutral certifications. Nevertheless, if you are used to work with IBM products all the time, such a certification may also be a good idea.
ZapThink also offers a vendor neutral SOA certification. That website also compares its certification to SOACP from soaschool. You should look at this interesting comparison!
Nevertheless, I prefered doing the certification of soaschool, which contains the information of the defacto standard SOA books instead of ZapThink’s content (which I have never heard before).
Unfortunately, no first-hand reports from neutral people are available for both, ZapThink and SOACP. Thus, I hope this article will help you gather information about SOACP. And I also hope, that someone will write a first-hand report about the ZapThink SOA certification.
Different Certifications for different Roles
A large SOA project requires several different roles. Each specific role has ist own tasks. Different certifications require different modules (e.g. SOA Technology Concepts, SOA Design and Architecture or SOA Security) – and therefore exams – to pass. Certifications are available e.g. for SOA Analysts, SOA Consultants, SOA Architects or SOA Developers. See also soacp.com for a good overview.
At least five exams must be passed to get such a certification. Some of the modules are „labs“, i.e. real practice work is required (and I like that).
But you can start with the plain „SOA Certified Professional“ (SOACP) – without a prefix such as Consultant or Developer. This certification requires to pass just two exams (module 1 and an arbitrary second one). The following information experiences are gained from the SOACP…
Contents of Module 1 and 2
I will not describe the content. I just list some important headwords and key messages. As mentioned, the exam concentrates on content of the SOA books of Thomas Erl.
Module 1 (S90.01 – Fundamental SOA & Service-Oriented Computing) contains absolute basic SOA stuff. Nevertheless, this information is very important for everyone working in a SOA project (and actually, many people working in a SOA project do not understand these basics). In the following, I list some of the facts you learn – and although they should be clear, they are not clear for many people:
- Strategic goals of SOA (e.g. increased Interoperability, increased organizational agility)
- Service and Service Composition
- Service-Orientation Design Principles (e.g. service loose coupling, service reusablity, standardized service contract, service autonomy)
- Service Delivery Lifecycle
- Service Consumer and Service Provider
- Adoption Impacts (e.g. organisational-, infrastructure-, maturity-, migration-, governance-considerations
- SOA is a concept, not a technology or product
- SOA is a strategic, enterprise-centric goal (i.e. long-term)
- Web Service != Service-oriented Architecure
- Web Service != SOAP Web Service
- Top-down vs. Bottom-up introduction of SOA
Conclusion about Module 1:
Focusing on concepts, principles and requirements enables you to view the SOA industry with increased clarity. Governance is often the least understood and least planned aspect of SOA. Absence of a governance plan (and budget) can jeopardize the success of SOA initiatives.
Module 2 (S90.02 – SOA Technology Concepts) contains technical basics (i.e. really basics, just absolute beginner stuff for each technology), e.g.:
- Service Roles (Consumer, Provider, Intermediary, Initial Sender, Ultimate Receiver)
- SOAP Web Service vs. REST Web Service vs. Proprietary Components
- XML, XML Schema, Namespaces
- SOAP, WSDL and UDDI
- WS-* such as WS-Addressing and WS-Policy
- Web Service Contracts
- Web Service Messaging
- Message Exchange Patterns (MEP)
- Distributed Transactions
- Enterprise Service Bus
Conclusion about Module 2:
A good overview about technology concepts is given. But be aware, that it really is an overview. No deep details about XML, WSDL or other technologies (but further module will teach you many details).
A Self-Study Kit is available for every module. It costs 400 USD and contains:
- A booklet with all content for the exam
- A second booklet with a summary, questions and exercises
- At least two Audio CDs (spoken by Thomas Erl, each about 60 minutes), explaining the content and giving some hints for the exam
- Flash Cards with questions and answers on the back
- An exam voucher (for one free attempt; expires after twelve months) => An additional attempt costs about 150 USD
The fifth module is free, so you can do a certification with five modules for 1600 USD using the self-study kits.
Additionally, workshops are available all over the world. Price is about as much as workshops from other IT coaching companies.
Of course, you can also do the certification without self-study kits and without workshops, especially if you have deep SOA knowledge already. But for most people at least the self-study kits are necessary.
I used the following methodic while preparing and I recommend you doing the same:
1. Read the booklet at least two times (until you really understand everything) – but do not read the sample exam questions at the end of the booklet!
2. Listen to Audio CD 1 (content of the booklet, same order of chapters as in booklet)
3. Read the booklet again
4. Listen to Audio CD 2 (content of the booklet, plus some hints for the exam, random order of chapters)
5. Read the booklet again
6. Try the flash cards
7. Try the sample exam questions of booklet one (do not read these before this point!)
8. If you think you are ready, take the exam. Otherwise do more preparations (e.g. read some of the chapters of the SOA books => they explain every fact very detailed). Then try the exam.
How to pass the Exam(s)?
Of course, you do a certification to learn something. But you also want to pass the exam. So, here some information:
- The exam questions are fair
- You need about 80% to pass a exam (about 40 of 50 questions) => Each exam differs a little bit
- Questions are: True or False; 1 of X; N of X
- Time is one hour (more than enough!)
- Real knowledge is checked, no unfair pitfalls (as e.g. in the SCJP exam for Java SE)
- If you have some experiences with SOA and XML, you should be able to pass the exam without reading any of the SOA books (probably you already did this earlier in your project). If you are an newbie to XML and SOA, you will have to study the contents in the SOA books. Otherwise, it will be tough to pass the exam
- I am not allowed to post information about the content of the questions, so please do not ask me!
- You have to do the exam at a Prometric Test Center. I described my experiences with Prometric in my SCJP blog. Be sure to read this if you have never done a Prometric exam yet.
I passed module 2 with 98%, but module 1 with just 82% (80% required), because I had problems with some questions. I cannot tell you if I misunderstood these questions (I am no native english speaker). But sometimes, some „strange“ words or sentences confused me. Thus, contrary to module 2, I was not sure about some answers. I have heard from other people passing module 1 with 95+ %, so probably I had just a bad day.
My only criticism is the preparation booklet. It simply consists of the slides which are used in the workshops. Thus, you got a DIN A4 paper, but just half of it contains the slide. The slide is intended for a presentation on a beamer. Some graphics are very difficult to read. To be fair, most slides are just text, and there are also many good readable graphics.
After each chapter, there is a slide which says „do an exercise now“. First you do not understand, what you should do now, because the next slide is is the first page of the next chapter. Is this exercise just for the workshop? No, all exercises are at the end of the booklet!
Nevertheless: If you pay 400 USD for two booklets and some CDs, you should expect some kind of a real booklet, not just Powerpoint slides. BWT: I know some other certifications of other vendors using the same style. That is very bad practice, in my opinion.
Besides this criticism, everything else is fine with the exam and I am convinced that every SOA guy should do it!
Conclusion about SOACP
You have to understand SOA if you want to introduce or apply SOA. This certification is a great, vendor-neutral opportunity to learn what SOA is – conceptually and technically.
The final slide of module 1 is a great summary:
„An SOA initiative does not need to be enterprise-wide to provide benefit, nor does it require the creation of a global data model. Most SOA benefits and ROI [Return on Investment] are long-term investment and impact is up-front. The more up-front effort you put into each service, the less of a governance burden the service becomes. Focusing on concepts, principles and requirements enables you to view the SOA industry with increased clarity.“
Many SOA projects failed in the past, because people are not familiar with SOA and its concepts – e.g. still many people think that you can build a SOA just by using SOAP Web Services instead of proprietary components. So, if you are new so SOA, you should do this certification to learn SOA concepts. If you already have experience with SOA, you should do this certification (with much less effort than a SOA newbie) to get a confirmation about your SOA knowledge.
How to continue after SOACP?
As mentioned, the SOACP just contains basic knowledge of SOA. This is very important, and everybody involved in a SOA project should have this knowlegde.
Nevertheless, you should continue with other modules to become a SOA Certified Architect (or whatever you want to become). Besides, a Cloud Certification is already available.
So, what is your opinion about the SOACP and other SOA certifications? Or maybe you also have some experiences with these certifications and want to share them with us?
Kai Wähner (Twitter: @KaiWaehner)