MVP Global Summit Day 3
Day three of the MVP summit was held at the Microsoft Campus. Things started badly with a long and slow bus ride through heavy traffic leaving me with no time for breakfast when I finally arrived at the conference centre. I boarded the shuttle for building 43 to find most of my fellow BizTalk MVPs (the ones who have been staying in downtown Seattle since the weekend) equally late, and we arrived en masse about 15 minutes into the first session. Jesus Rodriguez was on his feet presenting the forthcoming WCF adapter SDK with a particular focus on building LOB adapters with metadata harvesting and dynamic, consumer-orientated contracts. Sonu Arora presented code examples.
After a frantic and barely successful search for coffee, I sat through the next session with Gruia Pitigoi-Aron. This continued the focus on the new adapter framework, discussing the development of custom WCF channels from the perspective of BizTalk developers. Custom channels can be exploited in BizTalk land using the WCF Custom Binding adapter that will ship with R2. Gruia sees this as a new extension approach to be used alongside custom code in orchestrations and pipeline components. I need to do more thinking at some point about this approach. Although the adapter allows custom channels to interact with the BizTalk message box, this does not mean that you automatically get the recoverability and tracking you might need in a real-world solution. The appropriate use of this new facility will, I trust, become clear as we begin to apply it for real.
Next up was Marty Wasznicky discussing the BizTalk Server disaster recovery model and support for high availability. Microsoft has certainly improved this side of things, and we saw a good demo (slightly cursed by the demo gods at the end) of a BizTalk installation being recovered. Marty had to present under the eagle-eye d scrutiny of Lee Graber who, although now working with the SQL Server product team, joined us for part of the day. I was amused by Lee’s comments about BizTalk’s feature history. ‘No’, he said on more than one occasion, ‘that feature wasn’t introduced in BTS 2006; it was in BTS 2004 SP2’. Ah, the voice of authority.
Not being a system administrator, I was suitably impressed by the DR features that Marty demonstrated. This was, however, the subject of some discussion later in the day, with alternative viewpoints and strategies being discussed. The inability to support SQL Server mirroring was a matter of some concern. Again, BizTalk DR is a subject I need to look more deeply into.
After lunch, we were briefly back to adapter-land with a presentation by Tapas Nayak looking at Microsoft’s new WCF SAP adapter. This was especially interesting in terms of seeing the application of dynamic contract creation features in the new framework.
The direction of the day now changed with a fascinating presentation by Pravin Indurkar on the next release of WF. This will be part of .NET 3.5 which will ship in the ‘Orcas’ time frame. Pravin discussed and demonstrated a number of extensions that more closely integrate WF and WCF, allowing workflows to be exposed as services via WCF bindings and behaviours. WF will include new Send and Receive activities, and will support a context exchange protocol that will support a wide spectrum of service-orientated interaction patterns, including ‘conversations’ similar to patterns used in SQL Server Service Broker. This is very powerful, and I couldn’t help thinking that, conceptually at least, we were seeing something of a stepping stone on the way to integrating .NET 3 into a future version of BizTalk. WF 2.5 will support durable services via a persistence provider, and may even offer BizTalk-like features such as property promotion.
Next up was Paul Andrews, a Microsoft product manager, who discussed the drivers for choosing between different integration and workflow technologies (specifically BizTalk and WF). We’ve all sat through presentations were an attendee annoys us by reacting visibly and negatively to the presentation. On this occasion, I was that attendee, so I apologise to Paul if I made his life difficult. However, I profoundly disagree with the line he took. A major aspect of my work as a BizTalk consultant is to help clients understand how to best select and fit available technologies to their requirements, and I therefore want to see a Microsoft approach that is grounded in a solid understanding of the nature of specific technologies. To me, Paul’s approach would be analogous to comparing and contrasting the IP stack to Internet Explorer, and suggesting that while IE might be suitable technology for use by ‘enterprise’ customers, an ISV would probably want to install the stack. After all, draw up a tick-box list of features offered by IE and the IP stack, and you will see that the stack essentially offers a subset of the features you can access via your browser. So, if you don’t have ‘enterprise’ requirements, you only need the IP stack to access the Internet. Enterprise clients, of course, don’t need the stack. Huh?
For IE, read BizTalk, and for the IP stack, read WF, and you may begin to understand where I am coming from on this. Try to imagine how many minutes I would be allowed to stay in a client’s building before being marched back to the entrance if I was to take this approach in helping them to select appropriate technologies. Maybe three?
The point, surely is that WF is foundational. It is a framework on which we build. It is not a ‘product’ to be compared and contrasted with other products. BizTalk will, in future, build on this foundation. K2 ‘Black Pearl’ will build on this foundation. MOSS has already built on this foundation. MIIS is building on this foundation. Developers will build on this foundation when implementing custom workflow solutions. Edge servers will exploit this foundation and then interact with BizTalk which builds on this foundation and integrates with other services which build on this foundation. You’ve got to understand the foundational nature of WF before you can realistically advise clients in regard to technology selection. This is not enabled by plugging WF into a tick-box product comparison matrix.
OK, I bet (and hope) I get some kick-back on that. Let’s move on.
Brad Paris and Tiho Tarnavski were next up with a session on the WCF and WF BAM interceptor extensions in BizTalk R2. A few months ago, a colleague and I spent a couple of hours reflecting on WF in order to work out how its tracking infrastructure works. I won’t discuss here, but it is suitably impressive. At the time, we compared and contrasted this with the instrumentation you would need to do if using the BAM interceptor APIs directly. I was therefore delighted to discover that the WF BAM interceptor is built on the tracking infrastructure, which means that it should prove really powerful. There are a couple of caveats though. The point was well made that Microsoft does not offer anything like TPE (the BizTalk Tracking profile Editor) in order to exploit interception in WF workflows. This means that configuration must be done long-hand by editing verbose XML, and that this makes BAM instrumentation difficult. A good point, which is, of course (yet again) a tooling issue. I hope Microsoft takes note. A second point is that the interceptors do not use buffered event streams. This is potentially a killer. I do not understand why Microsoft persists in coupling BAM buffered event streams so closely to the BizTalk message box. Why not re-factor the technology to allow persisted events to be streamed out to any persistence provider.
Anush Kumar presented the next session on RFID. I’m very familiar with this subject thanks to the focus we have in Solidsoft, and many conversations with Simon Holloway who heads up our efforts in this area. I wanted to question Anush more closely on Microsoft’s story with regard to simulation and the current lack of support for ALE. However, there was so much interest from others that I didn’t get the chance after the presentation. Maybe I will email my questions. I did, at least, get to raise my concerns briefly about the lack of support for rules development when using the BRE event handler, and was later able to explain this in more depth to Jon Flanders and others.
The day finished with a session on Identity Management from Richard Turned and an extra session on MIIS which is built around WF. I’ve known Richard for many years, and I spent some time last year building a managed card demonstrator using CardSpace which we demonstrated at the Microsoft Security Summit last year, so am familiar with the technology and Kim Cameron’s laws of identity on which it is based. I am less familiar with MIIS, so was very interested to see this demonstration. MIIS certainly appears to provide a flexible approach to identity management and process governance.
In the evening, we got to share some quality time with members of the product team. I met with some of the guys working the next version of BizTalk orchestration, and also had a long conversation with Clemens Vasters who, years ago, sparked my initial interest in BizTalk. A group of us were able to articulate some of our concerns and questions about the future of BizTalk, and Clemens promised to look more closely at how roadmap information can be shared more effectively with the MVP community.
I’d love to add more and more names to my emerging list of BizTalk MVPs who I have met, but time does not allow. It’s great to meet all you guys.