BAM deployment in BizTalk Server 2006

Personally I found that BAM is one of the most useful features in Microsoft BizTalk Server 2006. It brings down the gap between business and IT. Unfortunally like most BizTalk architects/developers I struggled with deployment on my production environment. If you don’t need to keep the data for historical reasons or analysis then deployment of a BAM flow is easy and straight forward. You can just delete your flow and recreate it again. In case your customer requires you to keep your data then deployment becomes trickier.

For those scenario’s our team created the following check list:

Type Questions Undeploy Remove view Update Deploy Data loss
Activity Add Activity    

1

 

N

Activity Add Business Data field    

1

 

N

Activity Add Business Milestone field    

1

 

N

Activity Modify data type of Business Data field (a)

1

   

2

Y

Activity Delete Business Milestone field

1

   

2

Y

Activity Delete Business Data field

1

   

2

Y

Activity Delete Activity

1

     

Y

View Add View    

1

 

N

View Add Activity  

1

2

 

N

View Add Business Milestone item  

1

2

 

N

View Add Business Data item  

1

2

 

N

View Add Alias    

1

 

N

View Add Measurement  

1

2

 

N

View Add Duration  

1

2

 

N

View Add Group  

1

2

 

N

View Add Dimension  

1

2

 

N

View Modify Alias  

1

2

 

N

View Modify Duration  

1

2

 

N

View Modify Group (b)

1

   

2

Y

View Modify Dimension  

1

2

 

N

View Modify Measurement  

1

2

 

N

View Remove Group  

1

2

 

N

View Remove Duration  

1

2

 

N

View Remove Alias  

1

2

 

N

View Remove Business Milestone item  

1

2

 

N

View Remove Business Data item  

1

2

 

N

View Remove Dimension  

1

2

 

N

View Remove Measurement  

1

2

 

N

View Remove Activity  

1

2

 

N

View Remove View  

1

2

 

N

Pivot Add Pivot Table (c)  

1

2

 

N

Pivot Modify Pivot Table (c)  

1

2

 

N

Pivot Remove Pivot Table

1

   

2

Y

 

  1. Change data type of a Business Data field is not possible. The field needs to be dropped and recreated again.
  2. Change of a group is not possible. The group needs to be deleted and recreated
  3. Update will not give an error but nothing will be changed

     

The headers of the check list reference the different actions that one can do with the bm.exe tool.

Some examples:

Remove Business Data field from activity

In this example there are 2 definition files:

  • SampleBAMDefinitionFile V1.1.1.1.xml: contains the current deployed BAM activity
  • SampleBAMDefinitionFile V1.1.1.2.xml: contains the new BAM activity without the Business Data field

In order to update BAM the following commands should be executed:

bm.exe remove-all -DefinitionFile:”SampleBAMDefinitionFile V1.1.1.1.xml”
bm.exe deploy-all -DefinitionFile:”SampleBAMDefinitionFile V1.1.1.2.xml”

 

Remove Business Milestone item

In this example there are 2 definition files:

  • SampleBAMDefinitionFile V1.1.1.1.xml: contains the current deployed BAM activity
  • SampleBAMDefinitionFile V1.1.1.2.xml: contains the new BAM activity without the Business Data field

     

In order to remove the Business Milestone from the view only the following commands should be executed:

bm.exe remove-view –Name:SampleBAMView
bm.exe update-all -DefinitionFile:”SampleBAMDefinitionFile V1.1.1.2.xml”

In case the Business Milestone needs to be removed from the activity then the above logic will not work. In this case the following commands should be executed:

bm.exe remove-all -DefinitionFile:”SampleBAMDefinitionFile V1.1.1.1.xml”
bm.exe deploy-all -DefinitionFile:”SampleBAMDefinitionFile V1.1.1.2.xml”

Advertisements