Thursday, September 23, 2010

BizTalk 2010 Developer is available

image

During European BizTalk Conference we were told BizTalk 2010 was going to be released before end of September and moment has come. It offers a developer edition, which can be downloaded. BizTalk Server 2010 Developer is a free edition of BizTalk Server that enables developers to build and test applications that run on BizTalk Server on both 32-bit and 64-bit platforms.  BizTalk Server 2010 Developer includes all of the functionality of Enterprise Edition, but is licensed only for development, test, and demo use.  Solutions from BizTalk Server 2010 Developer Edition can easily be packaged and deployed to a production environment that is configured with any other edition of BizTalk Server 2010.

Besides that BizTalk Server 2010 introduces a new feature “AppFabric Connect”, which combines rich proven features of BizTalk Server and the flexible development experience of .NET to allow users to easily develop simple integration applications (See Installing the BizTalk Server 2010 AppFabric Connect feature). AppFabric Connect uses Windows Workflow Foundation (WF) activities to programmatically access BizTalk’s LOB connectivity and data transformation capabilities. This enables users to easily create new composite applications using the WF model, which can be deployed, hosted, managed in Windows Server AppFabric.

You as developer can setup an environment using virtualization (VM-ware, VPC, Hyper-V or Virtual Box), Visual Studio 2010, BizTalk Server 2010 Developer, SQL Server 2008 Developer and Windows Server AppFabric. Not just that cause you could add Windows Azure SDK to it and you can start building all kinds of state of the art applications.

Cheers!


Technorati:

Wednesday, September 22, 2010

BizTalk Server 2010 Documentation – Beta and Posters

BizTalk Server 2010 Documentation – Beta is available through Microsoft Download Center. Here you will find documents like:

  • BizTalkServer2010.exe
  • BizTalkServer2010HXS.exe
  • Installing BizTalk Server 2010 and BAM in a Multi-Computer Environment.docx
  • Installing BizTalk Server 2010 on Windows 7 and Windows Vista.docx
  • Installing BizTalk Server 2010 on Windows Server 2008 R2 and 2008.docx
  • KWUserGuide.exe
  • PartyMigrationTool.exe
  • Troubleshooting BizTalk Server 2010 Setup.docx
  • Upgrading to BizTalk Server 2010 from BizTalk Server 2009 or 2006 R2.docx

Besides the documentation a new set of posters is available:

  • BizTalk Server 2010 BAM Poster
    This poster describes BizTalk Server 2010 BAM concepts, processes, and management for both new and experienced users.
  • BizTalk Server 2010 Runtime Architecture Poster
    The poster depicts message flow, data flow, and references that occur at runtime in BizTalk Server 2010.
  • BizTalk Server 2010 Capabilities Poster
    The poster provides a high-level and detailed view of BizTalk Server 2010 features and capabilities.
  • BizTalk Server 2010 Scale-out Configurations Poster
    This poster describes typical scale-out configurations and options for BizTalk Server 2010.
  • BizTalk Server 2010 ESB Toolkit Architecture Poster
    This interactive poster, created in Silverlight, depicts the architecture of the BizTalk Server 2010 ESB Toolkit. It shows the toolkit's core components, and how these integrate with BizTalk Server.
  • BizTalk Server 2010 Database Infrastructure Poster
    This poster describes BizTalk Server 2010 databases and associated components, jobs, services, UI, and events.

Cheers.


Technorati:

Saturday, September 11, 2010

European BizTalk Conference: Stockholm

Few weeks ago I registered for BizTalk 2010 Release Party in Stockholm organized by Swedish BizTalk User Group led by Mikael HÃ¥kansson and Johan Hedberg. I went to this event that took place this week on Wednesday and Thursday. It turned out that BizTalk wasn’t released yet, it will happen somewhere at end of this month as we were told. Event was renamed to European BizTalk Conference, while most sessions where about AppFabric which is good (I will tell why in a minute).

