A disciple of Domain Driven Design (DDD), Microservices and Event Driven Architectures

Archive for the ‘Identity & Access Management’ Category

BizTalk Benchmark Wizard

Check this out:

http://msdn.microsoft.com/en-us/biztalk/ee946766.aspx

 

GUI for BizUnit on codeplex

A good friend and colleague of mine has started a project on codplex to build a GUI for BizUnit,

Check it out here : http://www.codeplex.com/bud

 

Links to materials on GoF Design Patterns

As I am into BizTalk consulting / development / training for quite sometime now, I feel that I am missing out on hardcore c# programming and the enchantment of object oriented concepts lately.

For instance, the other day I was trying to recollect the implementation details of the Decorator design pattern, and searched for it on the Internet and in the process, got glued at the wealth of information available on design patterns.

So I thought it would be helpful to have a quick reference list of the materials available so that i don’t waste time searching for them again.

Here goes:

Abstract Factory
http://www.dofactory.com/Patterns/PatternAbstract.aspx
http://en.wikipedia.org/wiki/Abstract_factory_pattern
http://www.exciton.cs.rice.edu/JAvaResources/DesignPatterns/FactoryPattern.htm

Factory Method
http://www.dofactory.com/Patterns/PatternFactory.aspx
http://en.wikipedia.org/wiki/Factory_method_pattern
http://gsraj.tripod.com/design/creational/factory/factory.html

Facade
http://www.dofactory.com/Patterns/PatternFacade.aspx
http://en.wikipedia.org/wiki/Facade_pattern
http://aspalliance.com/970_Facade_Design_Pattern

Iterator
http://www.dofactory.com/Patterns/PatternIterator.aspx
http://home.earthlink.net/~huston2/dp/iterator.html
http://www.c-sharpcorner.com/UploadFile/acusis/IteratorPattern07072006023056AM/IteratorPattern.aspx

Observer
http://www.dofactory.com/Patterns/PatternObserver.aspx
http://en.wikipedia.org/wiki/Observer_pattern
http://www.exciton.cs.rice.edu/JAvaResources/DesignPatterns/ObserverObservable.htm
http://sern.ucalgary.ca/courses/SENG/609.04/W98/lamsh/observerLib.html

Singleton
http://www.dofactory.com/Patterns/PatternSingleton.aspx
http://en.wikipedia.org/wiki/Singleton_pattern
http://www.exciton.cs.rice.edu/JAvaResources/DesignPatterns/singleton.htm
http://www.javaworld.com/javaworld/jw-04-2003/jw-0425-designpatterns.html

Adapter
http://www.dofactory.com/Patterns/PatternAdapter.aspx
http://en.wikipedia.org/wiki/Adapter_pattern
http://www.exciton.cs.rice.edu/JAvaResources/DesignPatterns/adapter.htm
http://vico.org/pages/PatronsDisseny/Pattern%20Adapter%20Object/index.html

More to follow soon…

Wish you all a happy Easter

Here’s wishing you all a happy Easter!

Latest BizTalk 2006 Documentation, PDF vs CHM, which is better?

Everybody these days seems to be pretty excited about the new PDF version of BizTalk 2006 documentation (Btw, a latest .CHM version is out as well, but there is no hoopla around that).

So thought I’ll  download the PDF version and check it out as I have been using only the .CHM version extensively. But I was not very impressed with what I saw.

To start with, the PDF version is really huge file 114 MB (whereas the .CHM version is only 44MB, the contents are the same), there is no way my PDA mobile device will load that kind of thing even with external memory card.

The links in the PDF version are not active (not clickable), so you cannot navigate through the document

Searching through the pdf document is very slow and the interface not as user friendly as the .CHM version.

The CHM version on the other hand (IMHO) is more convenient, and the search is blazing fast, you can do incremental search as well using the index tab.
You can even maintain a list of favorite pages just like keeping shortcuts, and the best part is, when I overwrote the old .CHM file with the latest version, all the old favorite pages (shortcuts) appeared intact.

I am not sure why we have a PDF version in the first place, I am sure missing out on something, someone kindly enlighten me please.

Did you know? (Setting output filename to a field value of the message without any custom code or orchestration)

I saw this question in the BizTalk newsgroups:

> Hi,

>  Is it possible to set the filename of a message with a value inside it

> which is available as a promoted property..

> I know this can be done using a custom pipeline component .But is there a

> way without it?

> I have no orchestrations in my solution..

>

> TIA

>

Yes, it is possible!… here is how.

1. Right click on the schema node you want to promote, select Promote–>show promotions.

2. On the “property fields” tab, click on the folder icon (to add new property schema)

3. Expand the references, expand Microsoft.BizTalk.GlobalPropertySchemas and select  FILE.bts_file_properties.

4. Add your node as promoted and select ReceivedFileName in the property column as the property to which to promote to.

5. In the send port configuration use the macro %SourceFileName%

6. Don’t forget to use XMLReceive pipeline at the receive port.

