BizTalk Services: An overview

Earlier this year, Microsoft released a CTP version of a new technology stack called ‘BizTalk Services’. In July, they updated this with a new release. It is only now, at long last, that I’ve got around to playing with BizTalk Services, thanks to the gentle pursuasion of my colleague, Andy James (CTO at SolidSoft). I must say that I am very pleased that Andy applied some pressure. This is a really interesting development in the BizTalk world, and having now had a chance to stub my toe against the tyres (I’ll leave the full-blown kicking until a future date), I feel rather excited about the possibilities this technology opens.

I have provided an overview of BizTalk Services at http://geekswithblogs.net/cyoung/archive/2007/10/09/115944.aspx. I have also written an article on the Identity Service that is part of the stack. This is at http://geekswithblogs.net/cyoung/archive/2007/10/09/115943.aspx. I have published some notes on solving problems when installing the SDK. These are at http://geekswithblogs.net/cyoung/archive/2007/10/09/115942.aspx.

BTS 2006 R2 available on MSDN Finally!

Hi All,
BizTalk Server 2006 R2 (RTM) is finally available on MSDN. Download this trial version from here
You can also download the latest version of BTS 2006 R2 Help Documentation from the following link:
http://msdn2.microsoft.com/en-us/library/aa548004.aspx
Need more? Well, you can also get all the latest press events and material on BTS 2006 R2 from hereand code samples from […]

Dynamics AX 4.0 Adapter for BizTalk Server 2006 – Developer Experience Series: Failure to Connect to an IPC Port

This is the second in a series of articles on the developer experience with the Dynamics AX 4.0 adapter for BizTalk Server 2006.  This article focuses on a show stopper issue that showed up as my team started testing our integration solution.


The early webcast showing how to use the Dynamics AX 4.0 adapter for BizTalk Server 2006 was a very trivial example full of assumptions about the development environment.  Most notable of the assumptions was that BizTalk Server and Dynamics AX reside on the same server.  With everything on the same server, everything worked just fine.


At my client, things worked well during development until we deployed our solution to a working test environment where BizTalk Server and Dynamics AX were deployed on different machines.  Upon sending a messages to AX via the adapter, an exception was immediately reported in the application event log.  The reported exception is listed below:




“Microsoft Dynamics AX” on send port “SomeAXPort” with URI “ax://<ip>:<port>” is suspended.


 Error details: An unexpected failure occurred while processing a message. The following error has occured: Failed to connect to an IPC Port: The system cannot find the file specified.


The team executed the same test in another multi-server environment and encountered the same problem.


After scratching our heads for a while, we decided to the get the Dynamics AX development team involved.  The lead developer sent a debug version of the RTM’ed code base for the Dynamics AX 4.0 adapter in order to execute some tracing logic.  Of course, that version ran without any issues.  The developer assure me that the only difference was that the code base was compiled in debug mode on his workstation.  No one could explain why the debug and release version behaved differently.


At this time, my understanding is that the updated binaries would be available as a hotfix on a case by case basis.  I also heard, but have not been able to confirm, that this issue is resolved in the Dynamics AX 4.0 SP2 release.

Home Network Troubleshooter — Windows Home Server Toolkit V1

One of the problematic spots for Windows Home Server are the networks, where it is supposed to work. During Beta-testing we found that home networks are often not up to the task. It’s either the name resolution, or UPnP does not go through, or some other problem. Well, usually it works, but problems are a bit too often to be comfortable. A few last months me and a few more members of the team were working on a troubleshooter to help detect and fix those problems.


Here it is: Windows Home Server Toolkit V1: http://www.microsoft.com/downloads/details.aspx?FamilyID=de10c0e9-2d46-4770-91fe-6b84ae06f960&DisplayLang=en


Beside troubleshooting home networks, it also can report the problems to Microsoft and do some fancy things on the server like cleaning up backup database. 


 

Home Network Troubleshooter — Windows Home Server Toolkit V1

One of the problematic spots for Windows Home Server are the networks, where it is supposed to work. During Beta-testing we found that home networks are often not up to the task. It’s either the name resolution, or UPnP does not go through, or some other problem. Well, usually it works, but problems are a bit too often to be comfortable. A few last months me and a few more members of the team were working on a troubleshooter to help detect and fix those problems.


Here it is: Windows Home Server Toolkit V1: http://www.microsoft.com/downloads/details.aspx?FamilyID=de10c0e9-2d46-4770-91fe-6b84ae06f960&DisplayLang=en


Beside troubleshooting home networks, it also can report the problems to Microsoft and do some fancy things on the server like cleaning up backup database. 


 

