Announcing – June 2007 Community Release of ESB Guidance – http://www.codeplex.com/esb
By Marty Wasznicky
In October of 2006, we announced the preview of the Microsoft ESB Guidance at Microsoft SOA Conference in Redmond. This consisted of the following which enabled Microsoft partners and customers to build large and small-scale ESB solutions:
Sample code built on BizTalk Server 2006
Architectural guidance, patterns and practices
Reusable BizTalk Server ESB and .NET components:
Dynamic Transformation Service
Dynamic End Point/Configuration Service
Itinerary based Routing & Service Invocation
Exception Management framework
Namespace Resolution Service
JMS (Java Message Service) pipeline component (IBM JMS over WMQ)
Since that time we’ve achieved significant momentum:
Several hundred requests for the ESB Guidance
Several dozen customers incorporating the guidance into their projects
Dedicated Microsoft ESB web site: http://www.microsoft.com/biztalk/solutions/soa/esb.mspx
Dedicated Partner site for delivering the ESB Guidance: http://www.microsoft.com/biztalk/solutions/soa/esbpartners.mspx
Press on the ESB Guidance from the SOA conference
Due to the overwhelming demand and popularity of the ESB Guidance, we (the Connected Systems Division) and the Patterns and Practices group have agreed to jointly develop the ESB Guidance moving forward.
As a result of the iteration of this partnership, we’ve released a new June Community Release build of the ESB Guidance on the new ESB Guidance community site, where all future iterations will be released here until our final release in October later this year.
Although this June Community Release focused on bug fixes and refactoring the ESB Guidance for BizTalk 2006 R2, future releases will incorporate many new and augmented features such as:
UDDI publishing and richer resolution options
Enhanced ESB Portal and Exception Mediation
Request-Response support for on and off ramps
WCF Adapter integration
New Samples and Guidance
Third party SOA Management and Governance integration:
SOA Software Integration
Through our partnership with Patterns and Practices, we hope to raise the bar of quality and build an extended community to support our customers as they move forward with the ESB Guidance.
With the Patterns and Practices partnership, we incur the benefit of having Don Smith (Product Manager for Patterns & Practices – email@example.com ) take an active role in owning the ESB Guidance Community. I will be coordinating feature development and community release schedules with Don, ensuring community feedback is incorporated into the ESB Guidance.
Please download the latest Community Release and provide us feedback. We will be monitoring the discussion forums on the site.
A more thorough description of the June Community Release can be found below.
About the June 2007 Community Release
This release focuses on refactoring the CTP build to accommodate the augmentation of existing features, as well as the addition of new features to be included within the final release targeted for October 2007.
Some of the changes for this release are:
%u00b7 The project namespace changes from Microsoft.BizTalk.ESB to Microsoft.Practices.ESB
%u00b7 All schemas follow W3C schema conventions for namespace, such as http://schemas.microsoft.biztalk.practices.esb.com/jms/system-properties
%u00b7 Installation scripts and instructions for manual installation are provided
%u00b7 All samples now install into the GlobalBank.ESB BizTalk application instead of their own individual applications
%u00b7 The following components have been rebuilt to work with the BizTalk Server 2006 R2 Beta 2 and Release Candidate builds:
%u25e6 JMS Pipeline Component
%u25e6 Namespace Pipeline Component
%u25e6 Exception Management API, InfoPath form and Pipeline component
%u25e6 Transformation Service, Helper and Agent
%u25e6 JMS Samples
%u25e6 Exception Management Samples
%u25e6 Namespace Samples
%u00b7 This release contains several updates to integrate with .NET version 3.0:
%u25e6 The Transformation Service is exposed as both an ASMX and a WCF service
%u25e6 The Exception Management Fault Service is exposed as both an ASMX and a WCF service
%u25e6 The UDDI helper class now uses native WCF calls and the features of .NET version 3.0. There is no longer a dependency on the Microsoft UDDI service (Microsoft.Uddi.dll)
%u00b7 There are a number of fixes for components and services included in this release. For more details, see:
%u25e6 Fixes for the JMS Component
Note: Although all other components in this release will compile and work with BizTalk Server R2, they still require some re-work. In addition, the ESB Exception Portal does not change in this release, and therefore the Exception Management Framework has not been tested with the older portal. The next community release will contain a prototype of the new portal.
%u00b7 The Exception Management API now supports exceptions that occur in child orchestrations executed using the CALL shape. For example:
%u25e6 Orchestration A calls Orchestration B
%u25e6 Orchestration B contains exception handling code that invokes the CreateFaultMessage method and assigns a fault message
%u25e6 An exception occurs in Orchestration B and the ESB Exception Framework should publish the message
%u25e6 The execution path no longer fails and causes an error within the CreateFaultMessage method
%u00b7 InfoPath form rendering exceptions from the ESB Fault Processor pipeline no longer cause an error when scrolling through context properties
%u00b7 The ESB processor pipeline now includes whitespace support in the reader
%u00b7 The properties for the fault schema change in this release. There is no promotion of FaultDescription, and the description now accepts more than 255 characters
%u00b7 Extension of the existing property schema supports additional internal error information
%u00b7 The schema namespace changes, and the InfoPath template has been renamed
%u00b7 Class references replace the string references for the context property name and namespace used when accessing context properties
%u00b7 This release supports MIME-type detection for the body of a message
%u00b7 Failed Message Routing scenarios now support flat files and binaries
%u00b7 Streaming is implemented for large files
%u00b7 Correct identification of the send port now occurs in one way messaging scenarios
%u00b7 There is support for two-way messaging scenarios, such as the typical SOAP request-response cycle
%u00b7 All project versions are now 126.96.36.199
%u00b7 The native BTS stream libraries replace all custom streaming classes
%u00b7 A new ContextProperties class allows pipeline components to access property information
%u00b7 The orchestration time stamp in now expressed in UTC
%u00b7 A new WCF-based Web Service exposes fault information
%u00b7 All references to http://org.kp.esb.engine and the “bootcamp” namespaces in InfoPath schemas are removed
%u00b7 New scripts update the Resources folder in the BizTalk Server application, and generate an MSI based on the resource artifact files
%u00b7 Minor modifications to the code catch more exceptions, in particular by checking for null references
%u00b7 The component detects non-HTML and non-text content, and encodes these as base-64 strings
%u00b7 The reporting schema and InfoPath template now contain a MIME-type property
%u00b7 There is support for rendering the content of XML CDATA sections
%u00b7 The schema type for the content block within the reporting template changes from Any to CDATA
%u00b7 The Transformation Service now throws a null exception if the mapName parameter is null.
%u00b7 The Transformation Service now has no dependency on the Microsoft UDDI service (Microsoft.Uddi.dll).
%u00b7 The strong name key file binding now occurs during the linking phase so that the Manifest phase does not invalidate the signature of the assemblies.
%u00b7 The component now uses the Microsoft.Practices.ESB.snk key file included with the source.
%u00b7 The JMS Sample uses a new Queue Manager name, and only four queues.
%u00b7 The NamespaceException now inherits from ApplicationException, which corrects the issue where exceptions appear in the Event Log as “Reason: Unknown”
%u00b7 Corrections to processing of the ExtractionXPath property solve previous extraction issues
%u00b7 A new validation routine introduced prior to pipeline processing ensures that required properties are set at runtime
%u00b7 Regular expressions now check that separator property value is valid (or is empty), that namespaces are not in the reserved range (ns0 to ns6), and that the specified namespace prefix is alphanumeric
%u00b7 The component now checks that either the XPath or NamespaceBase property is set
%u00b7 The component now compares the existing and the new namespaces, and just returns the original message to the pipeline if they are the same
%u00b7 The component no longer raises an exception if the XPaths property is null, which allow the use of a static namespace if required
%u00b7 Various string comparisons carried out within the component have been corrected
%u00b7 The component uses an updated namespaces for property schemas
%u00b7 The component now exposes EndpointUddiServer and MapUddiServer properties
%u00b7 The component now contains logic that ensures the value of a SOAP header is not overwritten by a property value provided in the pipeline instance rather than in the SOAP header
%u00b7 There are several new trace statements that output the resolved endpoint
Regional Program Manager – BizTalk Server
Connected Systems Division
MCSE, MCSD, MCDBA, CNE, MCTS in BizTalk 2004
333 S. Grand Ave., Suite 3300, Los Angeles, CA 90071
BizTalk Server Webcasts:
BizTalk Server 2006 Virtual Labs:
BizTalk Server 2006 Trial Download:
BizTalk Server 2006 Home Page: