PipelineTesting: Improvements and Standard Components

PipelineTesting: Improvements and Standard Components

I’ve been tweaking the PipelineTesting API further as I use it and write the unit
tests for it. Here are some of the improvements I’ve made on the pipeline creation
syntax:

  1. The NewReceive()/NewSend() methods were renamed to just Receive() and Send(), across
    all creation functions. This leads to a slightly shorter and more readable (imho)
    syntax.
  2. The End() method in the builder classes is now optional; as they now provide an implicit
    conversion operator to ReceivePipelineWrapper and SendPipelineWrapper respectively.
    I think this is one change that was really needed to make the syntax more palatable,
    and means you can now do this:
ReceivePipelineWrapper pipeline = Pipelines.Receive()
   .AddValidator(new XmlValidator()); 

I think this looks much better.

Creating standard components

One of the problems with the current PipelineTesting version is that while it allows
you to use one of the standard assembler/disassembler components on an empty pipeline,
it provides no help doing so. Using them can be pretty annoying because there’s no
easy way to add document and envelope schemas.

The cause for this is that the relevant properties in the standard Xml/FF assembler
and disassembler components use types defined in Microsoft.BizTalk.Component.Utilities.dll.
The types themselves are public (and even somewhat
documented
), but the assembly can only be found in the GAC, which means referencing
it in tests projects is a pain in the neck.

To save yourself the trouble from having to do this, the new PipelineTesting API will
also expose classes to make it easier to create and configure the standard XML and
Flat File assembler and disassembler components. Here’s an example of the syntax I’m
implementing:

XmlAssembler asm = Assembler.Xml()
   .WithDocumentSpec<Schema1_NPP>()
   .WithEnvelopeSpec<SimpleEnv>()
   .WithPreserveBom(true);
SendPipelineWrapper pipeline = Pipelines.Send() .AddAssembler(asm); //
...

WSE Adapter Setup

After struggling to get the WSE Adapter setup on a new dev box, I’m writing this post for posterity, so I don’t waste another three-hours getting the adapter installed….
The adapter has one prerequisite – The Microsoft Web Services Enhancements 2.0 SP3 for .Net [1] – download and run the setup; once finished, check that you […]

Presenting at this years Australian TechEd

With a bit less prep than last year and a bit more prep than the year before, I will be presenting at this years Australian TechEd on the Gold Coast. I will be re-delivering on of the topics delivered at US TechEd:


%u00b7 CON310 – Building Connected Systems on the Microsoft .NET Framework Using the Windows Communication Foundation Adapter in BizTalk Server 2006 R2


o 09/08/2007 1:45 PM – 3:00 PM


o Track(s): Connected Systems


o Level: 300


o Building applications today requires the ability to create secure, reliable connections between systems; manage complex business processes, transactions and rules; and integrate with systems of all kinds. Microsoft provides a number of technologies and products to help in building these applications, but understanding how these tools all work together can be difficult. In this session, we examine using Windows Communication Foundation, Windows Workflow Foundation, BizTalk Server 2006 R2 and Windows CardSpace together to build today’s connected systems. Discussion includes the integration points available in these products, with an emphasis on the WCF adapters and including the adapter framework in BizTalk Server R2, and how to apply the technologies together.


So if you are interested in seeing how BizTalk 2006 R2 plays with the latest .Net technologies come along and see for yourself.

Documentation Rant

know I know, I should sit back and bask in the fact that I have madea very good living understanding how BizTalk works and some of the neuances in the product are overcome. But I am not satisfied. I demand perfection!