AppFabric can mean two things: Windows Azure platform AppFabric and Windows Server AppFabric enable IT professionals to build and manage applications more easily both on-premises and in the cloud. It is important to know when people talk about AppFabric in what context on- or off premises. Just recently the Windows Server AppFabric Customer Advisory Team released the Windows Server AppFabric Architecture Guide.There have one good resource already, but there is more:0547_EN_MockupCover-final This book just released through Pack Publishing and is available also through Amazon. It was shamelessly promoted by the authors (Richard, Ewan and Stephen) doing presentations during the event and I bought it. Why? Are they nice guys, yes, but it is the message it contains and they gave during the presentations. Message is by my interpretation BizTalk can be a good fit in an architecture with its range of mature, proven, well evolved adapters and its scalable, robust, durable application architecture, but there are more technologies (i.e. AppFabric, Azure) available that can be better suited for certain scenario’s. Some of these scenario’s are written down in this book and being explained during the sessions.

I must say I have enjoyed this event and my first visit to one of the Nordic countries in Europe. Thanks to Swedish BizTalk User Group organizing it and Microsoft Sweden hosting the event, the speakers for their time sharing experience/knowledge, and for bringing the book to our attention :). I also like to thank Alan for taking me for diner in Stockholm on Wednesday evening and Peter on Thursday.

Cheers!


Technorati:

Saturday, September 04, 2010

Learning BizTalk Server: How to start?

On BizTalk Server General forum I sometimes see people asking how to start learning BizTalk. Responses to these questions vary a little and links are provided to numerous resources, but what would be a good starting point? In my view the Microsoft BizTalk Server site and BizTalk Server Developer Center are good starting points. A successful  learning path for BizTalk Server depends on:

  • Knowledge of .NET and Visual Studio (BizTalk artefacts);
  • Knowledge of SQL Server since BizTalk depends on SQL Server (see BizTalk Architecture picture below);

For publish/subscribe, see patterns/practices article and understanding BizTalk Server 2009.

  • Invest in time and money, a good training from experienced professionals can speed up the process of learning BizTalk. Spend time to build up routine and experience.

Knowledge of .NET and Visual Studio

Development for BizTalk Server is done through Visual Studio. Visual Studio has templates for BizTalk artefacts like orchestration, pipelines, schemas and maps, so a BizTalk solution can be created (design time) and deployed to the BizTalk runtime. Besides artefacts .NET development can be done in creating pipeline components, custom functoids, custom adapters, and .NET helper classes to aid in orchestrations. As a BizTalk professional Visual Studio is your friend and required to build BizTalk solutions.

Knowledge of SQL Server

BizTalk Server depends on SQL Server and Microsoft BizTalk Server databases and their health is very important for a successful BizTalk Server messaging environment. How to achieve this is explained in How to maintain and troubleshoot BizTalk Server databases and if you review that article it will become obvious that you need SQL Server knowledge.

Invest in time and money

When you start learning BizTalk you will need to invest in time and get hold of some budget to get training, books (Amazon, see list here), software (MSDN) and hardware (you need at least a laptop/desktop with enough memory, disk and processor power). Learning can be done at a local training facility or you can go to Quicklearn and Pluralsight. If you do not have enough resources as in software/hardware you still can learn/experience BizTalk through BizTalk Server Virtual Labs.

I have explained the success factors for a successful learning path for BizTalk and if you have the necessary prerequisites as in software and a machine (laptop/desktop) you can start cracking. Best way to proceed is to build your own BizTalk environment with the installation guide in your hand (I assume you start with the latest version available, currently BizTalk Server 2009) .

A BizTalk development environment can best be installed and configured on a Virtual PC or Hyper-V (see this post BizTalk Virtual Machines with Windows 2008 R2 Hyper V). As soon as you have your environment available, download the BizTalk help file and follow the tutorials  described in there(which can be viewed online too or downloaded). Through self study you setup your own environment, do tutorials, try virtual labs and read books. If that is not enough you can get training:

QuickLearn offers BizTalk training classes and Pluralsight also offers BizTalk training classes ranging from introductory to advanced. If you're just getting started, you might want to check out their self-paced BizTalk Developer Fundamentals class. Finally, visit QuickLearn's Technical Library for resources and articles on BizTalk.

Besides that, there are several good resources available online:

ESB Toolkit

