BizTalk 2004 "Commando" Training course – BizTalk Assembly Replication and Viewer

BizTalk 2004 "Commando" Training course – BizTalk Assembly Replication and Viewer

BizTalk Server 2004 has a very cool architecture that allows it to balance the processing of a workload across many BizTalk Servers when they are configured to function as a group. When we use this “Group”, or “Farm” configuration, all the BizTalk Servers share the same configuration and message box database. As workload increases or, for high availablity, we can push “BizTalk” applications (in the form of .Net assemblies) out to additional servers in the farm. In most cases, “pushing out” really just means “GAC’ing” the custom BizTalk application assemblies on the target BizTalk Servers within the farm.


What does this architecture give us?  If the Orchestrations fail on one server, they can easily start up where they left off on the other server as all the state is managed in the database (not local machine queues).  All we need to do is make sure that the application assemblies are GAC’d on all the servers we want to fail over to.


Today, people either have to do that manually or or use a third party tool to GAC assemblies.  


But lets dream for a moment….wouldn’t it be cool if we had a tool that would allow us to manage all the assemblies deployed within the BizTalk group?  Imagine,  that we could use this tool to list out all the assemblies registered in the BizTalk Management database, then check to see if they’ve been deployed to other servers within the BizTalk group.  Then, when we find one that wasn’t GAC’d on a specific server, we could press a button and wholla (did I spell that right 🙂 ), the assemblies get deployed and GAC’d on the remote server and we didn’t even have to leave our desks.


Well…this is possible now because of a BizTalk Escalation Engineer that works for Microsoft Premier Services, Rick Caudle.  He wrote the BizTalk Assembly Checker, which does exactly what I described above. 


When we launch the tool, we’ll see a view that allows us to specify the SQL Server that the Management database is located on and connect to it.  Once we connect, it will list all the BizTalk Servers and deployed application assemblies registered in the BizTalk Group.  The tool allows us to select each server and check to see the assemblies are deployed.


If we need to copy and GAC the assemblies on one of the servers, we just click the GAC Tool button which brings up the dialog box below:


Check whether we want to copy the assemblies locally and GAC them and click the OK button…..the tool does the rest: 


You can download the tool as well as the latest build source code from here.

BizTalk 2004 "Commando" Training course – Installing Windows Sharepoint Servcies Batch File

Installing BizTalk Server 2004 sometimes entails installing Windows Sharepoint Services, specifically if you want to use Business Activity Services (Trading Party Mgmt, BAM portal, etc..).   However, I see more and more folks configuring it improperly, hence the BizTalk Server installation fails when trying to install our BAS site or updating the infopath templates.


The product group is pretty good about updating the Installation Guide for BizTalk Server 2004.   In fact, you can find the latest published guide (February 05) at http://www.microsoft.com/technet/prodtechnol/biztalk/biztalk2004/deploy/install_guide.mspx. 


In the guide it reads:


To configure Windows SharePoint Services


  1. If it is not already open, open SharePoint Central Administration. On the Start menu, point to Programs, point to Administrative Tools and then click SharePoint Central Administration.
  2. On the SharePoint Central Administration page, under Server Configuration, select Configure virtual server for central administration.
  3. On the Configure Administrative Virtual Server page, select Use an existing application pool if one already exists. If this is your first Windows SharePoint Services configuration, select Create a new application pool. Enter an application pool name. For example, SpsAdminAppPool.
  4. Select a Configurable security account and use a local administrator. Click OK. You will be prompted to restart IIS at this point. Click OK.
  5. After IIS restarts, open SharePoint Central Administration. On the SharePoint Central Administration page, under Server Configuration, select Set configuration database server.
  6. On the Set Configuration Database Server page, enter values for Database server name and SQL Server database name. Next, specify your database connection type. Click OK.
  7. On the SharePoint Central Administration page, under Virtual Server Configuration, select Extend or upgrade virtual server. The Windows SharePoint Services Virtual Server List page appears.
  8. On the Windows SharePoint Services Virtual Server List page, if there are no servers in the list, click the Go to the complete list link. The complete list appears.
  9. Select the server you want to extend.
  10. Click Extend and create a content database.
  11. On the Extend and Create Content Database page, under Application Pool enter an Application pool name. For example, SpsWebSiteAppPool.
  12. Select a Configurable security account and use a local administrator.
  13. Click OK.