Here are a list of some of the things that I think could be improved with how Microsoft documents and delivers their content to us mere mortals.

  1. More guts of the technical architecture of what goes on behind the scenes of their products. A case in point that I am intmately familiar with, the HIPAA database. There is very little documentation on what that database has in it, and how to leverage data that is contained in there. I have written an entry on how to extract the error information that is contained in it, but that was simply found by poking around. What is the purpose of the magic column in the parame table. What are all of the other columns used for? When you validate the schema in visual studio, there should be better documentation that states that it will invoke xsd2edi and compeif. How about some examples of MSMQT, what situations would you use them, and best of all: a few examples.
  2. What would be really nice is to have a section in the online help that would list of all of the hotfixes for that product. I think that having in online would be the best place, because then it would be up to date. I would appreciate a list so I don’t spend 3 days troubleshooting an issue only to call in and the helpdesk rep state “ya, that is a known issue, we have a hotfix for that.” I don’t care if it has not been fully tested, if it saves me working like crazy only to find out that someone else has reported it and there is a hotfix. Even if there is not a hotfix and it is an open item, I would like to know that they are working on it and I will gladly call up and have my name added to the list when the hotfix becomes available I will get it.
  3. I like whitepapers, but they seem to get published 2 years after the product is out. A little too late for me… …about 2 years too late! Why can’t whitepapers be released as soon as the product is released? In order to qualify for a Beta program, you have share your experiences with the product, why can’t a whitepaper be required for Beta customers?
  4. Another irk I have is with some of BizTalk pieces. With all of the troubleshooting contained in Visual Studio, why can’t more of it be integrated for BizTalk? The pipeline testing components in the SDK, why not are they part of the VS enviornment? A test enviornment that can be invoked from within VS to test an orchestration instead of having to deploy it and ‘test’ it there? Visual Studio has the ability to create test scenarios for C# methods, it would be possible to emulate an enviorment in VS for orchestrations, right click and choose Setup, and supply sources for data and file drop locations for outbound data (the ability to read and drop in both XML and flat file structures). Also if responses are not yet available, the ability from within the Setup dialog box to auto generate responses based on the schemas.
  5. There are some best practices designs already published, convoy processing, for example. Why can’t I go online from Microsoft and download a template that gets me started, so it is part of the templates? (does it exist already?) Maybe sections in the templates section, B2B, A2A, etc.
  6. I am a picture guy, I like the pictures that used to be there in the docs online, now they are gone. Examples of the different uses of the functiods for example.
  7. I would like a better search by product feature on the msdn site. I read that it normally takes 7 clicks to find what you are looking for, and it is especially true, if not worse on the MSDN site. Can’t MS afford to buy some brainiacs away from Google to improve the hit ratio for their own site?
  8. There are a lot of great blogs from MS guys, who have more access to how things really work behind the scenes. Why can’t their blog entries be included in the documentation. Keith Lim andKevin Lam are great examples, if I am reading about BAM, it would be great to have a link from within the documenation right to his blog, or simply having his blog become part of documentaion. If I want to understand about port definitions Kevin’s blog is a perfect place to end up. But I would NEVER know that by reading documentation.
  9. The examples in the SDK (at least in BizTalk) have very little documentation on what it is going to do, and why it is doing it. When all I can see is how to set it up.

To list a few things that I think are good, so this is not simply a rant:

  1. The SQL Server books online are pretty comprehensive. If all documentation was as thorough as SQL Server there would be less conflict in the world.
  2. Readability. The documentation is usually clear and concise.

Use this reply section to add your thoughts!

Microsoft Rant

I know I know, I should sit back and bask in the fact that I have madea very good living understanding how BizTalk works and some of the neuances in the product are overcome. But I am not satisfied. I demand perfection!

Here are a list of some of the things that I think could be improved with how Microsoft documents and delivers their content to us mere mortals.

  1. More guts of the technical architecture of what goes on behind the scenes of their products. A case in point that I am intmately familiar with, the HIPAA database. There is very little documentation on what that database has in it, and how to leverage data that is contained in there. I have written an entry on how to extract the error information that is contained in it, but that was simply found by poking around. What is the purpose of the magic column in the parame table. What are all of the other columns used for? When you validate the schema in visual studio, there should be better documentation that states that it will invoke xsd2edi and compeif. How about some examples of MSMQT, what situations would you use them, and best of all: a few examples.
  2. What would be really nice is to have a section in the online help that would list of all of the hotfixes for that product. I think that having in online would be the best place, because then it would be up to date. I would appreciate a list so I don’t spend 3 days troubleshooting an issue only to call in and the helpdesk rep state “ya, that is a known issue, we have a hotfix for that.” I don’t care if it has not been fully tested, if it saves me working like crazy only to find out that someone else has reported it and there is a hotfix. Even if there is not a hotfix and it is an open item, I would like to know that they are working on it and I will gladly call up and have my name added to the list when the hotfix becomes available I will get it.
  3. I like whitepapers, but they seem to get published 2 years after the product is out. A little too late for me… …about 2 years too late! Why can’t whitepapers be released as soon as the product is released? In order to qualify for a Beta program, you have share your experiences with the product, why can’t a whitepaper be required for Beta customers?
  4. Another irk I have is with some of BizTalk pieces. With all of the troubleshooting contained in Visual Studio, why can’t more of it be integrated for BizTalk? The pipeline testing components in the SDK, why not are they part of the VS enviornment? A test enviornment that can be invoked from within VS to test an orchestration instead of having to deploy it and ‘test’ it there? Visual Studio has the ability to create test scenarios for C# methods, it would be possible to emulate an enviorment in VS for orchestrations, right click and choose Setup, and supply sources for data and file drop locations for outbound data (the ability to read and drop in both XML and flat file structures). Also if responses are not yet available, the ability from within the Setup dialog box to auto generate responses based on the schemas.
  5. There are some best practices designs already published, convoy processing, for example. Why can’t I go online from Microsoft and download a template that gets me started, so it is part of the templates? (does it exist already?) Maybe sections in the templates section, B2B, A2A, etc.
  6. I am a picture guy, I like the pictures that used to be there in the docs online, now they are gone. Examples of the different uses of the functiods for example.
  7. I would like a better search by product feature on the msdn site. I read that it normally takes 7 clicks to find what you are looking for, and it is especially true, if not worse on the MSDN site. Can’t MS afford to buy some brainiacs away from Google to improve the hit ratio for their own site?
  8. There are a lot of great blogs from MS guys, who have more access to how things really work behind the scenes. Why can’t their blog entries be included in the documentation. Keith Lim andKevin Lam are great examples, if I am reading about BAM, it would be great to have a link from within the documenation right to his blog, or simply having his blog become part of documentaion. If I want to understand about port definitions Kevin’s blog is a perfect place to end up. But I would NEVER know that by reading documentation.
  9. The examples in the SDK (at least in BizTalk) have very little documentation on what it is going to do, and why it is doing it. When all I can see is how to set it up.

