To help bridge the gap I’ve put together a draft training scenario that when fully implemented will hopefully give someone skills with a good cross section of BizTalk features and functionality that they can work on while waiting to get the opportunity to work on a BizTalk project. There is no supplied code to get the developer started, and no detailed steps to follow to build it. There is some high level guidance on what sub-systems to create, and what each sub-system should do. The idea is that figuring this out on your own and building it from scratch will better prepare someone for real project work than just doing labs and reading.
I’m sure this scenario can use some room for improvement, but if you’ve already read up on BizTalk, and you’ve run through labs available in either training courses or Microsoft virtual labs, you might find this a useful way to become more proficient.
The scenario is broken into an intermediate section that focuses on giving the developer experience with the following:
- Separation of implementation features into a set of separate applications or services that are decoupled from each other
- Parsing flat files using both positional and delimited formats
- Creating orchestrations that output data through both direct binding and “specify later” ports
- Using various transport mechanisms (file, SQL, WCF Web service, SharePoint, Email)
- Using correlation sets
- Creation of canonical and vendor specific message types
- Creation of Deployment MSI's, binding files, etc. to support an install that doesn’t require Visual Studio.
- The Business Rule Engine
- Business Activity Monitoring
- The Microsoft ESB Toolkit
- Messaging / orchestration / mapping topics - failed message routing, dynamic ports, other messaging formats (EDI X12, Excel spreadsheets, etc.), use of xslt functoids.
- Tuning and testing
The following link contains a zip file with the following materials:
- Training Scenario Overview.doc – Document describing the training scenario
- Message Specifications.xls – Excel file detailing the fields in each message (also captured in the overview document)
- VendorPurchaseOrder.txt – Sample Vendor Purchase Order
- VendorShippingNotice.txt – Sample Vendor Shipping Notice
- VendorInvoice.txt – Sample Vendor Invoice
- CreateCrmDB.sql – SQL Script which creates the CRM database
- CreateCrmTable.sql – SQL Script which creates the CRM Accounts table within the CRM database