By default, Windows SharePoint Services includes the root of the IIS default Web site as a managed path. To create a virtual directory on a Windows SharePoint Services-extended virtual server for your own use (for example, for a BizTalk Server receive location or for a Web service application), you must exclude the URL for your virtual directory from the Windows SharePoint Services managed paths. Alternatively, if you have not configured a top-level Windows SharePoint Services site on the root of the IIS Web site, you may remove the root as a managed path.


To configure Managed Paths in Windows SharePoint Services


  1. If it is not already open, open SharePoint Central Administration. On the Start menu, point to Programs, point to Administrative Tools and then click SharePoint Central Administration.
  2. Click the Configure virtual server settings link.
  3. Click on the server that you extended.
  4. Under Virtual Server Management, click on Define managed paths.
  5. Under Included Paths select the (root) checkbox and click the Remove selected paths link.
  6. Click the Windows SharePoint Services link to return to the SharePoint Central Administration site.

For information about how to configure managed paths from the command line, see the topic “Managing Paths” in Microsoft Windows SharePoint Services Administrator’s Guide at http://go.microsoft.com/fwlink/?LinkId=18110.


So, you can see, there’s a few things you have to do to configure it properly.   In the past, I’ve taken all this and just put it in a batch file to simplify the process.   You’ll find the text of the batch file below.  I literally just run this instead of running the setup independently and doing all the configuration manually.   I avoid common mistakes this way.  


You’ll see I declare some variables at the top of the batch file.  These set the path of the WSS installation executable, the server and port which WSS is being installed on, the user id, password and email address that the WSS service will run under (make sure they are members of the local IIS_WPG group), the database server in which to create the content and configuration database, ports and the name of the configuration database to create.


Next, I basically execute the following steps:



1. Install WSS using the remote Sql option


2. Remove front page extensions from the web site I’m installing WSS on


3. Configure the WSS admin site and the application pool for it, including the credentials it runs under


4. Create the WSS configuration database


5. Extend the virtual server on the default site and set credentials


6. Lastly, I delete the root as a managed path under WSS.


Cheers!


 


@SET WSSEXE          = C:\WUTemp\Platform\WSSV2\STS2Setup_1033
@SET WSSSERVER   = bts04dev01:80
@SET WSSUSERID    = waz-msft\WSSAdminSvc
@SET WSSPWD         =
pass@word1
@SET WSSEMAIL      = WSSAdminSvc@waz.msft.com
@SET DBSERVER      = BTS2004sql01
@SET FPPORT           = 80
@SET ADMINPORT   = 8080
@SET WSSCONFIGDB = WSSConfig



%WSSEXE%\SETUPSTS.EXE remotesql=yes /qb


“c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\50\BIN\owsadm.exe” -o fulluninstall -p %FPPORT%


“c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\BIN\stsadm” -o setadminport -p %ADMINPORT% -admapcreatenew -admapidname adminvs -admapidtype configurableid -admapidlogin %WSSUSERID% -admapidpwd %WSSPWD%


“c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\BIN\stsadm” -o setconfigdb -ds %DBSERVER% -dn %WSSCONFIGDB%


“c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\BIN\stsadm” -o extendvs -url http://%WSSSERVER% -ownerlogin %WSSUSERID% -owneremail %WSSEMAIL% -apcreatenew -apidname defaultvs -apidtype configurableid -apidlogin %WSSUSERID% -apidpwd %WSSPWD%


“c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\BIN\stsadm” -o deletepath -url http://%WSSSERVER%

BizTalk Server 2006: What is new with Business Activity Monitoring?

You probably already read Scott’s document on what is new in Business Activity Monitoring 2006.Today, I’ll shed some light on the brand new “out of the box” portal. All information are based on the CTP build you might have picked up at TechEd 2005. Keep in mind that the BAM Portal may (and probably will) change before its final version is released.



There are three main zones:




  1. the header. This is the location users can customize for branding purposes,


  2. the navigation bar (on the left on a light blue background) which displays all views and activities. This is the entry point to most features of the portal,


  3. the content where users will interact with data. The main page displays a quick summary of importan BAM concepts.

The header:


The header displays branding information (which can be customized for your company),  the contextual help link and the current location. On the screenshot below, I am on the Home page. You can always come back to the home page by clicking on the “Home” icon at the left of the header.



