How to send the feedbacks for the BizTalk Server documentation!

I attended a customer awareness workshop last week, and one of the feedbacks from customers is about how to send the feedbacks about the BizTalk Server documentations.
Each topic of the online or offline documentations has the following table at the bottom of the page, If you can’t see the table, you can enable it by clicking .

The feedbacks are reviewed promptly, and then the BizTalk Server UE team will response them within 24 hours (usually sooner).
If you have any problems or feedbacks, please don’t hesitate to send them so that you will get the right documentation that you want to see.

Installing the new ’06 SharePoint Adapter

The new SharePoint Adapter is now included with the install of BizTalk.  Typically, in a production environment, the SharePoint site you will be interfacing with is not the same as any of the BizTalk servers.  When reading through the documentation, installing the adapter webservice on a remote machine is not very apparent.  Easy enough, just run the BizTalk install on the SharePoint box you might say.  Well, it’s almost that easy, but not quite.  The first road block is the install wizard won’t even run if SP1 (if on a Win 2003 box) is not detected.  This is a bug in my opinion.  What if I were just wanting to install the documentation, does that require SP1?  Anyway, there appears to be no getting around this point.  Don’t waste your time finding the files on the CD and copying them to a virtual directory.  So, fair enough, install SP1 if not currently installed, then run the install.  The SharePoint Adapter web service is listed under Other Software.  Logically, we would just select that, it would appear to install succesfully, and we’re all set.  Nope.  You actually need to select the adapter web service, AND ALSO Business Activity Services.  Another bug in my opinion.  Anyway, select both, complete the install and you should be fine.  You may have to go into IIS and create your own virtual directory, depending on if you went through the configuration on the BizTalk server.  Don’t forget to make sure the site the web service is running under is marked to run under ASP.NET 2.0.  And, don’t forget to edit the web.config.tmpl.


 


Cheers,


Todd

Yes – I still love Atlas

Yes – I still love Atlas

I have to give kudos to the ASP.NET Team.  I really love the Atlas programming
model.  I’d like to tell you that my Atlas based Workflow Designer is ready –
but it isn’t.  But – I did re-build the WF WorkflowMonitor sample application
tonight as an ASP.NET Atlas based application (oh – and I also did is as a non-Atlas
based ASP.NET application for those of you that are still suck doing flicker-based
PostBacks ;-)).

What is Workflow Monitor?  Well the Windows Workflow Foundation runtime will
take advantage of a TrackingService  – if one is found inside of the WF runtime. 
The runtime ships with a SqlTrackingService – which by default tracks all Activity
events.  See my post on the WF forums if you have never gotten tracking up and
running for the steps I think people should go through to get the zen of WF tracking
– http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=438583&SiteID=1.

One of the coolest steps is to use the Workflow Monitor sample that ships with the
WF SDK.  It is a Windows Forms application that will (assuming you are using
the SqlTrackingService and have added your workflow assembly as a reference or into
the directory where Workflow Monitor is running) show you what has executed in terms
of your Workflows.  If you set the SqlTrackingService.IsTransactional property
to false, you can even see this in semi-realtime as the SqlTrackingService will write
each event to the database as it happens rather than batch them (all writes are done
transactionally regardless of the IsTransactional property BTW).

Why is this cool?  Well – to me it shows off one of the big features of using
WF – visibility.  You can even show this to your pointy-haired
bosses
and they might start to see the advantage of WF.  Here is a screen
shot of Workflow Monitor in action:

 

So what’s so cool here?  Well two of WF’s major features are being emphasized. 
First – Visibility (sometimes referred to as Transparency – I like the simplier term). 
At runtime and after runtime we can actually *see* what our processes have done. 
The second major WF feature displayed is the designer re-hosting inside of another
application other than Visual Studio. Although the designer really plays into visiblity
– the fact that we can host the designer in any application royalty free I think is
a huge bonus feature of WF.  Oh – not to mention tracking and the capabilities
of the out-of-box SqlTrackingService.

So given my recent perseveration with Atlas and the WF designer I thought – wow wouldn’t
that be a cool combination? Having the visibility into your WF processes for the masses
– even those who don’t have the WF runtime on their machines – or those who you don’t
want to have to deploy the Workflow Monitor sample (which could be made into a pretty
deployable click-once application very easily).

So here we go – unlike last nights tease post – not only will I show you a Workflow
Monitor application hosted in ASP.NET – I’ll post the code as well.

