by community-syndication | Mar 26, 2007 | BizTalk Community Blogs via Syndication
Following on from my previous post, included below is the final chapter list and a brief overview of the content covered in each chapter.
Chapter 1: Technical Primer-This chapter primes the reader on some key technologies that each developer should have a basic understanding of to aid with development and debugging. This chapter covers XML schemas, namespaces, XPath, and serializable classes.
- Chapter 2: BizTalk Architecture-This chapter is the only chapter that really deals with explaining the basic BizTalk principles. It positions the value that BizTalk brings to solutions and compares this to writing a custom solution without BizTalk. It then runs through all the key architectural pieces of BizTalk and explains what they do and how they work.
- Chapter 3: Adapters-This chapter covers key adapter concepts-such as ports, tracking, hosting, and context properties-and then drills into each adapter supplied with BizTalk to explain what the adapter does, which context properties it promotes, and, where appropriate and relevant, a walkthrough to show how to use the adapter. The chapter also details the new R2 adapters at a high-level and in time for publication we’ll add downloadable content to demonstrate how to write an adapter using the new WCF Adapter framework shipped with BizTalk Server 2006 R2 (not available at the time of writing).
- Chapter 4: Pipelines-This chapter covers the core principles of pipelines and details how they work. The chapter then highlights how pipeline components should be developed and provides a worked example.
This chapter also covers the Messaging Engine architecture and how it works, understanding this is key to being able to exploit the architecture to the fullest.
- Chapter 5: Orchestrations-This chapter introduces BizTalk orchestrations and the environment within which they execute. We discuss key areas such as persistence points and logical ports before covering how orchestrations can be developed and which features are available.
- Chapter 6: Business Activity Monitoring-This chapter introduces the Business Activity Monitoring (BAM) technology and details how BAM can be used to instrument your BizTalk solution and your entire enterprise. The chapter then covers how a fictional scenario can be instrumented and how you can make use of the information collected by BAM.
- Chapter 7: Rules Engine-This chapter discusses the key principles that underpin the Rules Engine, and then covers all the concepts to enable effective use of the Rules Engine within your solution.
- Chapter 8: Testing-This chapter starts by describing the types of testing you must apply to your BizTalk solution, including unit testing, functional testing, integration testing, and performance testing. The chapter goes on to discuss how BizUnit can be used to automate testing, how you can perform code coverage of your BizTalk solution, how LoadGen can be used to generate load, and how you can profile your solution using the Visual Studio profiler.
- Chapter 9: Performance and Scalability-This chapter covers all the things you must have in place before beginning any performance testing. Forgetting these often leads to bad performance results. The chapter then explains how to monitor BizTalk, SQL, and IIS, explaining all the relevant performance counters and what they actually mean. We also provide a complete reference on what BizTalk throttling is and how it works, including an explanation of all the various throttling states. The final section of the chapter discusses a number of common symptoms. These are problems that customers run into regularly and include high CPU usage and sudden processing drop off. The chapter explains the common reasons and things to check to identify the underlying problem.
- Chapter 10: Low Latency-This chapter covers what low latency means to BizTalk solutions and how you can measure it. We then drill into a variety of techniques that you can employ to reduce latency for your solution.
- Chapter 11: Administration-This chapter describes everything required to administer BizTalk effectively. It’s a great resource for administrators as well as developers. The chapter covers the key administration tools and tasks that you need to undertake, and highlights areas that are often overlooked, such as SSO maintenance, suspended instances, subscriptions, etc. The chapter also covers in great detail how the SQL Server used by BizTalk needs to be looked after, including backup, log shipping and how you can monitor the performance of the SQL Server. The chapter also covers MOM and how it can be used in conjunction with the BizTalk Management Pack to greatly simplify management.
- Chapter 12: End-to-End Scenarios-This chapter highlights all the End-to-End Scenarios that were shipped as part of BizTalk 2006. These are often overlooked but provide full working solutions of real-world customer scenarios that have been fully tested and demonstrate best practice. Each scenario is supplied with complete source code and provides implementations that you can use within your own solution. We cover each scenario and highlight key deliverables in each scenario such as the code required to use the SSO store for configuration data and an adapter to enable messages to be sent for manual repair.
- Chapter 13: BizTalk Best Practices-This chapter discusses a number of best practices and techniques that have been used in a number of projects, including handling large messages, storing configuration data, subscribing to failure messages, and instrumenting your solution.
- Chapter 14: Windows Workflow and BizTalk-This chapter positions the key concepts of Windows Workflow and discusses how it compares with BizTalk Server. We then demonstrate how the BAM Interceptor for Windows Workflow works and position how BizTalk, WF, and SharePoint can be used together to enable compelling solutions.
by community-syndication | Mar 26, 2007 | BizTalk Community Blogs via Syndication
A year on, ~224,000 words and over 600 pages later, and Professional BizTalk Server 2006 has finally gone to the printers! This book has been a mammoth undertaking for all involved, but having just reviewed the entire book end-to-end I’m extremely proud of what we’ve achieved.
The final cover is shown below with all of the authors photos!