That’ it! No custom pipeline no orchestration. This can be useful in content based routing scenarios where there are no orchestrations involved.

The XMLReceive pipeline will overwrite the source file name value in the context with the value of the field inside the message.

Mapping multiple schema nodes in one go using the “AutoLink By” property

Most of you might have come across situations where you have to map a huge number of elements from the source schema to the target schema using the BizTalk Mapper.

There is an easy way to do this depending on your source and target schema structures.

Actually there are two scenarios where you can make use of this: 1. If your source and target schemas have an identical structure, or even if a part of your source schema and target schema have an identical structure.

2. If your source and target schemas have an identical node names, or even if a part of your source schema and target schema have an identical node names.

Here’s how to do it: 1. Bring up your BizTalk mapping editor and load the source and target schemas

To Auto Map by Structure 2. Click on the grid surface of the map and in the properties window and set the “AutoLink By” property to “Structure” (which is actually the default value)

To Auto Map by Node Name 2. Click on the grid surface of the map and in the properties window and set the “AutoLink By” property to “Node Name”

3. Map the nodes by holding down the SHIFT key and drawing a line from the parent node of the source schema to the parent node in the target schema as shown in the figure below:

AutoLink By

Note that in our figure above, the node names as well as the structure is the same, so you could set the “AutoLink By” property to either “Structure” or “Node Names” in this case.

XML debatching without custom pipeline

Everybody knows that you need to use a custom pipeline to debatch an XML file, where you use a custom XML disassembler pipeline component to specify the Envelop schema and Document schema.

Well, you can do it with the built-in XMLReceive pipeline as well, provided you don’t require advanced features like preserving header information, ‘Recoverable interchange processing’ or validating document structure  etc.

Do the following:

1. Create and deploy an envelope schema (Set the Body XPath property of the root node to the appropriate record in the envelope schema)

2. Create and deploy the document schema

3. Make sure the message you are receiving is an instance of the envelope schema

4. Make sure that the namespace and root node name of the document schema aligns with the MessageType of the debatched message (you may have to set the ‘Element FormDefault’ property of the Envelope schema to ‘Qualified’)

All of the above are something that you will anyway make sure even when using a custom pipeline, so nothing new.

XLANG/s is not C# (Dos and Don’t / Difference between XLANG/s and C#)

It is normal to find people who are new to BizTalk, writing expressions just like they do in C# programming language, well this works most of the time, it is when it doesn’t work that you start wondering what is wrong, and end up wasting a lot of time figuring out the problem and some more time finding the solution.

BizTalk uses a language called XLANG/s which is suitable for expressing the process flow (Just like BPEL) and resembles C# syntax when writing expressions, but it is not C# you are using there.

One does not usually get to learn the complete XLANG/s syntax as we construct the orchestration visually by dropping and configuring shapes on to the orchestration surface. You can however see the XLANG/s if you open the orchestration in a text editor like Notepad.

Here is a nice blog post by Charles Young mentioning list of things that are supported in BizTalk. http://geekswithblogs.net/cyoung/articles/3820.aspx

New in BizTalk 2006

When I do corporate training, I always get asked this question… “So what is new in BizTalk 2006 when compared to BizTalk 2004?” mostly from people who have been using BizTalk 2004. So here I have tried to summarize some of the things. Note this is by no means an exhaustive listing as there are other small but significant improvements.

SETUP

Automatic installation of redistributable components. In BizTalk Server 2006, the BizTalk team provide a single file that contains the latest version of all redistributable components required by BizTalk Server during installation, eliminating the need for users to individually search for the components.

Simplified setup experience for first-time users. BizTalk Server 2006 includes a significantly simpler installation experience for the developer, single machine user, and the first time user. Selecting to install the product by using the default setting will allow all of the product’s components to be installed under a single account on one machine, with minimal need of user input.

Flexible setup experience for advanced users. In BizTalk Server 2006, the setup experience has been redesigned to provide greater flexibility to support the advanced user tasked with deploying solutions across large server farm. Once installation completes, the custom configurations can be exported and imported to ease the installation of settings across server farms or development build labs.

Seamless upgrade experience. Upgrading from BizTalk Server 2004 to BizTalk Server 2006 is an in-place upgrade process. When a customer executes the BizTalk Server 2006 setup on a machine where BizTalk Server 2004 is already installed, the setup program will automatically upgrade the installation to BizTalk Server 2006. All solutions built for this earlier version will work unchanged in the new version.

OPERATIONS

Introducing the application concept BizTalk Server 2006 formalizes the concept of a BizTalk application by providing a logical container for housing all the artifacts for a given solution. This allows administrators to work with a complete BizTalk application as a unit, greatly simplifying the management, troubleshooting, and deployment of business processes.

Orchestration ZoomingIn BizTalk 2004, working with complex orchestrations in the Orchestration Designer sometimes requires a lot of scrolling on the design surface to view different parts of the orchestration. In BizTalk Server 2006, the designer has been enhanced to provide the ability to zoom in and out on an orchestration, allowing a developer to view only those parts of an orchestration of current interest.