So here is my version of the Workflow Monitor in ASP.NET (which at the designer level
borrows alot of code from the Workflow Monitor sample just to keep it consistent with
what people have become used to).  First let’s look at the Atlas version. 
Why an Atlas version?  Well first of all as I mentioned I think Atlas rocks. 
But it rocks for a very good reason (and that reason isn’t that pointy-haired
bosses
know the term AJAX now
and think they are so cool because of that).

Atlas and Ajax is cool because is gives the user the best browser
experience possible.  Clearly the smart-client experience is going to be superior. 
But if you have to go with a browser only application – why not make that application
as easy as possible to use – and as nice as possible to look at.  I think AJAX
browser applications do do that better than non-AJAX ones, and I think that Atlas
is a great framework if you are building ASP.NET applications.

So in the spirit of cross-browser love – I am going to show you all the screen shots
in Firefox.  🙂

Here is my atlas/ajax based Workflow Monitor application in Firefox:

 

This is the ASP.NET Workflow Monitor in Firefox, before any workflow has been
selected from the list of tracked workflows in the GridView on the right side of the
page (to make this managable for more than a demo you’d want to restrict the time-frame
of the query for these instances or give the use the ability to restirct the query
– you can find how to do that from the Workflow Monitor sample itself).  Once
I select an workflow from the list of tracked workflows on the left – I get the following
(because it is using Atlas and an UpdatePanel there is no post-back flicker – only
the workflow image itself is being updated:

 

Again – I have to tip my hat to the ASP.NET team on the job they did on Atlas, I never
would have believed I could just write my ASP.NET page using the declarative ASP.NET
model, add a few extra declarations and have a cross-browser AJAX application. But
I have to say wow – they did it.  My contribution to this demo pretty much pales
in comparison to theirs.

So how does this code work?  Well quite a while ago I posted about hosting the
WF desinger in ASP.NET using a control and a handler to render a workflow
as an pure image.  The worklow designer (WorkflowView actually) makes this option
availlable as a public method.  The post I made last night about a WF Atlas
based designer is also based on that code – as is this code (for honest disclosrure I
borrowed much of the Workflow Monitor code directly for the worklfow drawing and use
of the tracking API).

All that really happens is that each time you select a workflow from the list in the
right-side GridView, a post-back is done to the server.  On the server-side some
code in the page executes and retrieves the tracked workflow from the SqlTrackingService
Query API (the same code that the Workflow Monitor example uses) based on its InstanceId. That
information (the SqlTrackingServiceInstance)  is stored in ASP.NET session. 
The HttpHandler – once it gets a request from the current session uses the
SqlTrackingService instance to generate the image for the current workflow (the code
from Workflow Monitor already decorated the current worklfow with special glyphs or
images based on the execution status).

Just like the in Windows Forms version, this version loads the workflow into the Workflow
Designer, but unlike that version which shows the results to the screen, this version
captures an image (you can do this from the Workflow menu in Visual Stuiod 2005 as
well when you are designing a workflow).

In the Atlas version there is no flicker and the browser app appears fairly close
to Workflow Monitor.  With a Atlas timer – you could replicate the Workflow Monitor
fucntionality almost completely and always hightlght and select the most recent workflow.

Again – if you are unlucky enough to be stuck doing ASP.NET without Atlas – I built
a version that removes all the Atlas references and tags, and does work – just looks
pretty bad since there is lots of post-backs and white screens in the browser.  
You can download – either version (or hey download both versions and see the beauty
of atlas – and remember you have to download and install the latest version of atlas for
this to work – as well as beta 2.2 of WF) :

AtlasWorkflowMonitor.zip
(697.68 KB)

NonAtlasWorkflowMonitor.zip
(292.61 KB)

If you are stuck not using Atlas – this might a good time to introduce your pointy-haird
boss to AJAX.  I am sure you’ll be using Atlas in a very short amount of time
😉

10 more samples for BizTalk Server 2006 live at the MSDN Web site

10 more samples for BizTalk Server 2006 live at the MSDN Web site. I wrote the following samples of them.


1) Using Long Running Transactions in Orchestrations (BizTalk Server Sample)


2) Recoverable Interchange Processing Using Pipelines (BizTalk Server Sample)


3) Delivery Notification (BizTalk Server Sample)


I’m now writing some samples for Role Link, SSO Configuration Source, BAM-HAT correlation, and Web Services messaging only scenario. If you have any opinion or feedbacks for the samples you want to see, please let me know.

WSS v3 Beta 2 is out – try it with WSS adapter