To list a few things that I think are good, so this is not simply a rant:

  1. The SQL Server books online are pretty comprehensive. If all documentation was as thorough as SQL Server there would be less conflict in the world.
  2. Readability. The documentation is usually clear and concise.

Use this reply section to add your thoughts!

The other shoe has finally dropped.

A few weeks ago the announcement was made that BizTalk Server 2006 R2 will be generally available in September. It truly feels great to finally see the light at the end of that tunnel. A whole bunch of effort goes into building the product as well as prepping for its launch. The fruits of all of that labor are about to be shared with the global BizTalk community and that is very good indeed, but it also affords us the opportunity to begin looking ahead past the major release milestone.


I’m not going to peer too far into the misty future just yet. I want to talk a little bit about the near future though. Just in case you missed it, Mark Berman put in a lot of hard work on a new BizTalk Server roadmap page for Microsoft.com. Please take a look at it and let us know what you think. We’ve also finally posted the registration site for the next SOA and Business Process Conference. Kris Horrocks and the event team have been feverishly working on a wide raft of things to do with the show. There will be a ton of up to the minute “how” and “why” content for building and enhancing SOA and BPM projects with Microsoft products and technologies as well as a large dose of the best community talent on hand to share knowledge and comment on announcements. Oh yes! There will be announcements and even further clarification on the future roadmap. This is the one show that BizTalk Server insiders flock to every year. 


As these big bang events hit (Launch & SOA-BP conference) a whole lot of new ideas and guidance will wash up on the shores of our community. I’m curious how I can best measure the value of all of it to you folks who are consuming it and building solutions based on it. Sure I get buzz reports and marketing effectiveness studies but there really isn’t any soul to them. They’ll tell me who the most read bloggers are and what the tone of the stories out there are. They miss the passion of the community though. Reports don’t convey the vibrancy of the discourse going on out there. 


I’m embarked on an effort to plug into that vibrancy and participate in the discussion and discourse that the BizTalk community has become famous for. I have to admit that I’m doing it for my own enjoyment more so than as a job aide. I’m really not even counting on the product team blog here to help me. I’m not certain that it’s a great representative view into the community anyway.  


I’ve recently joined a BizTalk Architects group on Facebook.com. It’s new and small but growing fast. I want to see how it evolves and maybe even help it along some. I’ll be looking for other avenues into the community as well. If you see me out there please introduce yourself and let me know what’s on your mind. I’d like to know who you read in the blogsphere and what sites you hang out at. You can also reach me at ‘mwoods at microsoft dot com’ or ‘dumbassmike at hotmail dot com’.  It can be a bit intimidating to spout off on a widely read blog like this one. Please feel free to contact me persoanlly if you’ve got something say.


Now that the all consuming  work for launch and our little conference is winding down I’m ready for some fun with and among the community stalwarts.  


 


Thanks,


Mike Woods


Group Technical Product Manager, BizTalk Server


Microsoft Corporation

[BizTalk] Interview Advice

I recently completed another round of interviews for my company in the search for BizTalk consultants. Yet again, it was a fairly depressing experience. I offer a few humble tips to folks claiming to be BizTalk architects/developers.

My first pet peeve is gigantic resumes. I know that headhunters often beef these things up, […]

Microsoft Healthcare and Education Competition –

From the HealthBlog: http://blogs.msdn.com/healthblog/archive/2007/07/23/help-people-around-the-world-win-fame-and-prizes-for-your-healthcare-solutions.aspx

Help people around the world, win fame and prizes for your healthcare solutions

Are you a healthcare industry solution vendor?  Do you want worldwide recognition for your company’s good work and the solutions you build using Microsoft technologies?  Would you like an opportunity to win prizes including a roundtrip for two to Paris and a guest spot to judge at the Imagine Cup 2008?  If so, Microsoft’s Developer and Platform Evangelist group (DPE) has started up a new industry solution showcase and contest that I believe will be of great interest to readers of HealthBlog.

For a little inspiration, visit the Microsoft ISV Showcase.  You’ll see some examples of the terrific work being done by our ISV community to change the world of healthcare (as well as education, clean technologies, and manufacturing).  Check out the video from Vital Images, a company that is using Microsoft platform technologies as a base to give doctors a revolutionary new view of their patients, and a powerful way to save lives. The ground-breaking software creates colorful 3-D images from CT, MRI and PET scans, allowing problems in the heart, lungs, colon, and brain to be detected quickly, affordably, and less invasively. Also, take a look at some of the other healthcare ISV solutions that are featured in the showcase.

With that under your belt, jump to the CONTEST and enter your healthcare solution that is making, or has the potential to make, a difference in the lives of people around the world.  Good luck!