I took and passed the BizTalk 2006 R2 exam, also known as 70-241 on April the 28th 2010. When you look at the official site preparation materials you can get a bit discouraged. There is nothing there. The skills measured are more interesting they can give a framework for learning. This post describes the resources I used.
Sources used.
I read two books : Professional BizTalk Server 2006 and Foundations of Biztalk Server 2006. The foundations book is a nice weekend read to give a general overview and convince a manager you have BizTalk knowledge. It is by far not enough for taking the exam. The Professional book is a great book with a lot of depth and great practical content. The professional book feels more like a great guide when working in the field and doesn’t feel like an exam preparation guide. I found it rather difficult to read.
Last year I took a five day training course called Biztalk 2006 deep dive from Quicklearn. This was an amazing class with in depth hands-on training. After this training I didn’t do anything with BizTalk for a year so a lot of the knowledge was pretty much gone. But I still had the course material and used this for preparing now.
This year I did an in–house training at my employers ( Sogeti ) this was a training led by an experienced BizTalk developer and the discussions, questions and answers were a great learning aid. But since the course was based on the foundations book I felt it also wasn’t enough for preparing for the exam. Most of links below were supplied by the trainer. Thanks Robin !
I used the following sites for gathering information (watch out BizTalk 2004, 2006, 2006 R2 and 2009 mixed)
- Very nice overview article on SDN (Dutch)
- Great blog technotes
- MSDN BizTalk virtual labs (requires IE)
- MSDN
- BizTalk 24*7
- BizTalk server 2006 tutorials
- Schemas : The W3C pages
- Schemas : MSDN page about making schemas
- Maps : MSDN page about making maps
- Pipelines : MSDN page about making pipelines
- Orchestrations : MSDN page about making orchestrations
- Web services : MSDN page about web services
- WCF services : MSDN page about WCF services
- Binding files : MSDN page about binding
- Adapters: MSDN page about adapters
- Business Rule Engine : MSDN page about BRE
- Business Rule Engine : Example of BRE with database
- Business Rule Engine : Workings
- Business Activity Monitoring : MSDN page on BAM
- Business Activity Monitoring : A simple BAM
- Business Activity Monitoring : FAQ
- Business Activity Services : MSDN on BAS
- EDI and AS2 : Configuring BizTalk for EDI
- EDI and AS2 : Configuring BizTalk for AS2
- RFID : MSDN page on RFID
- Server Configuration, Security en Performance : Inner workings
- Server Configuration, Security and Performance : Configuring for
- Server Configuration, Security and Performance : preparing for security
- SSO : MSDN about SSO
- Performance optimization guide
- Database configuration
- Deployment : MSDN page about deployment
- Deployment : MSDN page about deployment 2
- Maintenance : MSDN page about maintenance
- BizTalk 2006 Code samples
General architecture
A nice poster can be gotten here, it shows pretty detailed all the components of BizTalk. Below is my simplified graphical representation of the major BizTalk components.
- Biztalk host: Logical set of runtime processes in which you can deploy services, pipelines etc. Represents a collection of physical runtime instances that contain deployed items.
- Biztalk host instances: The physical installation of a host. A single host can contain many host instances. A single host instance can be added to multiple hosts.
- Message: A message can be any kind of data, xml files, csv files, msmq messages, parameters from a service call.
- Messagebox: The heart of BizTalk, a high per formant sql server database. All messages are kept in the message box. Receive ports and orchestration publish messages in the message box. Two way receive ports, send ports and orchestrations can subscribe to these publications.
- Receive Port: A collection of one or more receive locations.
- Receive Locations: A single location where messages can be received (think : subdirectory, msmq queue, webservice , database table) The location contains configuration for the adapter and the pipeline.
- Adapter: Adapters adapt the protocols for send and receive ports. Examples are a File, SQL, SharePoint, FTP, MSMQ, SOAP, HTTP, MQSeries, SAP, HIS, EDI adapters.
- Pipeline: Prepare messages before they are put into the messagebox or before they are send to a send port. Receive pipeline has four stages Decode, Disassemble, Validate and Resolve party. The Send pipeline has three stages Pre-assemble, assemble and Encode.
- Optional components: Within the different pipeline stages extra components can be placed. these can be components provided with BizTalk or third party vendors or your own custom components.
- Map: A translation from one message type to another. Uses XSLT for the translations.
- Orchestrations: BizTalk’s representation of a business process. Within an orchestration messages can be copied, evaluated, send to person by email, used to invoke other services etc.
- Send port: The opposite of a receive port and receive location combined. It contains the configuration for an adapter and a send pipeline.
- Send port group: A collection of send ports.
- SSO database: A database to make single sign-on possible. It stores an encrypted mapping between a windows user ID and the associated credentials for one or more affiliated applications. BizTalk also uses this database to keep any secure encrypted information like usernames and passwords for connection to services,
- Management /Configuration database: The database in which all configuration of BizTalk is kept.
- Tracking database: Keeps track of all messages that have been processed by BizTalk.
- RFID platform: This part of BizTalk makes it possible to develop Radio Frequency Identification (RFID) solutions.
- Business Rule engine: Declaratively define business rules that can be used from within orchestrations.
- Business activity monitoring: BAM Enables Users to view aggregate data related to thousands of instances of a business process, View a single instance of a business activity, search for instances of a specific business activity, filter activities at a given stage of completion and define charts, reports, KPIs, and alerts
- Business activity services: As part of running a business process, a business analyst may need to create a relationship with a new trading partner, for example, that defines the partner’s role, the business agreement between the two firms, and other aspects of this new association. Maybe a purchasing manager needs tools that can wrap together and distribute the artefacts required to let a partner quickly implement and begin participating in a business process. In BizTalk Server 2006, these functions are provided by Business Activity Services (BAS).
There where fifty questions that needed to be answered within two hours. After all this preparation, I found the exam still pretty hard. The parts I missed most in my preparation were about exception handling in orchestrations.
To anybody who is also is trying to prepare for this exam I hope this helps and good luck ! Don’t hesitate to ask any question.
About Kees Dijk
Husband, father and Software Architect at Sogeti. Loving my work and having fun while doing it. Interested in all the aspects of software development with a special love for Model Driven Development, Code Generation and Software production lines.
Nice. Will use this for my preparation.
Hi Kees, nice outline for preparing this exam.
Hi Steef-Jan,
Thanks ! A lot of the thinking comes form your article : http://www.sdn.nl/SDN/Artikelen/tabid/58/view/View/ArticleID/2950/BizTalk-Server-Architectuur.aspx , that is why it is mentioned at the top of the list.
Can you please share the link in english. the contents are in dutch i beleive.
Hi Vidya. I guess you mean the first link in the list (the rest has English content) That is not my content so I can’t provide an English version. You might want to try Google translate http://translate.google.com/translate?js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&sl=nl&tl=en&u=http%3A%2F%2Fwww.sdn.nl%2FSDN%2FArtikelen%2Ftabid%2F58%2Fview%2FView%2FArticleID%2F2950%2FBizTalk-Server-Architectuur.aspx&act=url (the translation is far from optimal though)