The navigation bar:


The navigation bar displays all views / activities which can be accessed by the current user. On the picture below, I have access to one view (SalesManagerView) under which there is currently one activity (“PurchaseOrder”).


 


I can search for instances of activity “PurchaseOrder” by clicking on “PurchaseOrder” under “Activity Search”. I can view aggregated data by clicking on one of the entries under “Aggregations”. Finally, I can manage alerts by clicking on “PurchaseOrder” under the “Alert Manager” node. The navigation bar is the main entry point to most BAM Portal features. It will always be displayed on the left of the window.


Join me tomorow as I explore the Activity Search, Aggregations and the Alert Manager.

Why (good) Xml is much better than plain text

There are many reasons, sure, and probably there are also reasons why plain text files can be better, but I would like to remark just only one reason, just because I fighting with it right now:


Xml is human readable


Or at least, it should be.


I’m dealing with the HL7 standard for healthcare. HL7 files are text files with some strange delimiters such ^ and |. Luckily we can use the BizTalk HL7 Accelerator, that allow us to abstract from the HL7 details.


A sample of an HL7 file:


MSH|^~\&|REG|MCM|BTS||199601121005||ADT^A04|000001|P|2.2
EVN|A04|199601121005||01||199601121000
PID|||191919^^^MYHOS^MR~123-45-6789^^^USSSA^SS|253763|SMITH^JOHN^Q||19560129|M|||123MAIN^^BUFFALO^NY^98052^””||(123)555-0100||S|M|10199925^^^MYHOS^AN|123-45-6789
PD1|S|F|NormalString^A^+1^-1^ISO^simpletext&Test&HCD^GI^simpletext&NormalString&ISO^I|NormalString^Test&Test^Test
^Test


^Test^Test^AE^simpletext^simpletext&Test&ISO
^P^NormalString^M10^MC^simpletext&NormalString&HCD^A|N|simpletext|I|I|N|NormalString^+1^M11^


simpletext&NormalString&L,M,N^RRI^simpletext&
NormalString&HCD|NOVALUE^NormalString^Test^Test^NormalString^Test|N
PV1|1|I|2000^2012^01^hey&test&DNS^test^test^test^test^test||||004777^MILLER^CONNIE^A.|||SUR||||2|A0


Where is the Patient Name? is “the substring between the fifth and the sixth | (pipe), in the third line (the line starting with PID). And remember, spaces are represented as ^(strange little hat)


The HL7 Accelerator comes with Xsd schemas to map these flat files. A sample message type ADT A04 (the above) looks something like this (just a small piece):


<ns0:ADT_A04_22_GLO_DEF xmlns:ns0=”http://microsoft.com/HealthCare/HL7/2X>
 <EVN_EventType>
  <EVN.1_EventTypeCode>A04</EVN.1_EventTypeCode>
  <EVN.2_DateTimeOfEvent>199601121005</EVN.2_DateTimeOfEvent>
  <EVN.3_DateTimePlannedEvent>199601121000</EVN.3_DateTimePlannedEvent>
  <EVN.4_EventReasonCode>01</EVN.4_EventReasonCode>
 </EVN_EventType>
 <PID_PatientIdentification>
  <PID.1_SetIdPatientId>191919</PID.1_SetIdPatientId>
  <PID.2_PatientIdExternalId>
    <
PID.5_PatientName>
       <
PN.0_FamiliyName>Doe</PN.0_FamiliyName>
       <
PN.1_GivenName>John</PN.1_GivenName>
    </
PID.5_PatientName>
[]


we still deal with HL7 codes and semantic structure, but it’s much easier to work the Patient Name. It’s located in “the FamilyName element under PatientIdentification” 🙂

BizTalk Server 2006: What is new with Business Activity Monitoring?

You probably already read Scott’s document on what is new in Business Activity Monitoring 2006.Today, I’ll shed some light on the brand new “out of the box” portal. All information are based on the CTP build you might have picked up at TechEd 2005. Keep in mind that the BAM Portal may (and probably will) change before its final version is released.



There are three main zones:




  1. the header. This is the location users can customize for branding purposes,


  2. the navigation bar (on the left on a light blue background) which displays all views and activities. This is the entry point to most features of the portal,


  3. the content where users will interact with data. The main page displays a quick summary of importan BAM concepts.