I’m also pleased to announce that Patric McElroy who is a Product Unit Manager (PUM) for the BizTalk Server Team, kindly wrote a great foreword for the book and we included the following fantastic quote on the cover:
“This book is an indispensable resource for solution architects and developers who want to dig deeper into BizTalk. It is valuable material that has been written by insiders with deep experience in architecting and delivering solutions for our most demanding enterprise customers.”
-Patric McElroy, Product Unit Manager, BizTalk Server, Microsoft Corporation
A big thanks to Yossi Dahan and Jon Fancey who both reviewed the entire book and provided some great comments and suggestions, we also included a very kind comment from Yossi on the back cover:
“This book provides a fantastic insight into the inner workings of BizTalk, making it an invaluable resource for all those things you would otherwise never know. As you learn the ’tricks of the trade’ from these experienced engineers, you quickly realize why everyone who has anything to do with BizTalk simply MUST read this book.”
-Yossi Dahan, Managing Consultant, Sabra Ltd.
The final back cover text is shown below:
This book provides insight into how industry experts have successfully architected, developed, and maintained Microsoft BizTalk Server in mission-critical environments. Authored by highly-regarded consultants with a wealth of knowledge on designing, building, and operating enterprise applications using BizTalk, this comprehensive guide gives you the techniques and best practices you’ll need to develop effective projects.
Darren Jefford is a Principal Consultant with the Microsoft UK Application Development Consulting (ADC) team who has extensive real-world experience with BizTalk Server and the broader Microsoft platform. Kevin B. Smith formerly worked as a Technical Lead Software Design Engineer for the BizTalk Server Product Team and helped ship three versions of BizTalk Server. Ewan Fairweather works as a Premier Field Engineer for Microsoft, providing onsite support to enterprise customers, including maintaining and optimizing their BizTalk Server solutions.
Achitects, developers, testers, and administrators will achieve instant success when they apply the deep technical information covered in this book. They will better appreciate the internal workings of BizTalk Server and will understand detailed solutions for challenges often experienced with BizTalk-based systems.
My initial plans were to co-author the book with Kevin Smith but he (sensibly) was reticent due to the sheer amount of work required. I therefore started the book as sole author but as the writing got underway I began to realise my limitations, BizTalk is a huge product and it’s impossible to know everything about everything, especially in enough depth for a book. I finally persuaded (nagged to death) Kevin to author 3 chapters on topics that he knew extremely well, especially as he was part of the BizTalk product team and responsible for the design and implementation of the messaging engine.
As the writing continued the Administration chapter loomed into view and being a developer at heart – Administration is a very weak point! I managed to talk an (admittedly tipsy) Ewan Fairweather into writing the chapter at the Microsoft UK summer party, he pulled out all the stops against tight deadlines to write some amazing content on Administration which given his background (supporting customers real-world BizTalk deployments) will be of great value to customers and I must admit to learning an embarrassing amount whilst reviewing his chapter.
So, your all probably wondering – why on earth did I decide to invest so much personal time writing a book on BizTalk? As ever it’s a long story, but the following fragment from the book introduction explains it nicely:
The compelling drive for me to create this book resulted from two main factors. First, after working with these customers I had a clear view of what worked, what didn’t, and the things to highlight early on to avoid problems later in the development life cycle of a BizTalk solution.
The next compelling drive was that such real-world, best-practice advice was tied up inside a small number of people’s heads. This clearly doesn’t scale to help the broader base of BizTalk customers, and it’s often frustrating (to both sides) to be called on site to see the same issues crop up again and again.
These problems, in my experience, are not the fault of the product or the customer per se but instead represent the learning curve required for enterprise software development. It’s a hard problem space, and tiny mistakes or oversights have big consequences. This book is positioned to help address this. It’s a fusion of how the product works under the covers and cutting-edge best practices designed to enable you to make best use of the product within your solution.
The decision to write a book was a tortuous one. I loved the idea of writing a book, but I was given a number of reality checks by colleagues with regard to the effort required – something that (with a young family) I wasn’t sure I could commit to, and I decided to shelve the project.
The final straw, however, came in late in 2005. While onsite with a customer, I was asked the following question: “Why does it take Darren Jefford or Kevin Smith to come in to help us understand these problems and highlight the types of things we should be aware of? This type of information isn’t in the documentation.”
The book is now off being printed and should be available in early May I’m reliably informed, based on my experience with the Team System book it will be available in the US first, followed by the UK a few weeks later so you should expect delivery by the end of May.
Ewan and I will be presenting at TechEd US (Orlando) so look out for us there if your attending, I believe Wiley will probably be setting a book signing opportunity up if your interested, once the session titles are formalised I’ll post them here.
Phew! Now back to reality and spare time! I hope you enjoy the book and the blog should hopefully get back to normal and I can post some of the interesting WCF bits and pieces I’ve been up to.
by community-syndication | Mar 26, 2007 | BizTalk Community Blogs via Syndication
Tom did a good job of explaining the database structure and following up on this post,getting the data into the database is somewhat a challenging process.
So in putting together the import process, I was trying to get my head around how to create the various xml files to import. Since I am a visual guy, I put this little relationship diagram so I can easily relate my data elements to the example in the documentation xml files of listOfAppType.xml, listOfAppInstance.xml, listOfIDXref.xml, and listOfIDXrefData.xml. (It is a big picture, so click on it and then click on the picture in the window that opens up to see the origina size (at least in IE7))
Some other things to be aware of:
When importing the data, there is the case where you will need to map a BA rule as the following verbiage ‘for input value of A map an X, for value of E map Z for all others map Y’ or you are given the following table:
Incoming value Output Value
AX
BY
CY
D Y
EZ
Since there is the following constraints on the xref_IDXRefData table
CONSTRAINT [IX_xref_IDXRefData_appID] UNIQUE NONCLUSTERED
(
[appID],
[idXRefID],
[appInstanceID]
) ON [PRIMARY] ,
CONSTRAINT [IX_xref_IDXRefData_commonID] UNIQUE NONCLUSTERED
(
[commonID],
[idXRefID],
[appInstanceID]
) ON [PRIMARY]
on either the commonID or the appInstanceID column can’t have a duplicate value. The first work around was to import the data with spaces in the following example
<listOfIDXRefData>
<idXRef name=”Subscriber”>
<appInstance name=”AppInstance_01″>
<appID commonID=”X”>A</appID>
<appID commonID=”Y”>B</appID>
<appID commonID=”Y “>C</appID>
<appID commonID=”Y “>D</appID>
<appID commonID=”Z”>E</appID>
</appInstance>
</idXRef>
</listOfIDXRefData>
In the map I would have the following logic where it would retrieve the appID and I would simply trim the spaces off of the right
However I was unable to import the data using the BTSXRefImport.exe, stating that a key contraint was violated.
I then changed the data to look like this (notice the periods instead of the spaces):
<listOfIDXRefData>
<idXRef name=”Subscriber”>
<appInstance name=”AppInstance_01″>
<appID commonID=”X”>A</appID>
<appID commonID=”Y”>B</appID>
<appID commonID=”Y.”>C</appID>
<appID commonID=”Y..”>D</appID>
<appID commonID=”Z”>E</appID>
</appInstance>
</idXRef>
</listOfIDXRefData>
And in the map I took the first byte of the result of the appID
This worked out great for me except in the following situation
Incoming value Output Value
AXX
BY
CY
D YY
EZ
I first created the following xml structure
<listOfIDXRefData>
<idXRef name=”Subscriber”>
<appInstance name=”AppInstance_01″>
<appID commonID=”XX”>A</appID>
<appID commonID=”Y”>B</appID>
<appID commonID=”Y.”>C</appID>
<appID commonID=”YY”>D</appID>
<appID commonID=”Z”>E</appID>
</appInstance>
</idXRef>
</listOfIDXRefData>
The problem was that I could not just take the right two bytes because that would represent the following table and create a’Y.’ if ‘C’ was sent in.
Incoming value Output Value
AXX
BY
CY.
D YY
EZ
I finally created the final output
<listOfIDXRefData>
<idXRef name=”FirstValue”>
<appInstance name=”AppInstance_01″>
<appID commonID=”X”>A</appID>
<appID commonID=”Y”>B</appID>
<appID commonID=”Y.”>C</appID>
<appID commonID=”Y..”>D</appID>
<appID commonID=”Z”>E</appID>
</appInstance>
</idXRef>
</listOfIDXRefData>
<listOfIDXRefData>
<idXRef name=”SecondValue”>
<appInstance name=”AppInstance_01″>
<appID commonID=”X”>A</appID>
<appID commonID=”Y”>D</appID>
</appInstance>
</idXRef>
</listOfIDXRefData>
I extracted the data, took the first character from each getCommonID resultand then concatonated the values together:
by community-syndication | Mar 26, 2007 | BizTalk Community Blogs via Syndication
Walkthroughs and webcast demonstrations on how the new Search works.
Enjoy
SharePoint
Server 2007 Presentations: Enterprise Search Deep Dives
by community-syndication | Mar 26, 2007 | BizTalk Community Blogs via Syndication
yeah baby 🙂
I wrote before Christmas how these were coming out….grab them here…..
http://www.microsoft.com/technet/windowsserver/sharepoint/wssapps/templates/default.mspx
— snip —
Application Templates Available for Download
All forty application templates are available in English. The twenty server admin
templates are also available in ten additional languages: French, Italian, German,
Spanish, Portuguese (BR), Japanese, Korean, Hebrew, Chinese (simplified), and Chinese
(traditional).
Package Downloads
In addition to the following individual download links, you can get the Application
Templates for Windows SharePoint Services 3.0 in these three convenient packages.
Registration is required for package downloads.
Site
Admin Templates: Get all 20 Site Admin templates as a single package download.
Available in English only.
Server
Admin Templates: Get all 20 Server Admin templates as a single package download.
Multiple languages available.
All
40 Application Templates : Get all 40 Application Templates for Windows SharePoint
Services 3.0 as a single package download. Package only includes English versions.
Site Admin Templates
Board
of Directors
Business
Performance Reporting
Case
Management for Government Agencies
Classroom
Management
Clinical
Trial Initiation and Management
Competitive
Analysis Site
Discussion
Database
Disputed
Invoice Management
Employee
Activities Site
Employee
Self-Service Benefits
Employee
Training Scheduling and Materials
Equity
Research
Integrated
Marketing Campaign Tracking
Manufacturing
Process Management
New
Store Opening
Product
and Marketing Requirements Planning
Request
for Proposal
Sports
League
Team
Work Site
Timecard
Management
Server Admin Templates
Absence
Request and Vacation Schedule Management
Budgeting
and Tracking Multiple Projects
Bug
Database
Call
Center
Change
Request Management
Compliance
Process Support Site
Contacts
Management
Document
Library and Review
Event
Planning
Expense
Reimbursement and Approval
Help
Desk
Inventory
Tracking
IT
Team Workspace
Job
Requisition and Interview Management
Knowledge
Base
Lending
Library
Physical
Asset Tracking and Management
Project
Tracking Workspace
Room
and Equipment Reservations
Sales
Lead Pipeline
by community-syndication | Mar 25, 2007 | BizTalk Community Blogs via Syndication
I’ve been teaching these MOSS 2007 Bootcamps with Dimension Data and Breeze Training here in Australia for the last couple of months. It has been a big team effort! One of our students, Sezai Komur gave me some nice feedback:
http://www.sharepointblogs.com/sezai/archive/2007/03/23/moss-2007-boot-camp-in-perth-western-australia.aspx
Thanks for the accolades Sezai
by community-syndication | Mar 25, 2007 | BizTalk Community Blogs via Syndication
Sorry I went dark right after the MVP Summit but I've been on medical leave due to a bad reaction to my cholesterol medication. I returned from Seattle on Saturday afternoon and felt just fine until Monday evening when I began to feel extreme pain in both legs. It was honestly like someone had run over my legs with a truck. My doctor said I was experiencing an unusual (but no unheard of) side effect of my cholesterol medication ("statin") and it would take several days for the affects to wear off. So I've spent the past few days almost completely immobile and in incredible pain. Only now, a week later, can I walk around the house without feeling like a 94 year old. Luckily my blood tests came back and showed no liver or permanent muscle damage.
There is a moral to this story and a lesson that I've finally learned (it only took 47 years). When your doctor prescribes a long term medication, ALWAYS READ THE DESCRIPTION, especially the part that talks about possible side effects. And if you start feeling those side effects, CALL YOUR DOCTOR immediately, not after "toughing it out" for six weeks. The life legs you save may be your own!
Next post will be technical, I promise!
by community-syndication | Mar 25, 2007 | BizTalk Community Blogs via Syndication
We covered the new WSS feature framework in a I was teaching last week. Using features you can item menu items to the Site Actions menu. It seems in all the example the menu will show up for all users. Someone asked “How do you restrict it so that the menu item only shows up for Site Administrators?”
I wasn’t sure but after a bit of hunting I found this article that had the answer:
http://sharepointsolutions.blogspot.com/2006/10/quick-site-settings-adding-sub-menus_16.html
All you need to do is add the RequireSiteAdministrator=”TRUE” attribute as in the following example:
<Elements xmlns=”http://schemas.microsoft.com/sharepoint/”>
<CustomAction
Id=”SiteActionsSubMenuCustomizer”
RequireSiteAdministrator=”TRUE”
GroupId=”SiteActions”
Location=”Microsoft.SharePoint.StandardMenu”
ControlAssembly=”SiteActionsSubMenuDemo, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e9db3057acd9c0f6″
ControlClass=”SiteActionsSubMenuDemo.SiteActionsSubMenuCustomizer” >
</CustomAction>
</Elements>
by community-syndication | Mar 25, 2007 | BizTalk Community Blogs via Syndication
Sorry I went dark right after the MVP Summit but I've been on medical leave due to a bad reaction to my cholesterol medication. I returned from Seattle on Saturday afternoon and felt just fine until Monday evening when I began to feel extreme pain in both legs. It was honestly like someone had run over my legs with a truck. My doctor said I was experiencing an unusual (but no unheard of) side effect of my cholesterol medication ("statin") and it would take several days for the affects to wear off. So I've spent the past few days almost completely immobile and in incredible pain. Only now, a week later, can I walk around the house without feeling like a 94 year old. Luckily my blood tests came back and showed no liver or permanent muscle damage.
There is a moral to this story and a lesson that I've finally learned (it only took 47 years). When your doctor prescribes a long term medication, ALWAYS READ THE DESCRIPTION, especially the part that talks about possible side effects. And if you start feeling those side effects, CALL YOUR DOCTOR immediately, not after "toughing it out" for six weeks. The life legs you save may be your own!
Next post will be technical, I promise!
by community-syndication | Mar 24, 2007 | BizTalk Community Blogs via Syndication
Found my old research paper from 1994 “An object-oriented approach to knowledge representation in a biomedical domain”. Looked like they scanned the contents of the original paper.
It’s pretty outdated. Note that this was before the existence of Java or C#, but there was good old Smalltalk.
One thing is still relevant. The construction of a hybrid knowledge based system. Translated to 2007; the semantic web 3.0. Defining a clear terminological component (vocabulary) in order to make assertions from basic facts.