Michael Stephenson's recent thoughts about BizTalk vNext has inspired me in gathering my own BizTalk wishlist.
My wish list is categorized as follows:
- Usability / Productivity
- Explicitness / Clarity
I have given great importance to usability/productivity enhancements: BizTalk has reached a good level of architectural maturity, but it has neglected features that would allow developers to be more productive, and I hope the next version will improve on this aspect. (Note that I'm not talking about adding more wizards or drag and drop tools, but on enhancements that would improve flow)
Another important aspect is deployment. It should be as painless as possible to support several upgrade scenarios, to enable iterative development where upgrades can be done frequently and with minimal downtime.
Usability / Productivity
|Make variable/message creation more efficient|| |
|Wizards: remember previous values|| |
|Orchestrations: Get rid of the XML representation|| |
|Add a "Refactor > Extract Orchestration" feature|| |
|Pipeline designer: add pipeline components from "project reference" instead of toolbox.|| |
|Allow "commenting" orchestration shapes or group of shapes.||This could be useful when doing major changes to an orchestration, to temporarily disable parts of an orchestration and ensure individual changes still compile.|
|Enhance general usability|| |
Writing code using a text editor (with features like IntelliSense, refactoring...) is generally more efficient than using a graphical editor (such as BizTalk's orchestration designer, mapper and pipeline designer). This doesn't mean that an efficient graphical code editor is not possible, but it's still a huge unresolved challenge. Considerable user interface research must be done before reaching that point.
Explicitness / Clarity
|Add a "Initialize Correlation Set" shape to orchestrations|| |
|Allow filter expression on non-activate receive shapes|| |
|Never truncate any text in the orchestration editor.|| |
|Allow adding "documentation comments" to orchestrations|| |
|Binding files: use "configuration by exception" for exported bindings.|| |
|Binding files: Don't escape any XML|| |
|Allow readable XPaths in every place where an XPath expression can be entered|| |
|Create a MSI file WITHOUT first deploying to BizTalk||The goal of a MSI file is to deploy, so needing to deploy in order to generate the file that will be used to deploy is a "paradox". |
|Have a way to replace a deployed schema, without undeploying assemblies that depend on it, and without changing its target namespace|| |
|Allow Visual Studio debugger to step through XLang/s code (when attached to BTSNTSvc.exe)|| |
Some of these may require ambitious/complex changes that may break legacy tools, so I doubt that all of them will be implemented. But it would still be nice if a few could be implemented. Also, some of these enhancements/features/critics are also relevant with WF and Dublin, where it's probably not too late to start applying them.