BizTalk 2006 R2 Who’s your ‘MOM-y’ Management Pack

Monitoring tends to be one of those areas that’s overlooked until you hit Defcon 5
in production, servers are melting all over the floor, people are suddenly disappearing
and cashing in on their time owing, and there’s not one business process in site……
sound familiar?

I’ve always been fascinated at given the price of MOM (mega cheap) why people don’t
have effective monitoring solutions in place – it’s not rocket science to setup…..or
you could have the work experience kid watching the lights on the front of the servers
to make sure they’re on! 🙂

Here’s some details from the R2 Management pack….check them out.

http://msdn2.microsoft.com/en-us/library/aa561939.aspx 

snippet of the msdn page – BTW at the bottom it mentions MOM2005, this will also work
in Operation Manager 2007

——————————————

Contents of the BizTalk Server 2006 R2 Management Pack

The Microsoft BizTalk Server 2006 R2 Management Pack enables you to:

  • Monitor BizTalk Server events.

  • Collect BizTalk Server-specific performance counters in one central location.

  • Raise alerts that require operator intervention.

The BizTalk Server 2006 R2 Management Pack contains rules that cover the following
categories:

  • Availability Monitoring

    Availability monitoring rules monitor the availability of service from computers running
    BizTalk Server. Unavailability of the BizTalk Server service, receive locations, and
    databases are issues that cause the BizTalk Server service to become unavailable to
    a client or a user. Availability monitoring rules have names prefixed with “Service
    Unavailable.”

  • Health Monitoring

    Health monitoring rules monitor for different types of errors in BizTalk Server that
    require operator intervention. There are four types of health monitoring rules, which
    have names prefixed with “Error,” “Critical Error,” “Warning,” and “Information:”

    • Error: Errors are events that usually represent processing problems with individual
      messages. In isolation they represent problems that can be rectified either at the
      sender end or the receiver end of a message transmission.

    • Critical Error: Critical errors represent events that indicate a significant
      problem has occurred. This can affect a large degree of functionality of BizTalk Server.

    • Warning: Warnings are typically problems that are intermittent in nature. They
      do not represent major problems in operation and may be considered lower priority
      compared to other alerts.

    • Information: Information alerts include information about BizTalk Server. These
      messages are neither errors nor warnings.
  • Utilization/Performance Tracking

    Utilization/performance tracking rules enable you to monitor the operationally relevant
    performance counters for BizTalk Server. These are divided into measurement rules
    and comparison rules.

var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + “ctl00_LibFrame_ctl04582ad82,”;
var ExpCollImgStr = ExpCollImgStr;
ExpCollImgStr = ExpCollImgStr + “ctl00_LibFrame_ctl04img,”;

Availability
Monitoring

The BizTalk Server 2006 R2 Core rule group contains the following rules to address
availability monitoring, that is, monitoring related to whether BizTalk Server is
currently operable, and able to process work. All of the rules are configured to suppress
duplicate alerts for identical event content. This means that a repeat count will
be incremented for a single alert rather than seeing multiple alert instances in the
Microsoft Operations Manager 2005 Operator Console. This helps to avoid a flood of
alerts that an administrator must deal with; too much information can be as problematic
as too little. None of the rules contain automated responses, such as e-mail/pager
notifications, though you can easily add these as needed.

Rule Name Enabled

Service Unavailable: A receive location is shutting down.

Yes

Service Unavailable: All receive locations are being temporarily disabled because
either the MessageBox or Configuration database is not available.

Yes

Service Unavailable: BAM Portal cannot connect to Primary Import Database – Login
failed.

Yes

Service Unavailable: BizTalk HTTP receive adapter failed to initialize itself.

Yes

Service Unavailable: Error connecting to the BAM Primary Import Database – Db not
found.

Yes

Service Unavailable: Failed to connect to BizTalk Management database.

Yes

Service Unavailable: Failed to initialize UPM profile context.

Yes

Service Unavailable: The Messaging Engine could not contact the SSO server.

Yes

Service Unavailable: The Messaging Engine encountered an error initializing a receive
adapter.

Yes

Service Unavailable: The Messaging Engine failed to initialize a transport adapter.

Yes

var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + “ctl00_LibFrame_ctl058449c81,”;
var ExpCollImgStr = ExpCollImgStr;
ExpCollImgStr = ExpCollImgStr + “ctl00_LibFrame_ctl05img,”;

Health
Monitoring

The BizTalk Server 2006 R2 Core rule group contains the following rules to address
health monitoring, that is, monitoring related to various non-fatal failure modes.
Typically, the situation may be isolated to individual interchanges or may possibly
resolve itself. The BizTalk Server service is still, in some capacity, able to process
work. The primary intent of these rules is to provide operations staff with information
relating to messages that are stuck in the system and that require manual intervention
of some sort, and to give them the information required to rectify the root problem.