Windows SharePoint Services V3 Beta 2 is out and you can download it here. WSS v3 does not install a policy file that redirects old SharePoint assembly requests to the new assemblies. For this reason, if you try to use WSS v3 Beta 2 with BizTalk 2006 WSS adapter, you will run into errors. In order to workaround this problem and take WSS v3 Beta 2 for a test drive together with BizTalk 2006 WSS adapter, you will need to write your own policy file or just update the web.config file of the WSS adapter web service. Here’s what you need to do:



  1. Open web.config from C:\Program Files\Microsoft BizTalk Server 2006\Business Activity Services\BTSharePointAdapterWS
  2. Paste the following section into the web.config file, configuration section and save the file
     <runtime>
        <assemblyBinding xmlns=”urn:schemas-microsoft-com:asm.v1″>
          <dependentAssembly>
            <assemblyIdentity name=”Microsoft.SharePoint”
                              publicKeyToken=”71e9bce111e9429c” />
            <bindingRedirect oldVersion=”11.0.0.0″
                             newVersion=”12.0.0.0″/>
          </dependentAssembly>
        </assemblyBinding>
      </runtime>

If you have other apps that were compiled against the old SharePoint assembly and you want to see if they will work with the new SharePoint assemblies, you can paste the snippet above in the configuration section of the machine.config file. That will make the changes global to entire machine.


During my tests, WSS adapter worked nicely with WSS v3 Beta 2. There were a few intermittent issues like [Microsoft.SharePoint.SPException] Unable to complete this operation.  Please contact your administrator. or [Microsoft.SharePoint.SPException] The URL ‘/sites/BASSite/DestinationLibraryFromOrch/tmp-db04abaf-4a12-4e11-93c9-4338c17cc78c.xml’ is invalid.  It may refer to a nonexistent file or folder, or refer to a valid file or folder that is not in the current Web.


However, the operation was succesful on the second retry performed by the adapter and since this is a beta product some annoyances are expected. If you decide to try WSS v3 Beta 2 yourself and you find worse problems, I would like to hear about them from you.


[Content below added/changed on June 14]


BizTalk 2006 Configuration routine for Windows SharePoint Services BizTalk Adapter Web Service/SharePoint Adapter fails to configure on WSS v3 Beta 2 (SharePoint 2007 Beta 2). In order to workaround this you can install and configure WSS adapter on WSS v2 and then upgrade to WSS v3.


An alternative is to configure the adapter web service manually. I haven’t tried this approach but it should work. In this case you need to create a virtual folder on the IIS site hosting SharePoint and name that virtual folder BTSharePointAdapterWS. The virtual folder should point to C:\Program Files\Microsoft BizTalk Server 2006\Business Activity Services\BTSharePointAdapterWS folder. This virtual folder must run in its own application pool and this app pool needs to be a copy of the SharePoint app pool (app pool used by _layouts virtual folder). You also need to update the web.config file like below


  <authorization>
   <allow roles=”MACHINENAME\SharePoint Enabled Hosts” verbs=”GET,HEAD,POST”/>
   <deny users=”*”/>
  </authorization>


These are my own workarounds and they are NOT supported by Microsoft. AFAIK, Microsoft has NOT announced yet if BizTalk 2006 will support WSS v3.

How to send the feedbacks for the BizTalk Server documentation!

I attended a customer awareness workshop last week, and one of the feedbacks from customers is about how to send the feedbacks about the BizTalk Server documentations.
Each topic of the online or offline documentations has the following table at the bottom of the page, If you can’t see the table, you can enable it by clicking .

The feedbacks are reviewed promptly, and then the BizTalk Server UE team will response them within 24 hours (usually sooner).
If you have any problems or feedbacks, please don’t hesitate to send them so that you will get the right documentation that you want to see.

Submitting Documentation Feedback

Have you found a problem with the documentation? Have comments or suggestions on new content? We are listening! On every page of our documentation we have a link to submit feedback. And guess what…….there are real live people (like me!) sitting on the other end waiting! We triage every request that comes through and respond within 24 hours (usually quicker)! As we move more towards a continuous publishing model, your feedback is incorporated and released much quicker! 

Wanna see how easy it is to provide feedback? Read Young’s posting or watch this video…

Video Walkthrough
How to submit documentation feedback






320×240 | 640×480

 

WSS v3 Beta 2 is out – try it with WSS adapter