Flat File Schema Wizard The BizTalk Flat File Schema Wizard is designed to simplify the process of creating flat file schemas by providing the following:

  • The ability to use flat file instances as input
  • A visual design surface for working with delimited and positional flat file schemas
  • An interactive wizard-based process for adding elements to the schema and defining flat file related annotations.

Application packagingUsing the BizTalk Administration Console, an administrator can package entire applications into .msi files by just right-clicking on the application and exporting as .msi file. Once packaged, installing these applications to one or more servers is as easy as running / importing the .msi file.

More Powerful Administration Console In BizTalk Server 2006, all the management functionality is consolidated into the BizTalk Administration Console. Users now have the ability to create artifacts and messaging components by using the console in addition to configuring, deploying, stopping, and starting applications across multiple servers.

Server health monitoring Using the BizTalk Administration Console’s Group Hub page, an administrator can view at a glance the health of currently running BizTalk applications. Rather than requiring an administrator to search for problems, the Group Hub page uses color-coded indicators to display those problems, allowing the administrators to take a more proactive approach to application monitoring.

ADAPTERS

POP3 AdapterBizTalk Server 2004 provides support for sending email through the SMTP adapter, however, no out-of-the-box support is provided for receiving email. With the introduction of the POP3 adapter in BizTalk Server 2006, BizTalk Server now supports receiving email messages and their attachments using version three of the Post Office Protocol (POP3) from any POP3 compliant mail server.

Windows SharePoint Services Adapter BizTalk Server 2006 introduces the Windows SharePoint Services Adapter to provide built-in support for accessing and publishing documents stored in Windows SharePoint Services document libraries. Organizations can now link the Office documents and tools familiar to knowledge workers with the enterprise portal systems that run their businesses.

MQ Series Adapter For BizTalk Server 2004 the MQSeries adapter was available as a Web download. In BizTalk Server 2006, the MQSeries support comes built-in. With the MQSeries adapter, organizations can use XML-enabled MQSeries investments, making it possible to more securely and reliably integrate disparate applications

New Line-of-Business Adapters SAP, PeopleSoft, JD Edwards, ODBC Adapter for Oracle, Siebel, TIBCO, IBM DB2

RUN TIME IMPROVEMENT

Recoverable InterchangeIn BizTalk, an Interchange can contain two or more messages, such as a batch. In BizTalk Server 2004, a validation error in any message contained in the interchange will result in the entire interchange being suspended. With the introduction of Recoverable Interchange in BizTalk Server 2006, only messages that fail validation are suspended, and the messages can be resumed once the error is corrected.

Failed message routing  In BizTalk Server 2004, when a message fails within a receive pipeline, the message is suspended and cannot be subscribed to by end points. In BizTalk Server 2006, functionality is introduced to allow orchestration and send ports to subscribe to failed messages. When used appropriately, failed message routing can be used for notifying users of failed messages or building rich error handling and message repair capabilities.

Message resume In BizTalk Server 2004, message resume is only enabled for the send side but not for the received side. In BizTalk Server 2006, nearly all receive-side messages can now be resumed through the Health and Activity Tracking tool.

In-order message delivery In BizTalk Server 2004, end-to-end, in-order processing is accomplished only when using MSMQT as a transport. In BizTalk Server 2006 this capability is expanded to support any send port that uses the same ordering semantics that outbound MSMQT does in BizTalk Server 2004 today.

Large Message TransformationIn previous releases of BizTalk Server, mapping of documents always occurred in-memory. While in-memory mapping provides the best performance, it can quickly consume resources when large documents are mapped. In BizTalk Server 2006, large messages will be mapped by the new large message transformation engine, which buffers message data to the file system, keeping the memory consumption flat.

Executing Pipelines within Orchestration A new capability in BizTalk 2006 is the ability to synchronously call a pipeline from within an Orchestration. This enables orchestrations to leverage the message processing encapsulated within a pipeline (either send or receive) against a body of data without having to send that data through the messaging infrastructure.

BAM IMPROVMENTS

BAM portal BAM has been enhanced in 2006 to include an out-of-the-box BAM portal that allows an information worker to easily examine and configure BAM information. Using the BAM portal, an information worker can select a particular instance of some business process to monitor and then choose a specific BAM view into the process to get a different perspective on the key performance indicators being monitored-sized image

BAM alerts Through integration with SQL Server Notification Services, BizTalk Server 2006 allows BAM information to be delivered as notifications through e-mail or another communication channel to the business user, enabling them to make real-time business decisions based on this information.

BAM Web service BAM in BizTalk Server 2006 builds on the existing Web services available in BizTalk Server 2004 and adds new Web service interfaces to expose the query of aggregate and instance data, creation of alerts, and retrieval of BAM configurations. The enhanced Web services interface can be utilized by custom applications to expose BAM functionalities within their user interface.