Integrating Legacy Assets with BizTalk 2006 R2
William Henry, IONA
William spoke a little about Iona and their history before going into their product – IONA WCF Adapter used to consuming CORBA & JMS in .Net. He spent most of the session demonstrating how to use the software. He also mentioned the Atrix Connect for WCF which is to be released in Q1 of 2008.
Advanced Orchestration Concepts & Best Practices
Stephen Thomas
Stephen started off speaking about his guiding principles regarding orchestrations:
- Design easily understandable business processes
- Build for the future
- Build business processes that can be easily unit tested (e.g. with BizUnit)
- Use all available features of BizTalk to simplify development
- Keep “abilities” in mind
- Reusability
- Build shared orchestrations to accomplish specific tasks
- Return generic responses and use the Business Rule Engine to evaluate
- Maintainability
- Build clean and simple process flow
- Select and follow a naming convention
- Supportability
- Detailed error messaging for easy administration
- Avoided suspended non-resumable at all costs
Stephen next spoke about some useful tips for orchestration development:
- Leverage publish and subscribe pattern
- Promoted properties as MessageContextPropertiesBase
- Multi-Message Mapping
- Only available in orchestrations
- Watch for namespace issues – use code instead
- Direct Port Binding
- Watch out for endless loops
- Helper .Net Components
- Passing Xlang messages as streams
- Doing simple tasks using static methods
- Robust schema validation returning multiple errors
- Define messages using Multi-Port Messages when possible
Next Stephen spoke about the following advanced orchestration topics:
Untyped Messages
- What is it?
- Using messages a XmlDoc rather than defined schema
- How does it help?
- Accepts multiple different types of messages in the same process
- Reduces redundant orchestrations
- Easily routable using direct binding and correlation sets
- Pitfalls?
- Typically routing done by Receive Port filters
- No access to Distinguished Fields or MessageDataPropertyBase and MessageContextPropertyBase properties
Dynamic Transformations
- What is it?
- Selecting maps at runtime and dynamically creating the transform object without a Transform shape
- How does it help?
- Allows for schemaless orchestrations to support multiple types of messages
- Allows for vendor specific mapping
- There is no need to redeploy maps when changes occur
- Pitfalls?
- Best to map on Send Receive Ports
- It is possible to yield no output message – a null will be returned
- Possible performance impacts under high load – use a caching service
Configured Ports & Self Correlating
- What is it?
- Used to start orchestration shape to send messages back into parent orchestration without correlation sets
- How does it help?
- Separate common logic into easily called processes
- No need to worry about binding
- done using correlation token
- no need for a business connection between messages
- Pitfalls?
- Untyped messages not supported – the message must be serialized
Convoys
- What is it?
- Parallel and sequential message processing support
- Routing is independent of running orchestration instances
- How does it help?
- Allows you to handle race conditions on the message box
- Pitfalls?
- Zombies – completed with discarded messages
- Difficult to reprocess message
- limit to 3 convoy properties
For more information regarding convoys see Stephen’s BizTalk Server Convoy Deep Dive whitepaper.
Links: Stephen W. Thomas BizTalk Blog
Building Solutions with the Microsoft ESB Guidance
Marty Waznicky, Principle Program Manager, Connected Systems Division
This presentation seemed like it was part two of the previous presentation that I saw from Marty – see SOA Conference: Day 3 for more. Marty then demonstrated the following:
- Exception Management process
- Management Portal
- Dynamic Routing
- Uddi services
- Dynamic Resolution
- Dynamic Transformations
- Itinerary Processing
- Scatter Gather pattern
Finally he mentioned that the new release should be posted to the MSDN patterns and practices site next week.
Links:
ESB Guidance Toolkit
Marty Wasznicky – Regional BizTalk Rants

Recent Comments