Export (0) Print
Expand All

BizTalk RFID: Clustering BizTalk RFID for High Availability

This white paper provides step-by-step instructions for creating and configuring a highly available BizTalk RFID setup using Microsoft® Windows Server® 2003.

Microsoft Corporation

Published: September 2007

Applies to: Microsoft BizTalk RFID v1.0

The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.

This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.

Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.

Unless otherwise noted, the companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted in examples herein are fictitious. No association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred.

© 2007 Microsoft Corporation. All rights reserved.

Microsoft, BizTalk, and Windows Server are trademarks of the Microsoft group of companies.

All other trademarks are property of their respective owners.

Microsoft BizTalk RFID is an innovative device management and event processing platform at the edge of the enterprise. It is designed to provide a scalable, extensible platform for development, deployment, and management of rich RFID (radio frequency identification) and sensor solutions. Typical scenarios for the implementation of RFID technologies can vary from a few RFID readers to a few thousand RFID devices in geographically diverse locations.

A server cluster is a group of several individual servers that work together to provide a high degree of availability, scalability, and manageability and to assist in reducing single points of failure. Windows Clustering, a component of Windows Server 2003 Enterprise Edition, enables you to create, monitor, and manage server clusters and applications or services deployed on clusters. If the normal operations of a server in a cluster are disrupted, Windows Clustering automatically moves all mission-critical services and resources to the next available server in the cluster.

In mission-critical scenarios, any infrastructure must provide a high degree of availability for RFID systems to minimize loss of data (loss of tag reads). To ensure high availability of your RFID infrastructure, and to preserve the integrity of your RFID applications, you can deploy BizTalk RFID on a cluster. This ensures that automatic failover takes place, and no data loss occurs, when a server does not respond or function normally due to critical errors (for example, hardware or software errors).

When BizTalk RFID is deployed on a cluster, only one server runs the BizTalk RFID service. The server on which the service is running is considered to be the active server. When the active server fails, Windows Clustering automatically starts the service on the next available server in the cluster group. This ensures that loss of tag reads is minimized and the BizTalk RFID system is always running.

Windows Clustering continuously monitors the status of the hardware and software on the active server. In addition to this, BizTalk RFID implements a generic script resource to continuously monitor the BizTalk RFID service on the active server. Failover occurs automatically when the service on the active server becomes unavailable. You can use the Microsoft Cluster Administrator to set the frequency at which the health of the BizTalk RFID service is checked.

The essential components of a basic cluster, with BizTalk RFID as the clustered application, are:

  • A multi-node server cluster using Windows Clustering set up as follows:
    • All servers in the cluster running the BizTalk RFID service.
    • The domain controller outside the cluster.
    • A computer with Microsoft SQL Server™ outside the cluster (SQL Server may also be clustered).
      Bb870304.note(en-US,BTS.10).gifImportant
      Setting up BizTalk RFID on a cluster with SQL Server as a dependent resource in the cluster group is not supported.

  • A client computer available in the network, with access to the cluster.
  • An administrator who is familiar with clustering concepts and the use of Cluster services, specifically the concepts of resource types such as Generic Service, Application resource, and Script resource.
  • For a live, production-ready implementation, Microsoft BizTalk® Server 2006 R2 Enterprise Edition is required.
    Bb870304.note(en-US,BTS.10).gifNote
    BizTalk Server 2006 R2 Developer Edition or Evaluation Edition can be used to test or evaluate BizTalk RFID in a clustered environment.

To deploy BizTalk RFID on a cluster, you must set up a cluster and assign the required resources to the group, install BizTalk RFID on individual servers of the cluster, and then configure the cluster to provide high availability for BizTalk RFID.

Step 1: Create a Cluster Group and Assign Resources

A new cluster must be created by using Microsoft Cluster Administrator. Resources like physical disks and network must be assigned to the cluster group.

To create a cluster group and assign specific resources
  1. Using the Cluster Administrator tool, create a new cluster group for BizTalk RFID (say, BizTalk RFID Cluster) in the cluster.

  2. Add IP Address, Network Name, and Physical Disk resources to the group (or make sure that the group contains these resources).

    Bb870304.note(en-US,BTS.10).gifImportant
    While adding and configuring resources, select the Enable Kerberos Authentication check box.

  3. Enable clustering of Microsoft Distributed Transaction Coordinator (MSDTC) and Message Queuing (also known as MSMQ) within this cluster group.

    For more information about clustering MSMQ and MSDTC, refer to the following documents:

