Dear product team, One of the functionality I wish in BizTalk Server....

Posted at: 3/1/2007 at 7:18 PM by saravana

Problem:

In one of our BizTalk solution we receive purchase orders in the form of flat-file via FTP adapter from different buyers. Different Receive Locations with specific service windows are configured for each buyers. We got the solution in place, which will process the received purchase order, does some business process, routing etc, etc via BizTalk.

Recently we ended up in a strange situation, where we didn't receive any purchase order from one particular buyer for atleast a week and nobody noticed it until the buyer called us and asked for the status via telephone. The purchase orders were lost somewhere on the wire and didn't hit our BizTalk servers. If it had reached our BizTalk servers and once BizTalk started to process the message, then we have the full fault tolerance in place. Things like exceptions written to eventviewer, picked up by MOM and services people get notified etc, etc. In this case since we didn't receive any message at all, there is nothing to process and nothing to notify.

What's the solution?

If we look at what BizTalk offers out of the box, one solution I can think of is, we can configure BAM to look for activities that's happening inside our business process, set up some BAM alerts to get notified and also ask service people to look at the BAM portal every day to monitor all the message flows.

Second option will be to implement some kind of reliable messaging between us and trading partners. Either using BTF framework or some other specification like ebXml, but this requires quite a bit of work.

In our case, we didn't take the BAM or reliable messaging route , instead written a .NET application (quick and easy fix) scheduled via scheduled task to run every hour between 9AM to 6PM (Business hours). The .NET applications monitors the archive folder for new files and writes Error messages into the event viewer based on some business logic. The errors in the eventviewer are picked up by MOM and goes via our Service Desk channel.

So, What functionality I wish in BizTalk Server ?

In BizTalk server, if you look at the concept of Service Window, they are managed by Messaging Engine directly, I.e adapters don't need to worry about service windows. Adapters don't care about when to submit (Receive) messages into BizTalk and when to transmit (Send) message out of BizTalk, Messaging Engine will take care of the service window functionality. I wish there is a check box similar to the one I added to the Receive Location, Schedule Tab as shown in the below figure (Readers, be aware the functionality inside the red box is not present in BizTalk server 2006, I just manipulated the image, so don't just go and check your Receive Locations)

If in case you can't read it, it says "Raise Fault Message if no messages received during Service Window period". So, whenever there is a situation where you didn't receive any messages from your trading partner during the service window period, and "Raise Fault Message" setting is enabled for the receive location. Then the messaging engine can produce fault message, something similar to "Routing Failure" messages we receive at the moment in BizTalk 2006, with some extra promoted property. This will help us define new business process seamlessly for the condition described in "Problem" section above.

If you think its a valid request, please drop a comment for this post with your name.

Nandri!

Saravana

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:  Categories: BizTalk General
Actions: Email this article Email | Kick it! | DZone it! | Save to del.icio.us | Technorati Links
Post Information: Permanent LinkPermalink | CommentsComments(6) | Comments RSS

Comments

Friday, March 02, 2007 1:59 AM
Anonymous
Anonymous
I've only just begun to work with BizTalk but the functionality you described seems to be obviously desirable: the lack of an event can be an even greater indication of a problem than the existence of an event.

It's like an alarm system: you'd prefer to sensor system to be powered in the "OK" state and to lose power when the alarm sounds (the alarm has its own power, independent of the sensors).

That way, a power failure doesn't silently cause the system to fail.
Friday, March 02, 2007 7:52 AM
Mikael Sand
Mikael Sand
I totally agree with you, however the BizTalk team also would have to implement some kind of scheduling logic to be able to configure the service window.

That is to stop errors from being raised during weekends and major holidays.
Wednesday, March 07, 2007 3:40 PM
Anonymous
Anonymous
I had a similar idea of having a Windows service checking available BAM data against the partners expected schedule. The schedule would be held in TPM. I never had to implement it but it seems do-able. However, some partners may have complicated schedules or allowable exceptions during holidays, etc.
Wednesday, March 07, 2007 9:23 PM
Leonid
Nice proposal!

Not sure where it should be placed.
It's always hard to implement the "NOT EXIST" logic.


Regards,

Leonid Ganeline
BizTalk Solution Developer
-----------------------------------------
http://geekswithblogs.net/leonidganeline/
Friday, April 06, 2007 2:51 PM
Rajeshwar Polaty
I agree that this functionality will be definetely useful if implemented as the service windows are configured to expect the files during the specified window. Presently we have a workaround where we monitor our archive locations and if the file is not received for the day into the archive locations support team gets paged.
Saturday, December 22, 2007 10:53 AM
Sajid
I think Microsoft should include this feature, in BizTalk V Next, just a small feature, they shouldn't be having to much difficulty implementing this one Smile

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading