SOA and BP Conference in Redmond

I’m sitting here listening to all of the dialog around BizTalk 2006 R2 and RFID is already kicking butt over here. I want to hear from partners in Australia who feel they are prepared to take this on board. I can;t get across to all of you personally, so please let me know if you think this is a domain that you can excel in.

Technorati Profile

BPI&SOA conference: Day 1

Yesterday was the first day of the BPI&SOA conference. John Evdemon from the Architecture & Strategy team delivered a great session about the principles of Service Orientation, workflow and Business Process Management. The Architecture & Strategy team is always working in a lot of emerging architecture solutions challenges. Yesterday I spent a good part of my day chatting with day about the new areas that they are focusing on. It’s good to see some of those experiences already exposed in a session.

Share this post: Email it! | bookmark it! | digg it! | reddit!

Forcing BizTalk 2004 to use .NET V1.1 Framework

More and more often your beloved
BizTalk 2004 box gets more and more ‘things’ (in Vista they call them ‘gadgets’) to
run apart from the Biztalk Service.

Generally you’ll find before long that these things will require V2.0 NET Framework
(which is pretty cool)

You’ll then find BizTalk 2004 grumbling about all the new routines in the .NET Framework
V2.0 that it has no idea about (rightly so)….so………..the way I see it

(1) Upgrade to BTS 2006 – sensational! performance, .NET Framework 2.0, Adapter City……but
this isnt always possible……..

or

(2) Add the following to your BTSNTSvc.exe.config file inbetween the <Configuration>…
tags

<!– To ensure .NET Framework 2.0 isn’t used on machines where it exists. –>
 <startup>
  <supportedRuntime version=”v1.1.4322″/>
 </startup>

 

Sorts all your Framework mismatch errors…..
I’d even add it now as a precaution

Enjoy!

Simple Script to Restart all BizTalk Services

If you’re like me – working away…you’ll soon want to split up your solution into
multiple hosts.

Whether it be BTS2004 or 2006, there’s still a bit of ‘click, start/stop (or restart)’
for each host instance.

I’m on a project where we are looking to use 9 or so host instances….I decided to
write a script to do it. More like a batch file.

(go easy on my batch file skills….it’s been a LONG while since I’ve had to cut some
serious batch stuff)

Enjoy – saves heaps of time.


(copy and paste the following code into a file called ‘Restart_BTSHosts.bat’ for eg.)

@ECHO OFF
@REM =======================
@REM Mick Badran 2006
@REM

@REM Checks the BizTalk Hosts and restarts them
@REM
@REM possible improvements – to be able to select
@REM BTS Hosts with wildcards.
@REM =======================
@ECHO Restarting ALL BizTalk Hosts 2004/2006 from the command line.
@ECHO.
@ECHO.

@SET TEMPFILE1=”%TEMP%\bts1.txt”

@REM this line looks through the installed services and pulls out matching ones to
BTSSvc (could be any though)
@SC QUERY | FindSTR “BTSSvc” > %TEMPFILE1%

@ECHO. Stopping BizTalk Host Instances…
@FOR /F “tokens=2” %%s in (‘TYPE %TEMPFILE1%’) DO SC STOP %%s
@ECHO.
@ECHO. Starting BizTalk Host Instances…
@FOR /F “tokens=2” %%s in (‘TYPE %TEMPFILE1%’) DO SC START %%s
@ECHO.
@DEL %TEMPFILE1%
@ECHO Done….. 🙂

TimRayburn.CustomFunctoids – Logical XOR

This functoid does not take a lot of explanation, it simply fills another gap in the
functoid library.  For those who may not be familiar with the glories of XOR,
allow me to present the truth table for it.

As you can see, the difference between this operator and “Or” is that when both inputs
are true, it returns false.  This is very nice when you need to handle edge cases
where you could use either x or y but want to do something different
when both are present.