You have created a cluster group named BizTalk RFID Cluster.

Step 2: Install and Configure BizTalk RFID on Each Server in the Cluster

BizTalk RFID must be installed on each server in the cluster group. The following procedure must be repeated on each server in the cluster group.

To install BizTalk RFID on each server in the cluster
  1. Use the Microsoft Cluster Administrator tool to bring a server online.

  2. Insert the Microsoft BizTalk Server 2006 R2 installation disk into the CD-ROM drive. If the BizTalk Server Setup page does not appear, double-click setup.exe located in the root of the installation CD.

  3. On the BizTalk Server 2006 R2 Installation Wizard page, click Install Microsoft BizTalk RFID on this computer.

  4. On the Choose Setup Type page:

    1. Select the Complete option for installing BizTalk RFID.
    2. Specify a Data path for a directory that will contain process, provider, log, and configuration-related folders and files, on the Physical Disk resource. Note the directory name. This directory will be used for the other servers.
  5. On the Database System and RFID Store Information page:

    1. Enter the name of the SQL Server computer that this cluster will use. Because the SQL server will be a remote SQL server, you need to perform specific steps after BizTalk RFID installation is complete. These steps are described in the Installation Guide in the section “Preparing to Set Up a Remote RFIDSINK Database.”
    2. To start with a fresh installation of BizTalk RFID, select Overwrite contents of Rfid Configuration Database. If you want to preserve the process and device configuration from a previous installation of BizTalk RFID, clear Overwrite contents of Rfid Configuration Database. (By default, the Overwrite contents of Rfid Configuration Database check box is cleared.)
    3. For the SQL Server authentication type, select Windows authentication.
  6. On the Set up the RFID Service and RFID Process Accounts page:

    1. Select the Specify user name and password option for the RFID service account
    2. For User name, you must enter a domain account. For more information about configuring roaming profiles, see How to configure a user account to use a roaming user profile in Windows Server 2003, Windows 2000 Server, or Windows NT 4.0.
      Bb870304.note(en-US,BTS.10).gifNote
      The domain account specified must:

      1) Be an administrator on each server of the cluster.

      2) Have a roaming profile. This is required for the encrypted secrets to work after a failover.

      Bb870304.note(en-US,BTS.10).gifNote
      The Worker Process account specified must:

      1) Be an administrator on the server. The account is not required to be a domain account, or have a roaming profile.

      2) The Worker Process runs under the administrative account. Hence, we recommend that you use only trusted event handlers and providers with BizTalk RFID in a clustered environment.

  7. Register Web service proxies on each server.

    On all servers:

    • Stop the World Wide Web Publishing service.
    • Stop the BizTalk RFID service.
    • Register the Microsoft.Rfid.ManagementWebServiceProxies.dll for COM interop. (This is required for the clusrfid.vbs script to communicate with the service.) To register the DLL, open a command prompt, and execute the command:
      regasm /tlb:rfid.tlb Microsoft.Rfid.ManagementWebServiceProxies.dll
  8. Repeat Steps 1 through 7 for each server in the cluster group.

You have installed BizTalk RFID on all servers in your cluster.

Step 3: Configure the Cluster Group Through Cluster Administrator

After creating a cluster and installing BizTalk RFID on each server in the cluster, you must configure the cluster to provide high availability for BizTalk RFID.

To configure the cluster
  1. Using Cluster Administrator, add the WWW Publishing service (w3svc) as a generic service to the BizTalk RFID Cluster group. Make the w3svc service depend on the network name resource. Select the Use the cluster name as the network name check box. This enables the WWW Publishing Service to run using a network name.

  2. In Cluster Administrator, add the MSBizTalkRFID service (display name: Microsoft BizTalk RFID) as a generic service to the BizTalk RFID Cluster group. Make this service dependent on all other resources in the group. Select the Use the cluster name as the network name check box.

  3. In Cluster Administrator, add a generic script resource to the BizTalk RFID cluster. The file to be used for the script resource is:

    %RFIDINSTALLDIR%\bin\clusrfid.vbs

  4. On any server, open a command window, browse to the directory %RFIDINSTALLDIR%\Samples\Device Service Provider\Contoso\ContosoEndtoEnd, and then run Contososetup.cmd. This installs a test provider and a test process used in the verification procedure described below.

You have deployed and configured BizTalk RFID on a cluster.

The following procedure assumes that BizTalk RFID has already been set up in a cluster configuration by following the steps in the previous section, Installing BizTalk RFID on a Cluster. To complete the verification process, you must connect to the cluster using a client computer.

