Geeks With Blogs

Bryan Corazza for ( ; ; ) { BizTalk, Workflow, and .NET }

First of all what the hell is BAS? I found out that it isn't the singing plastic fish you buy to hang on your wall. Coming from a BizTalk 2002 background I had no idea was BAS was.  Well it stands for Business Activity Services, and basically it is a series of services that are hosted on Windows SharePoint Services (which only comes with Windows Server 2003) that helps the 'business user' manage trading partner information in a central location.  So what you say?  Well take EDI (Electronic Data Interchange) for an example (since I have a lot of experience with it).  Say you are sending/receiving B2B 'messages' to/from several outside partners, wouldn't you like to be able to manage all those trading partners in a central location.  I can tell you from experience that it was no picnic when working with BizTalk 2002 and a project which included 20+ trading partners each with their own schema, business processes, and agreements.

Now once you have your various schemas, maps, pipelines, and orchestrations completed (I'm assuming a lot here I know) we need to add a reference to the BAS Trading Partner Publishing Web Service (say that ten times fast) and to do so you need to reference NOT a URL but rather the file location 'C:\[BizTalk Server 2004 Installation Folder]\Business Activity Services\TPM\tppubws.wsdl'. Now once you add this web reference to your project (with the orchestration in it) you will notice new items in your orchestration properties (port types, multipart message types, etc.).  This is setting up your orchestration to be able to communicate directly with BAS.  This communication takes place through three specific Port Types:

  • sendToInboxPT (sends 'messages' to a Trading Partner Inbox folder on the BAS site.)
  • receiveFromOutboxPT (receives 'messages' from a Trading Partners Outbox folder.)
  • sendToSentItemsPT (moves 'messages' from a Trading Partner's Outbox to their SentItems folder.)

Then you must set up Role Links.  These can be explained here by Todd Uhl.  And an example.

Now with each trading partner that you setup you need to setup an agreement in BAS.  Now once an agreement is created and deployed in BAS, you have to remember that your orchestration is now dependent on those agreements and trading partner profiles (just like a map is dependent on schemas). What that means is that when you go to undeploy/redeploy your orchestration for whatever reason, you first have to inactivate the agreements and undeploy the trading partner profile (this gave me many headaches.).

Now one of the kewl things that you can do with Agreements are that you can setup an agreement so that 'messages' that meet certain specified criteria can be handled by the agreement. (like an order will be accepted if the quantity is >100) In EDI, Trading Partner Agreements are vital in helping the 'messaging' end of things go smoothly.  Without them, things have a way of becoming unmanageable.

I suggest reading this MSDN section on the subject to gain a better understanding of BAS as I have found the BizTalk 2004 help files a little hard to follow when it comes to this subject (but that's just me). Enjoy.


Posted on Wednesday, August 3, 2005 5:17 PM BizTalk 2004 | Back to top

Comments on this post: What is BAS in BizTalk 2004?

# re: What is BAS in BizTalk 2004?
Requesting Gravatar...
Link to MSDN site was fixed.
Left by Bryan Corazza on May 03, 2006 4:26 PM

# re: What is BAS in BizTalk 2004?
Requesting Gravatar...
good expression for all information! komik videolar
Left by video on Jul 27, 2009 4:32 PM

Your comment:
 (will show your gravatar)

Copyright © Bryan Corazza | Powered by: