How does BizTalk Server work?

At its core it is an event-procesing engine that is based on pubsub converntional patterns.

Wikipedia define pubsub as:

“Publish/subscribe (or pub/sub) is a messaging paradigm where senders (publishers) of messages are not programmed to send their messages to specific receivers (subscribers). Rather, published messages are characterized into classes, without knowledge of what (if any) subscribers there may be. Subscribers express interest in one or more classes, and only receive messages that are of interest, without knowledge of what (if any) publishers there are. This decoupling of publishers and subscribers can allow for greater scalability and a more dynamic network topology.”

Common flow in BizTalk is once a meesage is recieved by an adapter, is is run through pre-processing in a pipeline, before being data transformed in maps, then being published to the messagebox.

 * IMPORTANT NOTE: Once a message has entered the messagebox it is immutable (which means CANNOT be changed).

Because of the the nature of pub/sub patterns a bit a latency is introduced, which BizTalk makes up for in the starabilities (durability, reliability, and scalability).

The most dynamic use for BizTalk is in SOA or Service bus architecture.  In this archtecture itinerary services was introduced, which basically applied a message with a purpose concept.

What is this message you talk about?

It is the data processed through the BizTalk messaging engine (IE. XML document, Word Document, Flat file, etc.).  The message basically contains 2 critical parts message type and context.  The message type defines it within the bus and is typically a XML namespace and root node.  The message context is a set of name/value pairs.

How does a message get to and from BizTalk?

BizTalk uses recieve locations which are defined as endpoints, which use a particular adapter which knowns how to receive that specific message.  These receive locations have a particular receive pipeline associated with them, which can be used to modify the message before it becomes immutable.  Now, a receive port is defined as containing more then one receive location, which apply XSLT maps to the message prior to being published to the messagebox.

BizTalk used send ports and orchestrations (2 real type of subscribers within BizTalk), send ports provide a means of transporting messages from the bus and an orchestration provides an executable business process, which uses the message to complete workflow operations.

 

Databinding in Silverlight is based on any object that is inherites from the DependencyObject class.  Now, with new versions of Silverlight may new features (keywords) had been added.  Let’s look at a couple of new ones.

StringFormat:
Allows the ability to do string formatting directly in the databinding, example:

<TextBox Text=”{Binding paymentDate, StringFormat=’MM/dd/yy’}“/>

TargetNullValue:
Allows you to define what to show if value is null.

<TextBlock Text=”{Binding Path=pageContent, TargetNullValue=’No Page Content is Currently Available’}” />

FallBackValue:
Is used to define a value when the value can not be loaded through the data binding.

<TextBlock Text=”{Binding Path=pageContent, FallbackValue=’There was an Error Retreiving the Data, Please try Again Later.’}”  />

As you can see by the above examples, there are a few helpful keywords with databindings – that deal with formatting, nulls, and when things don’t go right.

 

Shawn Wildermith and I had the pleasure of hosting a Birds-of-a-feather discussion on “Silverlight, how will it change frontend development?”. We had roughly 40-50 people present and it was a great experience. Was good to talk through real work issues, so thanks to iNETA and Microsoft for allowing us to host such a great session.

 

I can’t believe TechED 2010 is almost here. This year I get the opportunity to represent the Microsoft community as a web expert, so if you are at TechED this year swing by the web platform expert area and visit with me. I am also doing a BOF this year with Shawn Wildermith and I am listed as a speaker on the TechED site. Also, if you aren’t doing anything on 6/8 from 1:45-2:30 swing by room 335 and catch our discussion on “Silverlight, where will it take frontend development?”

 

Why BizTalk?

BizTalk 2009 is a message broker SOA tool.  It is used to connect disparate systems and provided an entry point for connecting to your customers.  BizTalk does come at a cost; however with the “built-in” functionality it can cut development costs.

Some Features:

  • Retry Capabilities
  • Transaction Traceability
  • BAM (Business Activity Monitoring
  • Reliable (durable) messages
  • LOB (Line of Business) Adapters to fit most integration points (Siebel, Oracle, HiPPA)

What’s New in BizTalk 2009 (Captured from http://www.microsoft.com/biztalk/en/us/whats-new.aspx)

BizTalk Server 2009 introduces enhancements and new features in four main areas:

  • Support for the latest platforms from Microsoft including server, database and development environment.
  • Enhanced developer productivity and new application life cycle management experience for development teams.
  • New capabilities for implementing agile SOA integration solutions across heterogeneous technologies and Line of Business systems.
  • Enhanced B2B and RFID capabilities to allow the implementation of flexible end-to-end supply chain management and asset tracking solutions.
Top New Features

BizTalk Server 2009 introduces enhancements and new features in four main areas:

Updated Platform Support

  • Support for Visual Studio 2008 SP1
  • Support for .NET Framework 3.5 SP1
  • Support for Windows Server 2008
  • Virtualization support with Hyper-V
  • Support for SQL Server 2008

Developer & Team Productivity

  • New Application Lifecycle Management (ALM) experience – with Support for TFS – integrated source control, bug tracking, unit testing, MSBuild automation
  • Enhanced Developer Productivity with Visual Studio project system updates & Map Debugging

SOA and Web Services

  • ESB Toolkit 2.0
  • New UDDI v3 Web Services Registry
  • New and enhanced LOB adapters (Oracle eBusiness Suite, SQL Server)
  • Enhanced host systems integration (WebSphere MQ, CICS, IMS)
  • Enhanced BAM support

Business to Business Integration

  • New Mobile RFID Platform
  • New RFID device management and industry standards support
  • Enhanced Support for EDI and AS2 Protocols and Drummond certification
  • Updated SWIFT Support and SWIFTReady Financial EAI Gold certification

Enough on the sales pitch, my next post will dive into the factoids and creating your first BizTalk application.

 

The purpose of the site is to help developer understand how BizTalk can affect SOAESB architecture.  So I hope you enjoy the discussion around BizTalk and how to develop solutions within it.

 

In one of my current projects I used Datagrid’s with RowDetail forms for editing the ItemSource collection.  This created  a unique issue with exception throwing from the entities so the form will provide immediate response to the user.  This became very difficult to accomplish with the fact that the entities were provided by WCF (the Domain Service – we are not using RIA).   Now the issue is that the WCF ONLY provides the implementation of the entity and not the entity itself, so in short terms no exception is thrown to the UI; however we would receive the general service fault exception from the service.

To overcome this I used the shared entity model and included them in both the Silverlight frontend and WCF backend.  Now this is great solution; however if the user does not enter the form field well no instant feedback.

So for this opportunity, I created a .Validate method on the object and had it produce an error collection as well as return a true/false.

This option now allowed me to validate the object in ItemSource collection, so now the application can bulk save and evaluate the collection of data rather than one field at a time.

I will post an example of this process in the near future as well as how to do it.

 

Why BizTalk?

BizTalk 2009 is a message broker SOA tool.  It is used to connect disparate systems and provided an entry point for connecting to your customers.  BizTalk does come at a cost; however with the “built-in” functionality it can cut development costs.

Some Features:

  • Retry Capabilities
  • Transaction Traceability
  • BAM (Business Activity Monitoring
  • Reliable (durable) messages
  • LOB (Line of Business) Adapters to fit most integration points (Siebel, Oracle, HiPPA)

What’s New in BizTalk 2009 (Captured from http://www.microsoft.com/biztalk/en/us/whats-new.aspx)

BizTalk Server 2009 introduces enhancements and new features in four main areas:

  • Support for the latest platforms from Microsoft including server, database and development environment.
  • Enhanced developer productivity and new application life cycle management experience for development teams.
  • New capabilities for implementing agile SOA integration solutions across heterogeneous technologies and Line of Business systems.
  • Enhanced B2B and RFID capabilities to allow the implementation of flexible end-to-end supply chain management and asset tracking solutions.
Top New Features

BizTalk Server 2009 introduces enhancements and new features in four main areas:

Updated Platform Support

  • Support for Visual Studio 2008 SP1
  • Support for .NET Framework 3.5 SP1
  • Support for Windows Server 2008
  • Virtualization support with Hyper-V
  • Support for SQL Server 2008

Developer & Team Productivity

  • New Application Lifecycle Management (ALM) experience – with Support for TFS – integrated source control, bug tracking, unit testing, MSBuild automation
  • Enhanced Developer Productivity with Visual Studio project system updates & Map Debugging

SOA and Web Services

  • ESB Toolkit 2.0
  • New UDDI v3 Web Services Registry
  • New and enhanced LOB adapters (Oracle eBusiness Suite, SQL Server)
  • Enhanced host systems integration (WebSphere MQ, CICS, IMS)
  • Enhanced BAM support

Business to Business Integration

  • New Mobile RFID Platform
  • New RFID device management and industry standards support
  • Enhanced Support for EDI and AS2 Protocols and Drummond certification
  • Updated SWIFT Support and SWIFTReady Financial EAI Gold certification

Enough on the sales pitch, my next post will dive into the factoids and creating your first BizTalk application.

 

Microsoft has released a free version of anti-virus software.  You can download it at:

http://www.microsoft.com/security_essentials/

I recommend it as I currently use it on my Windows 7 machine.

 

The Big 3 OO concepts are:

  1. Encapsulation
  2. Polymorphism
  3. Inheritance

They are defined as:
Encapsulation – the grouping of related ideas into unit. Encapsulating attributes and behaviors.
Inheritance – a class can inherit its behavior from a superclass (parent class) that it extends.
Polymorphism – literally means “many forms’”.

© 2011 Greg Leonardo Suffusion theme by Sayontan Sinha
show
 
close