A release for the next version of the BRE Pipeline Framework is now weeks away, with the framework in the latter stages of unit testing (speaking of which the framework has had a massive shift from about 30% test coverage to approximately 80% at the time of writing, so expect a much more reliable product).

Below are a subset of new features to look forward to.

  • Dynamic transformation with the ability to run multiple maps sequentially within a given pipeline
  • Caching of context properties or custom key/value pairs within a MemoryCache available for future retrieval
  • Ability to add nodes, element, and attributes within your XML document using XML based facts
  • Ability to write ETW trace statements (using the CAT Instrumentation Framework) within your BRE policies
  • Ability to enforce ordering of Instructions
  • Ability to get/set message part properties, content types, character sets and other details
  • Much better error handling; unhandled exceptions thrown within BRE Policies will no longer result in a generic “error encountered while executing BRE Policy” message and will instead show exception details
  • ETW tracing (using the CAT Instrumentation Framework) throughout the pipeline component and helper classes to help you diagnose issues

This is in addition to the already existing features as below (which have now been tested more thoroughly and optimized as well).

  • Ability to manipulate XML messages using XML based vocabularies
  • Ability to read and write to SQL Server databases using SQL based vocabularies
  • Ability to read and write context properties, the out of the box context properties being fully enumerated so you don’t have to remember namespaces
  • Ability to run XPATHs against the message body to extract node values, names, or namespaces
  • Ability to run regexes or search for strings in your message body to check for existence of strings in the message body or replace them
  • Ability to update document root node namespaces
  • Extensibility by allowing for the development of custom MetaInstruction/Instruction classes that can be plugged into the framework
  • Recoverable Interchange Processing support so that exceptions encountered for a single message do not have to result in the entire batch being errorred.

As has been the previous practice, the framework will be geared towards backwards compatibility, so in some cases features will need to be explicitly enabled (for example ordered instruction processing) as the default is to emulate legacy behaviour.  This of course doesn’t mean that existing components should not be unit tested after upgrading.

If the stars align I might be able to verify that the framework is BizTalk 2013 R2 compatible, but at the very least it will definitely be BizTalk 2010 and 2013 compatible.

Watch this space…