It is possible that after gaining experience- and building/strengthen your knowledge in BizTalk you want to take it a step further by learning the ESB Toolkit. If you have your BizTalk environment available you can download and then install and configure ESB Toolkit 2.0 (targeted for BizTalk 2009, while version 2.1 is target for new BizTalk 2010). For reading you can start with a whitepaper by Jon Flanders. In general you will find a lot of resources at BizTalk Server Development Center –> BizTalk ESB Toolkit 2.1.

I hope with this post it will be clear to people how to start with learning BizTalk Server. Although you my find it a long learning path, you will find that there are plenty of resources at your disposal.


Technorati:

Wednesday, September 01, 2010

BizTalk CAT Instrumentation Framework Controller: My First Experience

In past I have used log4net or System.Diagnostics.Trace component of .NET for logging and tracing. Until a few months ago the post Best Practices for Instrumenting High Performance BizTalk Solutions got my attention. I read it, but did not start using it directly as I wasn’t doing any development. These days I sometimes am involved in development of BizTalk solutions, so moment was there.

Recently BizTalk CAT Instrumentation Framework Controller was released on CodePlex. The BizTalk CAT Instrumentation Framework is a high performance tracing/logging framework for BizTalk that builds upon the Event Tracing for Windows (ETW) infrastructure. It was created by Microsoft's BizTalk Customer Advisory Team (CAT). The Controller is an easy-to-use GUI for the BizTalk CAT Instrumentation Framework.

My thinking was why don’t I try this UI out in combination with Microsoft AppFabric CAT Best Practices Samples. The BizTalk Instrumentation Best Practices Samples solution provides a reusable framework intended to help BizTalk developers enrich their solutions with high-performance instrumentation based on the Event Tracing for Windows (ETW) infrastructure. I downloaded the BizTalk Car Instrumentation Framework Controller and installed it on one of my development sandboxes (Hyper-V, see this post). Before you can use it to trace what is happing for instance in an orchestration you will need to download Microsoft AppFabric CAT Best Practices Samples (containing solution Instrumentation Framework V1.4), open the solution, sign with strong name and build it. Next step is to reference the framework inside project containing your orchestration. I use my SalesForce Implementation (see this blog part I and part II) as an example in this post to show how I set things up.

Inside my orchestration I followed procedure as described in post Best Practices for Instrumenting High Performance BizTalk Solutions (see section Instrumentation for Orchestrations). A well instrumented orchestration has an entry point after receive shape:

image 

The internal state of orchestrations (e.g. variables, results from method calls, non-sensitive message payload) is wisely traced (using TraceInfo). I used this twice in my orchestration consuming the SalesForce service i.e. request message and response message.

image 

The exit point from an orchestration is recorded (using TraceOut) either right before the Terminate shape or at the very last step in the orchestration:

image

I did not include any error handling in this orchestration; otherwise unexpected behavior can be reported as soon as it is detected using TraceWarning or TraceError. The detailed information about a runtime exception is traced from inside the exception handling block using TraceError. If scopes are used the duration of individual scopes or/and entire orchestration can be measured and traced using TraceStartScope and TraceEndScope.

I deployed my instrumented orchestration and added the Microsoft.BizTalk.CAT. BestPractices.Framework to resources of my BizTalk application. I started the application together with GUI for the BizTalk CAT Instrumentation Framework and DebugView.

image

I started the trace (Start Trace) and placing a test message in a folder for BizTalk to picked up. I instantly saw trace information being displayed in DebugView.

image

In this post I shared my first experience with using BizTalk CAT Instrumentation Framework Controller. What I have described here it pretty basic and shows how easy tracing can be setup (see also “BizTalk Application Tracing Made Easy with BizTalk CAT Instrumentation Framework Controller” by Valery Mizonov ). Compared to using log4net this experience was more compelling and has its advantages in better agility and performance . If you want to make extensive use of BizTalk CAT Instrumentation Framework Controller I suggest to read the post “Best Practices for Instrumenting High Performance BizTalk Solutions” (Valery Mizonov) and related links you find there. In latest Hotrod issue you will find article Instrumentation Best Practices for High Performance BizTalk Solutions (page 47).


Technorati: