BizTalk in the News

There have been a couple of important, news-worthy events that have happened in the MS Business Process Management (BPM) / BizTalk space recently: Business Process Alliance (MS enhances / rounds-out its BPM story with partners): BizTalk Services (hosted BizTalk services over the internet): Follow the links to learn more…quite exciting stuff. Cheers, Ben…

BizTalk RFID Blog is Launched!

 


BizTalk 2006 R2 release includes a scalable and extensible platform for development, deployment, and management of rich RFID and sensor solutions.  We are happy to announce that we have also rolled out the BizTalk RFID blog.  Please provide us with feedback and add comments on topics you’d like us to discuss.


 


Regards,


Marjan

More BAM Resources

Quick follow up to today’s post on production-ready BAM tactics.

If you have folks accessing the BAM Portal, make sure they’ve installed the necessary components. Specifically, if they want to view aggregation (pivot tables), they must install:

Microsoft Core XML Services (MSXML) 6.0
Microsoft SQL Server 2005 Analysis Services 9.0 OLE DB Provider

You can get both […]

Silverlight Community Site – MIX Keynote

Please join me in watching the Mix keynote live now.


The new Silverlight community site is now live! There is a lot of news and preview downloads on this site check out the http://silverlight.net/GetStarted/ page to learn more.


The preview of Cross Platform .NET became available this morning with the Silverlight 1.1 Alpha. Combine this with Silverlight Streaming in the cloud… Yeah Baby!


And the other piece of big news WE RELEASED THE VERSION 1 EXPRESSION STUDIO!


Update– Richard MacManus has more coverage of the start of the keynote here


Tags: MIX07


This posting is provided “AS IS” with no warranties, and confers no rights.

Production-Ready BAM Security and Deployment

I recently went through the process of deploying a BAM model to our new BizTalk infrastructure, and learned a few things about BAM security and deployment along the way.

Given that most BizTalk architects/developers probably play with BAM on a single fully installed machine (BizTalk, SQL, IIS, etc) while running with highest-level permissions, sometimes certain steps […]

8 Tips and Tricks for better programming in BizTalk!

Hi All,
Marty Wasznicky and Scott Zimmerman have come up with 8 amazing tips and tricks for Biztalk Programmers:
1. Always Use Multi-Part Message Types
2. Always Try to Design Orchestrations with Direct-Bound Ports
3. Always Use Separate Internal and External Schemas
4. Never Expose Your Internal Schemas Directly in WSDL
5. Always Optimize the BizTalk Registry for Web Services
6. Always […]

DotNet Framework 3.5 Beta 1 is released!!!!

Hi All,
The Microsoft .NET Framework 3.5 Beta 1 is a preview release of the latest version of the .NET Framework.The .NET Framework 3.5 which iscent percent backward compatible, adds many newexciting features in several major technology areas; including:

Deep integration of Language Integrated Query (LINQ) and data awareness
ASP.NET AJAX for quickly creating more efficient, more […]

BAM Best Practice: Starter for 10..

I knocked out a brain-dump of some BAM best practices this morning for a colleague, it seems like a good thing to share more broadly.  It’s a starter for 10 and I’ll refine it over time I’m sure, the book covers all of these things in far more detail as you’d expect 🙂 


 Avoid continuation where you can as it incurs performance overhead, it’s not the end of the world if you were to use continuation but just remember the overhead.  The rule of thumb seems to be that up to 2 continuations is OK any more and you should create new activities and link them together using references.


 You must always use continuation if you are writing data to an activity over time and using an eventstream other than the DirectEventStream.


 If you are using continuation you must always call EndActivity passing the original ActivityID once you have enabled continuation, otherwise it can lead to orphaned activities that don’t move from Active to Completed.  In short EndActivity must be called for every ActivityID used throughout the lifetime of an Activity.


                es.BeginActivity(“MyActivity”, “ActivityID_1” );
                …
                es.UpdateActivity(“MyActivity”,”ActivityID_1”,”Name”,”Darren”);
                es.EnableContinuation(“MyActivity”,”ActivityID_1”,”ActivityID_2”);
                es.EndActivity(“MyActivity”,”ActivityID_1”);


                ….
                es.UpdateActivity(“MyActivity”,”ActivityID_2”,”Age”,”99”);
                es.EndActivity(“MyActivity”,”ActivityID_2”);


 Run SQL queries against the SQL Views not the tables otherwise you may not retrieve all of the data due to table partioning occuring under the covers through the use of the Data Maintenance (DM) job


 Schedule the DM_<ActivityName> SSIS job to ensure your Activity tables are swapped out for empty ones to maintain insertion speed

 Use OrchestrationEventStream/MessagingEventStream wherever possible as this will keep the Bam data transactionally consistent with the execution of the orchestration or message in that if the orchestration rolls back the BAM data will be as well.  You also benefit from being able to piggy back the orchestration persistence database roundtrip or interchange commit.


 Ensure the tracking host is running if your using a EventStream other then DirectEventStream, the host responsible for tracking can be configured through the BizTalk Administration Console. This defaults to BizTalkServerApplication so ensure this host is started otherwise data will not appear in the BAMPrimaryImport database.


 If your using an EventStream other than DirectEventStream then BAM data is copied out of the BizTalkMessageBox using TDDS, you can see the data pending via the Tracking Data Size perfmon counter, although if you have global tracking enabled this will also include tracking data.


 BAM can store up to 1MB of data through the AddReference method on the eventstream, a great well-pefoming solution for message-bodies which enables the storage of message bodies alongside the data that describes how it was processed.