All of these rules are configured to suppress duplicate alerts for identical event
content. This means that a repeat count will be incremented for a single alert rather
than seeing multiple alert instances in the Microsoft Operations Manager 2005 Operator
Console. None of the rules contain automated responses, but you can easily add such
responses if necessary.

Rule Name Enabled

Consolidate Inbound Message Rejected on Authentication Failure

Yes

Critical Error: A BizTalk host instance has stopped and is not processing information.

Yes

Critical Error: A BizTalk subservice has failed while executing a service request

Yes

Critical Error: A stored procedure call failed.

Yes

Critical Error: Monitor BizTalk NT Service Availability

Yes

Critical Error: The Messaging Engine failed to register an adapter.

Yes

Critical Error: The Messaging Engine failed to retrieve the configuration from the
database.

Yes

Critical Error: The MSMQT subservice failed to start because Windows MSMQ service
is running on the computer.

Yes

Error connecting to the BAM Primary Import Database – DB server not found

Yes

Error: A message going to a one-way send port is being suspended. The send port configuration
corresponding to the message was not found.

Yes

Error: A receive location is invalid or incorrectly configured.

Yes

Error: A response message is suspended.

Yes

Error: An adapter raised an error during message processing.

Yes

Error: An attempt to connect to a BizTalk database failed.

Yes

Error: An outbound message is being suspended by the adapter.

Yes

Error: BAM Interceptor detected a SQL Exception

Yes

Error: BAM Portal Encountered Internal Server Error

Yes

Error: BAM Portal Encountered Internal Server Exception – Web Services may have received
badly-formatted requests

Yes

Error: BAM Technical Assistance Required

Yes

Error: Connection to a SMTP host failed

Yes

Error: Error connecting to the BAM Primary Import Database – Referenced DB not found

Yes

Error: Failed to archive the processed message.

Yes

Error: Failed to delete processed message

Yes

Error: Failed to un-mark the file

Yes

Error: FILE-Receive-Message Suspended

Yes

Error: FTP-Receive-Message Suspended

Yes

Error: HTTP-Receive-Message Suspended

Yes

Error: Invalid IC Schema Error

Yes

Error: Messaging Engine has suspended a message. Failed to correlate a response message
to an existing request message.

Yes

Error: MQSeries-Receive-Message Suspended

Yes

Error: MSMQ-Receive-Message Suspended

Yes

Error: Orchestration instance suspended due to errors, needs manual intervention

Yes

Error: POP3 adapter could not authenticate to the server using supplied credentials

Yes

Error: POP3 adapter could not establish connection with the POP3 server

Yes

Error: POP3-Receive-Message Suspended

Yes

Error: SMTP send adapter could not authenticate with the SMTP server

Yes

Error: SOAP-Receive-Message Suspended

Yes

Error: SQL-Receive-Message Suspended

Yes

Error: The FILE send adapter cannot open file for writing.

Yes

Error: The host instance failed to connect to the BizTalk Configuration database.

Yes

Error: The HTTP send adapter cannot connect to the remote server.

Yes

Error: The Messaging Engine is dropping the message due to an authentication failure.

Yes

Error: The processed file is either read-only or a system file.

Yes

Error: There was a failure executing a receive pipeline at an http receive location.

Yes

Error: There was a failure executing a receive pipeline.

No

Generic Error: All error events from BizTalk Server 2006

No

Generic Information: All information events from BizTalk Server 2006

No

Generic Warning: All warning events from BizTalk Server 2006

No

Information: A BizTalk Server Host Instance Windows Service Has Stopped

No

Information: Mismatched Interceptor Configuration

Yes

The Messaging Engine has suspended one or more inbound message(s).

No

The Messaging Engine has suspended one or more outbound message(s).

No

There was a failure executing a send pipeline.

No

There was an error executing a pipeline component.

No

Warning: Cube DTS has not been run

Yes

Warning: FILE receive adapter cannot reach a receive location due to network problems

Yes

Warning: TDDS failed to batch execution of streams

Yes

Warning: The Messaging Engine encountered an error publishing a batch of messages.

Yes

var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + “ctl00_LibFrame_ctl0628fc4ed,”;
var ExpCollImgStr = ExpCollImgStr;
ExpCollImgStr = ExpCollImgStr + “ctl00_LibFrame_ctl06img,”;

Utilization/Performance
Tracking

There are two types of performance rules within MOM: measurement rules and comparison
rules. Measurement rules gather data from Microsoft Windows performance counters,
or other data sources, with a specified sampling rate between 5 and 15 minutes and
store the data for historical analysis. Comparison rules allow actions to be taken
and alerts to be raised when a given performance value varies by a specified threshold
from expected values, which can include averages of past samples. Some of the comparison
rules require customization based on your particular environment. In addition, you
can change the default sampling rates as needed based on your environment.

The table below shows the performance rules for the BizTalk Server 2006 R2 Core rule
group.

Note
All of the counter values for the BizTalk Tracking Data Decode Service (TDDS), otherwise
known as the BAM Event Bus Service, performance object are stored with 15 minute samples.

Note
Within the XLANG/s Orchestrations performance object, all counters are stored with
15 minute samples, except the following: Megabytes Allocated Private Memory, Orchestrations
Created, Orchestrations Created/sec.

Measurement Rule Name Enabled

BizTalk Messaging Active Receive Locations

Yes

BizTalk Messaging Inbound Latency

Yes

BizTalk Messaging Outbound Latency

Yes

BizTalk Messaging Request-Response Latency

Yes

BizTalk Messaging Request-Response Timeouts

Yes

BizTalk: WSS Adapter % Web Service Call Failures

No

BizTalk: WSS Adapter Total Receive Commit Failures

Yes

BizTalk: WSS Adapter Total Receive Message Failures

Yes

BizTalk: WSS Adapter Total Received Messages

Yes

BizTalk: WSS Adapter Total Send Message Failures

Yes

BizTalk: WSS Adapter Total Sent Messages

Yes

BizTalk: WSS Adapter Total Web Service Call Failures

Yes

BizTalk: WSS Adapter Total Web Service Calls/sec

Yes

BizTalk:TDDS Total Events

Yes

BizTalk:TDDS Total Records

Yes

BizTalk:TDDS-Total Failed Events

Yes

CPU Usage BizTalk Machines

Yes

CPU Usage BizTalk Server Process

Yes

CPU Usage BizTalk Server Processes

Yes

CPU Usage BizTalk Servers

Yes

Documents processed

Yes

Documents processed/sec

Yes

Documents received

Yes

Documents received/sec

Yes

Documents suspended

Yes

Documents suspended/sec

Yes

FILE receive Adapter Bytes

Yes

FILE Receive Adapter Bytes/Sec

Yes

FILE Receive Adapter Messages Received / Sec

Yes

FILE Receive Adapter-Messages received

Yes

FILE Send Adapter Bytes

Yes

FILE Send Adapter Bytes/Sec

Yes

FILE Send Adapter Messages Sent / Sec

Yes

FILE Send Adapter-Messages Sent

Yes

FTP Receive Adapter Bytes Received

Yes

FTP Receive Adapter Bytes Received/sec

Yes

FTP Receive Adapter Messages Received

Yes

FTP Receive Adapter Messages Received/Sec

Yes

FTP Send Adapter Bytes

Yes

FTP Send Adapter Bytes/Sec

Yes

FTP Send Adapter Messages Sent

Yes

FTP Send Adapter Messages/Second

Yes

Host – Instance State Message References – BizTalkServerInProcessHost

Yes

Host Queue Size – All BizTalk Hosts

Yes

Host Suspended Queue Size – All BizTalk Hosts

Yes

HostQ – Instances – BizTalkServerInProcessHost

Yes

HTTP Receive Adapter Messages Received / Sec

Yes

HTTP Receive Adapter Response Messages Sent / Sec

Yes

HTTP Receive Adapter-Messages received

Yes

HTTP Receive Adapter-Response Messages sent

Yes

HTTP Send Adapter Messages Received

Yes

HTTP Send Adapter Messages Received/Sec

Yes

HTTP Send Adapter Messages Sent/Sec

Yes

HTTP Send Adapter-Messages Sent

Yes

ID Process

Yes

Logical Disk %Free Space BizTalk Servers

Yes

MessageBox databases connection failures

Yes

MessageBox Dead Processes Cleanup

Yes

MessageBox Instances Size

Yes

MessageBox Msg Cleanup

Yes

MessageBox Parts Cleanup

Yes

MessageBox Spool Size

Yes

MessageBox Tracked Message Copy

Yes

MessageBox Tracking Data Size

Yes

MSMQ Receive Adapter Bytes Received

Yes

MSMQ Receive Adapter Bytes/Sec

Yes

MSMQ Receive Adapter Messages Received

Yes

MSMQ Receive Adapter Messages Received/Sec

Yes

MSMQ Send Adapter Bytes Sent

Yes

MSMQ Send Adapter Bytes/Sec

Yes

MSMQ Send Adapter Messages Sent

Yes

MSMQ Send Adapter Messages Sent/Sec

Yes

Orchestrations completed

Yes

Orchestrations completed/sec

Yes

Orchestrations Created

Yes

Orchestrations Created/sec

Yes

Orchestrations dehydrated

Yes

Orchestrations dehydrated/sec

Yes

Orchestrations discarded

Yes

Orchestrations discarded/sec

Yes

Orchestrations rehydrated

Yes

Orchestrations rehydrated/sec

Yes

Orchestrations resident in-memory

Yes

Orchestrations suspended

Yes

Orchestrations suspended/sec

Yes

Orchestrations-% used physical memory

Yes

Orchestrations-Database transactions

Yes

Orchestrations-Database transactions/sec

Yes

Orchestrations-Dehydratable orchestrations

Yes

Orchestrations-Dehydrating orchestrations

Yes

Orchestrations-Idle orchestrations

Yes

Orchestrations-Megabytes allocated private memory-<All>-15.0-minutes

Yes

Orchestrations-Megabytes allocated virtual memory

Yes

Orchestrations-Pending messages

Yes

Orchestrations-Pending work items

Yes

Physical Disk %Idle Time BizTalk Servers

Yes

Physical Disk Average Disk Queue Length BizTalk Server

Yes

POP3 Receive Adapter Active Sessions

Yes

POP3 Receive Adapter Bytes Received

Yes

POP3 Receive Adapter Bytes/Sec

Yes

POP3 Receive Adapter Messages Received

Yes

POP3 Receive Adapter Messages Received/Sec

Yes

Runnable orchestrations

Yes

Running orchestrations

Yes

SMTP Send Adapter Messages Sent

Yes

SMTP Send Adapter Messages Sent/Sec

Yes

SOAP Receive Adapter Messages Received

Yes

SOAP Receive Adapter Messages Received /Sec

Yes

SOAP Send Adapter Messages Sent

Yes

SOAP Send Adapter Messages Sent/Sec

Yes

SQL Receive Adapter Messages Received

Yes

SQL Receive Adapter Messages Received/Sec

Yes

SQL Send Adapter Messages Sent

Yes

SQL Send Adapter Messages Sent/Sec

Yes

Comparison Rule Name Enabled

Monitor Host Suspended Q Size

No

Monitor HostQ Size

No

Monitor HostQ Size – BizTalkServerApplication

No

Monitor MessageBox Instances Size

No

Monitor MessageBox Spool Size

No

Monitor MessageBox Tracking Data Size

No

Total Failed BAM Events During Flush

Yes

Total TDDS Events Failed Exceeded Limit

No

Total TDDS Failed Batches Exceeded Limit

No

Warning: BizTalk Throttled on High Database Size for a significant period

Yes

Warning: BizTalk Throttled on High Inprocess Message Count for a significant period

Yes

Warning: BizTalk Throttled on High Process Memory for a significant period

Yes

Warning: BizTalk Throttled on High Thread Count for a significant period

Yes

R2 Engine Send

Goal:
To provide in depth analysis of how R2 EngineSendserializes an EDI document.
Overview:
EngineSend is implemented as a BizTalk pipeline with EDI Assembler component in the Assemble stage.
Engine Send:
Below is a diagram of the EDISend Pipeline showing the individual component

EDISend pipeline does the following whenserializing a document

Party Resolution
Schema Discovery
Document Processing
Envelope Application
Apply Party Specific Properties (or Global)
EDI Validation
Character […]

Microsoft Announces HealthVault

Yesterday Microsoft officially announced their first major product in the Healthcare space.  Microsoft’s entry into the market comes with the beta release of HealthVault.  HealthVault is a set of tools built on the Microsoft platform using Microsoft’s “Software + Services”  (S+S) vision.  The goal behind HealthVault is to provide a set of services that easily allow consumers to manage their health information and share appropriate information with their doctors, family, or others that may need the information.  Additionally, as a service-based architecture, it integrates with offerings from several other companies and can integrate into software being used in medical offices.  As part of the announcement, Microsoft also discussed integrated medical devices like blood pressure gauges, blood-sugar devices, and so forth that will integrate with the service.  Companies like Johnson and Johnson will be releasing these devices that will allow the device to synchronize with your Windows PC loading data directly into HealthVault.

In addition, 10 other companies announced integration with HealthVault including the American Heart Association.  The tool also includes a built-in search engine that will only return health related information.

This is just the first of many things coming from the ~600 person Health division at Microsoft.  Look for more announcements, tools, and items to come from this group over the next couple of years.

If you would like to try HealthVault, just go to http://www.healthvault.com.