Windows SharePoint Services V3 Beta 2 is out and you can download it here. WSS v3 does not install a policy file that redirects old SharePoint assembly requests to the new assemblies. For this reason, if you try to use WSS v3 Beta 2 with BizTalk 2006 WSS adapter, you will run into errors. In order to workaround this problem and take WSS v3 Beta 2 for a test drive together with BizTalk 2006 WSS adapter, you will need to write your own policy file or just update the web.config file of the WSS adapter web service. Here’s what you need to do:



  1. Open web.config from C:\Program Files\Microsoft BizTalk Server 2006\Business Activity Services\BTSharePointAdapterWS
  2. Paste the following section into the web.config file, configuration section and save the file
     <runtime>
        <assemblyBinding xmlns=”urn:schemas-microsoft-com:asm.v1″>
          <dependentAssembly>
            <assemblyIdentity name=”Microsoft.SharePoint”
                              publicKeyToken=”71e9bce111e9429c” />
            <bindingRedirect oldVersion=”11.0.0.0″
                             newVersion=”12.0.0.0″/>
          </dependentAssembly>
        </assemblyBinding>
      </runtime>

If you have other apps that were compiled against the old SharePoint assembly and you want to see if they will work with the new SharePoint assemblies, you can paste the snippet above in the configuration section of the machine.config file. That will make the changes global to entire machine.


During my tests, WSS adapter worked nicely with WSS v3 Beta 2. There were a few intermittent issues like [Microsoft.SharePoint.SPException] Unable to complete this operation.  Please contact your administrator. or [Microsoft.SharePoint.SPException] The URL ‘/sites/BASSite/DestinationLibraryFromOrch/tmp-db04abaf-4a12-4e11-93c9-4338c17cc78c.xml’ is invalid.  It may refer to a nonexistent file or folder, or refer to a valid file or folder that is not in the current Web.


However, the operation was succesful on the second retry performed by the adapter and since this is a beta product some annoyances are expected. If you decide to try WSS v3 Beta 2 yourself and you find worse problems, I would like to hear about them from you.


[Content below added/changed on June 14]


BizTalk 2006 Configuration routine for Windows SharePoint Services BizTalk Adapter Web Service/SharePoint Adapter fails to configure on WSS v3 Beta 2 (SharePoint 2007 Beta 2). In order to workaround this you can install and configure WSS adapter on WSS v2 and then upgrade to WSS v3.


An alternative is to configure the adapter web service manually. I haven’t tried this approach but it should work. In this case you need to create a virtual folder on the IIS site hosting SharePoint and name that virtual folder BTSharePointAdapterWS. The virtual folder should point to C:\Program Files\Microsoft BizTalk Server 2006\Business Activity Services\BTSharePointAdapterWS folder. This virtual folder must run in its own application pool and this app pool needs to be a copy of the SharePoint app pool (app pool used by _layouts virtual folder). You also need to update the web.config file like below


  <authorization>
   <allow roles=”MACHINENAME\SharePoint Enabled Hosts” verbs=”GET,HEAD,POST”/>
   <deny users=”*”/>
  </authorization>


These are my own workarounds and they are NOT supported by Microsoft. AFAIK, Microsoft has NOT announced yet if BizTalk 2006 will support WSS v3.

More BizTalk Server 2006 Samples on MSDN!

Hi,


The programmer/writers have posted 10 more samples to the BizTalk Server Developer Center on MSDN (http://msdn.microsoft.com/biztalk/)!



Console Adapter
This sample consists of a C# console application that instantiates and hosts an instance of the receive adapter. The adapter is a Visual Studio 2005 class library that invokes the BizTalk Server 2006 APIs.    


Delivery Notification
This sample demonstrates how acknowledgments work and how to use delivery notification.    


Using Long-Running Transactions in Orchestrations
This sample demonstrates how to use long-running transactions in orchestrations.    


Using the Looping Functoid
This sample transforms catalog data from one format to another by using the Looping functoid.    


Mapping to a Repeating Structure
This sample demonstrates how to map multiple recurring records in an inbound message to their corresponding records in the outbound message in the BizTalk Mapper.    


Parallel Convoy
This sample demonstrates how to design the parallel convoy pattern in BizTalk Orchestration Designer.    


Policy Chaining
This sample demonstrates how to invoke a policy from another policy by calling the Execute method of the Policy class exposed directly by the Microsoft.RuleEngine assembly.    


Recoverable Interchange Processing Using Pipelines
This sample demonstrates how to implement recoverable interchange processing.    


Using the Table Looping Functoid
This sample demonstrates the use of the Table Looping functoid in gated and non-gated configurations.    


Using the Value Mapping and Value Mapping (Flattening) Functoids
This sample demonstrates the use of the Value Mapping and Value Mapping (Flattening) functoids to transform data between different message formats.