Considerations for the client computer:

  • The client computer must have network access to the cluster.
  • The client computer must be able to address physical servers (servers) in the cluster by using the IP address of the cluster.
To verify BizTalk RFID deployed on a cluster
  1. Insert the Microsoft BizTalk Server 2006 R2 installation disk into the CD-ROM drive. If the BizTalk Server Setup page does not appear, double-click setup.exe located in the root of the installation CD.

  2. On the BizTalk Server 2006 R2 Installation Wizard page, click Install Microsoft BizTalk RFID on this computer (for example, client01).

  3. On the Choose Setup Type page, select the Custom install option, and then click Next.

  4. On the Custom Setup page, choose to install only the RFID Tools and Client Connector and the RFID SDK.

  5. Using the Cluster Administrator tool, make the first server in the BizTalk RFID cluster group the active server.

  6. On the computer client01, open a command prompt and browse to the directory:

    %RFIDINSTALLDIR%\Samples\Device Service Provider\Contoso\ContosoEndtoEnd\ContosoDeviceSimulator.

    1. Use Notepad to edit the notification configuration XML file (ContosoSimulatorconfig.xml). Change the IPAddress value to the IP address of the cluster as shown:
      <section name="DeviceInformation_1">
      <entry name="DeviceName">ContosoTestDevice</entry>
      <entry name="ConnectionType">TCPIP</entry>
      <entry name="IpAddress">0.0.0.0</entry> <!-- CHANGE IpAddress VALUE TO CLUSTER IP ADDRESS -->
      
    2. At the command prompt, type runContososimulator.cmd, and then press ENTER.
  7. Start RFID Manager on the client computer, right-click the RFID Services Administration server, and then click Connect. In RFID Manager, provide the name or the IP address of the cluster to connect to. When connected to the cluster, select the ContosoTestProcess process, and check if the process is receiving tags.

  8. In the Cluster Administrator, note the owner of the cluster group named BizTalk RFID Cluster.

    The owner of the cluster group should be Server1, and all the resources associated with the group must be online.

  9. Using RFID Manager, stop the BizTalk RFID service on the active server. This will cause BizTalk RFID to fail over to the next available server in the cluster group. Wait for a few minutes for the BizTalk RFID service to fail over to the next available server.

  10. Using RFID Manager, disconnect from the cluster, and then reconnect to the cluster using the IP address or name of the cluster.

  11. When connected to the cluster, select the ContosoTestProcess process, and check if the process is receiving tags.

    If the process is receiving tags, this verifies that BizTalk RFID failed over to the next available server in the cluster. You should now be connected to Server2.

This section provides information about some errors you may encounter while configuring BizTalk RFID to work in a clustered setup.

For general BizTalk clustering-related troubleshooting information, review the information available at http://go.microsoft.com/fwlink/?LinkId=98713.

Cluster service fails to start

For troubleshooting information when the Cluster service fails to start, see the following links:

MSMQ service resource fails to come online on a server

Check if Kerberos Authentication has been enabled in the properties for Network Name.

BizTalk RFID failover does not occur

In addition to failover not occurring, the following message is obtained from the event log:

Service cannot be started. Microsoft.SensorServices.Rfid.StartupFailedException: The Microsoft BizTalk RFID service failed to start because of exception Key not valid for use in specified state. Resolve the issue that is causing the exception, and then try restarting the service. ---> System.Security.Cryptography.CryptographicException: Key not valid for use in specified state.

This error occurs when BizTalk RFID accounts have been incorrectly configured. To troubleshoot the issue:

  • Check if the domain account used as the BizTalk RFID Service Account has a roaming profile.
  • Modify the profile, and then check the profile type again. If the type persists to be local, then use the account credentials to log on, and then log off on the computer.
  • If the issue still persists, clear the locally cached profiles (browse to the %appdata% folder for that particular profile, and then delete all the files in the folder).
  • Run BizTalk RFID setup, choose to repair the current installation, click Next to go to the Database System and RFID Store Information page, select the Overwrite contents of Rfid Configuration Database check box, and then complete the installation process.

While uninstalling BizTalk RFID, the error message is displayed, “Providers is not a valid short file name”

While uninstalling BizTalk RFID, this error occurs if the server computer does not have access to the shared disk (resource that hosts the data directory). Before uninstalling BizTalk RFID, ensure that the computer is the active server.

Show:
© 2014 Microsoft