The code, as always, is included below.  I’m trying Scott Dunn’s Windows
Live Writer Code Formatter on this post for the first time.  If there are problems,
let me know and I’ll go back to CopySourceAsHtml which I have been using.
 
Scratch that, it just blew up as I tried to publish this post, so we’re back to using
CopySourceAsHtml.

Download
TimRayburn.CustomFunctoids v1.0

 

   13     
   public LogicalXorFunctoid()
   14     
       : base()
   15     
   {
   16     
       // Assign a "unique" id
to this functiod.
   17     
       this.ID = 24605;
   18 
   19     
       // Setup the resource assembly
to use.
   20     
       SetupResourceAssembly(
   21     
          "TimRayburn.CustomFunctoids.CustomFunctoidsResources",
   22     
          Assembly.GetExecutingAssembly());
   23 
   24     
       SetName("IDS_LOGICALXORFUNCTOID_NAME");
   25     
       SetTooltip("IDS_LOGICALXORFUNCTOID_TOOLTIP");
   26     
       SetDescription("IDS_LOGICALXORFUNCTOID_DESCRIPTION");
   27     
       SetBitmap("IDS_LOGICALXORFUNCTOID_BITMAP");
   28 
   29     
       this.SetMinParams(2);
   30     
       this.SetMaxParams(2);
   31 
   32     
       //set the function name
that needs to be 
   33     
       //called when this Functoid
is invoked. This means that
   34     
       //this Functoid assembly
need to be present in GAC 
   35     
       //for its availability
during Test..Map and Runtime.
   36     
       SetExternalFunctionName(this.GetType().Assembly.FullName,
   37     
          "TimRayburn.CustomFunctoids.LogicalXorFunctoid",
   38     
          "LogicalXor");
   39 
   40     
       this.Category = FunctoidCategory.Logical;
   41     
       this.OutputConnectionType
= ConnectionType.AllExceptRecord;
   42 
   43     
       AddInputConnectionType(ConnectionType.AllExceptRecord);
   44     
   }
   45 
   46     
   public string LogicalXor(string firstVal, string secondVal)
   47     
   {
   48     
       bool bFirst = System.Convert.ToBoolean(firstVal);
   49     
       bool bSecond = System.Convert.ToBoolean(secondVal);
   50     
       bool result = bFirst
^ bSecond;
   51 
   52     
       if (result)
   53     
          return "true";
   54     
       else
   55     
          return "false";
   56     
   }
   57    
}

BTS2006 inplace upgrade – rerun it with this….

The good old infamous registry key will save those grey hairs.
Basically if BTS runs into any grief during an upgrade process and bombs out…this
key tells BTS setup to ‘feel free and rerun the upgrade again’

In the case of pre or post upgrade configuration failures, add a DWORD registry entry
RerunUpgrade=1 under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BizTalk Server\3.0_Migrated.

The setup can be executed multiple times even after the BizTalk 2006 installation.
This enables us to complete the upgrade successfully in case it fails because of some
unprecedented scenario.

More info: http://blogs.msdn.com/biztalk_upgrade/archive/2006/02/22/537344.aspx

BizTalk 2006 Documentation updated…..

Grab it while it’s hot folks!…….check out the goodies
below

 Connected Systems Division | User Assistance 

>

Hi,

This mail lists the documentation updates the BizTalk Server UA team has published
in the past three months. The updates are based on customer input that is gathered
through our documentation feedback mechanism, blogs, newsgroups, site visits, and
TAP participants. 

Thanks to everyone who is providing feedback and improving the customer experience!

Core Documentation | Download

The BizTalk Server 2006 Help is updated every two weeks and posted in downloadable
chm. format
. Since RTM, we’ve addressed more than 350 documentation
bugs, the majority of which were requests for new content. Check out the following
new and updated topics!