The header:


The header displays branding information (which can be customized for your company),  the contextual help link and the current location. On the screenshot below, I am on the Home page. You can always come back to the home page by clicking on the “Home” icon at the left of the header.



The navigation bar:


The navigation bar displays all views / activities which can be accessed by the current user. On the picture below, I have access to one view (SalesManagerView) under which there is currently one activity (“PurchaseOrder”).


 


I can search for instances of activity “PurchaseOrder” by clicking on “PurchaseOrder” under “Activity Search”. I can view aggregated data by clicking on one of the entries under “Aggregations”. Finally, I can manage alerts by clicking on “PurchaseOrder” under the “Alert Manager” node. The navigation bar is the main entry point to most BAM Portal features. It will always be displayed on the left of the window.


Join me tomorow as I explore the Activity Search, Aggregations and the Alert Manager.

BizTalk Integration with Sharepoint and InfoPath Lab

Curious on how you can use Sharepoint, InfoPath, and BizTalk 2004 together?  This hands on lab will take you through a simple integration scenario step-by-step using Sharepoint and InfoPath to display delivery exceptions using Delivery Notification inside an Orchestration using BizTalk 2004. 



This lab will take around 60 minutes to complete and is based on Microsoft’s hands-on-labs.  Sharepoint (or Windows Sharepoint Services) and the Sharepoint Adapter for BizTalk 2004 (available on GotDotNet) are required.



Download: Sharepoint-InfoPath Hands On Lab



Setup is simple.  Unzip the download to your c:\ drive.  Make sure the root folder named “Microsoft Hands-On-Labs” is located at c:\.  The lab manual is located under \ILL019_InfoPath.  The exercises are located in the \Source\Exercises folder.  The full solution is located in the \Source\Solution folder.



Although newbie’s to BizTalk can complete this lab, it covers advanced topics.  If you are new to BizTalk, do not get discouraged if you find this lab difficult. 


Sequential Flat File Message Processing Lab

Here is a 45 minute, step-by-step lab showing how to use the Flat File Disassembler, Delivery Notification, and a Sequential Convoy to map a large flat file document in BizTalk 2004.  This lab will break up a large flat file into single messages, map each message, and write the ordered output to an output file.



This lab takes you through it in three Exercises.  It is based on Microsoft’s hands-on-labs.



Download: Sequential Message Processing Hands On Lab



Setup is simple.  Unzip the download to your c:\ drive and run the included binding file to create the send and receive ports used in the lab.  Make sure the root folder named “Microsoft Hands-On-Labs” is located at c:\.  The lab manual is located under \ILL010_Convoys.  The exercises are located in the \Source\Exercises folder.  The full solution is located in the \Source\Solution folder.



Although newbie’s to BizTalk can complete this lab, it covers advanced topics.  If you are new to BizTalk, do not get discouraged if you find this lab difficult. 


Bloggers Guide to BizTalk 2006*

There’s a new edition out now, get it here. I’ve added a “BizTalk Server 2006” section, there’s only one post there, but this should change in the next edition as you guys get your hands on the TechEd builds, and the beta becomes available.

I’m thinking of keeping the 06 stuff in the same guide rather than creating a new guide. As the orchestration and messaging engine are the same, a lot of the stuff is relevant to both products. I’m thinking of adding a header to the articles depending on which version they are relevant to, and keeping the structure the same, rather than creating a separate 06 structure (the 06 folder I added is just for the “What’s New” stuff etc).

I also need to streamline the process so I’ll switch to Visual Studio 2005, and some automated process to compile the CHM (the Help Workshop is no fun with over 300 articles), this should allow me to restructure the guide as well, and produce more frequent updates.

* Not quite, but heading that way 😉

Integration with Sharepoint 2003 and InfoPath SP1 Lab

This lab will take you through a simple integration scenario step-by-step using Sharepoint and InfoPath to display delivery exceptions using Delivery Notification inside an Orchestration. Windows Sharepoint Services, the Sharepoint Adapter for BizTalk 2004, and InfoPath SP1 are required.

Get more information from the original blog post on this topic: https://www.biztalkgurus.com/biztalk_server/biztalk_blogs/b/biztalk/archive/2005/06/12/biztalk-integration-with-sharepoint-and-infopath-lab.aspx