%u00b7 Improvements to the Orchestrations help, including the following new topics:

  • How to Use MessageBox Direct Bound Ports

  • How to Use Partner Orchestration Direct Bound Ports

  • How to Use Self-Correlating Direct Bound Ports

  • Working with Direct Bound Ports in Orchestrations

  • How to Debug Design Time Errors and Build Errors

  • Writing Information to the Event Log

  • Interactive Debugging of an Orchestration in HAT

  • Tracking Orchestrations with HAT

  • Working with the Orchestration Debugger

  • How to Use Expressions to Transform Messages

  • How to Create Role Links in Orchestrations

%u00b7 Improvements to the Business Rule Engine help, including the following new or
updated topics:

  • Invoking Static Members of a Class

  • Support for Generic Types and Generic Methods

  • Accessing Nested Members of a Class

  • Support for Type Casting

  • Support for Class Inheritance in the Business Rule Engine

  • Support for Nullable Types

  • How to deploy policies (programmatically)

  • Performance Considerations When Using the Rule Engine

%u00b7 Improvements to the SAP adapter help, which was integrated into the BTS06 collection:

  • Added the “Architecture and Planning” section.

  • Reinforced .NET Connector version requirements in the installation topic.

  • Added “Enabling and Disabling SAP RFC and CPIC Trace” with additional details about
    CPIC trace (CPIC trace supports 4 different trace levels including none). Includes
    script per doc.

  • Added ” How the Adapter Communicates Using RFCs and IDoc: SAP Connector for Microsoft
    .NET” section.

  • In the “How to Troubleshoot the Adapter” topic, added section for transaction lock
    error.

  • Modified the troubleshooting topic to mention SAP Monitoring area and SAP RFC testing.

  • Added troubleshooting information for “BizTalk service is not receiving IDOC’s from
    the SAP system.”

%u00b7 More troubleshooting information!

  • How to troubleshoot BTS administration, permissions, performance, adapters, dependencies,
    and configuration.

  • How to capture a memory dump of a BTS processes.

  • Which tools and utilities you should use for troubleshooting.

Updated Installation, Configuration, and Upgrade Guides |  Download

The installation instructions explain how to install BizTalk Server 2006 on Windows
XP, Windows 2000 Server, or Windows Server 2003 in a single server or multiserver
environment.

Whitepapers

The following is a list of whitepapers that have been published since RTM.

  • Developer’s
    Troubleshooting Guide

  • Managing
    a Successful Performance Lab

  • BizTalk
    Server 2006 Comparative Adapter Study

  • SAP
    Adapter Labs

  • Understanding
    the BizTalk Server WS-Addressing Helper

  • Business
    Activity Monitoring (BAM) FAQ

  • Getting
    Started Developing with BAM: EventStreams

  • Improving
    Fault Tolerance in BizTalk Server 2006 by Using a Windows Server Cluster

  • Sequential
    FIFO Message Processing and Delivery in BizTalk Server 2004

  • Using
    the BizTalk Server WS-Addressing Helper

  • Understanding
    Application Deployment and Upgrade using BizTalk Server 2006

  • BizTalk
    Server Orchestrations FAQ

  • Learn
    More about the BizTalk Message Queuing Adapter (MSMQT)

  • Developing
    a Transactional BizTalk Adapter Using the Microsoft Base Adapter Classes

  • Using
    Microsoft BizTalk Adapter v2.0 for mySAP Business Suite to Integrate BizTalk Server
    2006 with SAP ERP

Upcoming Themes for the Developer Center and TechCenter

Month

Dev Center

Tech Center

Nov

Troubleshooting

Troubleshooting

Dec

Workflow Foundation

Business Activity Monitoring

Jan

Security

Security

Feb

Pipelines

Operations

March

Application Dev

Install/Config/Upgrade

Other Content

In addition to the fixes introduced, we have also been busy over the past few months
producing, updating, and publishing other valuable content. This includes:

%u00b7 BizTalk
Server 2006 Tutorials

%u00b7 BizTalk
Server 2006 PDF Help Files

%u00b7 Documentation
for the rules and messages of the BizTalk Server 2006 Best Practices Analyzer