Wednesday, December 26, 2007

BizTalk Custom Pipeline Components - Framework Overview Part-1

In this article I am trying to put consolidated information for developing custom pipeline components. Hope you like my efforts; frankly, there is nothing new in the article but it's all together.

Receive and Send pipeline performs below basic operations in BizTalk Solution,
- Encrypt outgoing and decrypt income message
- Handle digitally signed messages and verify them
- Validation
- Handling promotion
- Disassembling and assembling coming or processed messages.
- Wrapping header and footer into messages.

The below I have listed components and their jobs in BizTalk Solution.


Pipeline Components

Stages Employed

Tasks

General Component Decode, Encode, Pre-assemble, Resolve Party or Validate Take one message process message and produce zero or one message
Disassemble ComponentDisassemble Split message, promote custom properties
Assemble Component Assemble Used to wrap message with head or trailer or both
Probe Component This is not an independent component. Any pipeline component can implement the IProbeMessage interface if it must support message-probing functionality. Enables the component to check the beginning part of the message


To develop general pipeline component we can use following interfaces. These are coming as part of SDK and BizTalk Solution (BTS).

IBaseComponent Interface
IComponentUI Interface
IComponent Interface
IpersistPropertyBag

IBaseComponent Interface
Members Usage
Description Property. Used to specify small description about pipeline component. Description is visible on pipeline properties page at design time.
NameProperty used to specify name of pipeline component. Name is visible on pipeline properties page at design time.
VersionProperty used to specify version (example 1.0.0.0) of pipeline component. Visible on pipeline properties page at design time.

IComponentUI Interface
Members Usage
IconProperty used to provide icon associated with pipeline component.
ValidateMethod. Pipeline designer before pipeline compilation to verify that all configuration properties are correctly set calls this.

IComponent Interface
Members Usage
ExecuteMethod. Does specific processing/massaging in inbound message and produces output message to be forwarded to next stages of pipeline or message box.

IpersistPropertyBag
Members Usage
GetClassIDMethod. Retrieves the component's globally unique identifying value.
InitNewMethod. Initializes any objects needed by the component to use the persisted properties.
LoadMethod. Used to load property from property bag.
SaveMethod. Used to save property-to-property bag.

I will surly come back with more detail articles and implementation with sample code for the subject.

Thanks for visiting my blog and please send your feedback or queries to nilayparikh@gmail.com.

Cheers!
Have a nice day!

Recoverable Interchange Processing - BizTalk Server Video Tutorial

Again I am coming with very good video demonstration by Stephen W. Thomas, the tutorial demonstrate Recoverable Interchange Processing in BizTalk Server 2004/2006/R2. Worth spending 9 minutes on the video.

To download the video please Click Here

Downloading the related sample files might also be helpful. They can be found here:
Click Here

Live Play (no need to download the file) of this video is available here:
Click Here

Tuesday, December 25, 2007

BizTalk Server R2 - WCF HTTP Binding through BizTalk WCF Adepter

A very good video demonstration by Stephen W. Thomas, the video demonstrate WCF HTTP Binding through BizTalk WCF Adepter. Worth spending 13 minutes on the video.

To download the video please Click Here

Downloading the related sample files might also be helpful. They can be found here:
Click Here

Live Play (no need to download the file) of this video is available here:
Click Here

Monday, December 24, 2007

Presentation on .NET 3.0/3.5 at Microsoft, NET C# ASP.NET VB.NET WCF WPF WF LINQ

Very good video presentation by instructor Andrew Troelsen delivers presentation on .NET 3.0/3.5 at Microsoft, NET C# ASP.NET VB.NET WCF WPF WF LINQ. Worth spending your busy time or office time ;-).

Sunday, December 23, 2007

BizTalk Server 2006 - Assert Functoid - Training Video

Another good video on YouTube, it demonstrates Assert Functoid.

http://www.youtube.com/watch?v=eypWfGlKSwM

BizTalk Server 2006 - Custom Mapping Functoid - Training Video

A good Video available on YouTube network, it's very good demonstration for Custom Mapping Funcatoid. Enjoy pie!

http://www.youtube.com/watch?v=Q-CqDfPM7MU

Friday, December 21, 2007

WCF - Microsoft Service Configuration Editor – Services - SvcConfigEditor.exe

Microsoft announced very recently about "Oslo" and their strategies about Enterprise Integrations and Service Orientation. The announcement made me tempt to explore WCF (bytheway I started calling me WCF professional few months ago ;-) ), and I come across to a very good tool called "Microsoft Service Configuration Editor". So grabbed the opportunity to document something and let's publish ;-) please bare one more article…

While learning WCF the first thing came to my mind was Enterprise Services Management (This days I am playing my cards with Live Service Management), it's ok if you plan 2-3-10-20-50 number of the services for your business but when you are planning services in big bulk, distributed deliveries of services, different assemblies, managing behaviors/contracts/endpoints for various clients/hosts, etc…. there could be N number of the possibilities for various service management scenarios. And my thoughts and excitement brought me to the administrative tool called "Microsoft Service Configuration Editor". Microsoft is supplying this tool with "Microsoft Windows SDK v6.0A" itself, it's very useful tool for the service management (especially WCF).

WCF is saving configuration settings in web.config / app.config files and it's very hard to manage manually by editing.

Below I am just trying to put some screens and my tutorial experience to you, hope you like it.

Here for the demonstration, I am using the sample scenario called "TrustedFacade " which you can find in Microsoft WCF Samples ("\WCF_WF_CardSpace_Samples\WCF\Scenario\TrustedFacade"). Not going inside the code or development part, I am going to focus only on the deployment and administration with the Configuration Editor.

Steps, for configuring the service:

  1. You can open the tool from "Start Menu\Programs\Microsoft Windows SDK v6.0A\Tools\ Microsoft Service Configuration Editor" or go to the next path "Microsoft SDKs\Windows\v6.0A\Bin\SvcConfigEditor.exe".



  2. Click on crate a new service, it will bring you one service creation wizard.





  3. Click on the Browse Button and drive the wizard to the service dll, it can be GAC or File Location.



  4. After selecting the service, click on Next button, it will bring you to service contract page. It will show you all contracts available in one dropdown list in service, an appropriate contract you select and then move ahead with the next phase of configuration.



  5. Next screen will give you option to decide the communication mode, where you can select an appropriate mode of communication channels.



  6. Next screen will bring you selection of interoperability option.



  7. Now, the coming screen will ask you the address of your endpoint.



  8. After performing the above steps, now your wizard is ready to create configuration.


Now your service has been configured, the tool also provide facility to manage other configuration like hosts, base addresses, multiple endpoints, binding configuration, contracts, listening uri, etc. I am here just focusing on the service configuration, later on I will publish client and other configuration options available with in the tool. So let's coming back to services, the below image shows you, how to add multiple base location in host.

You can also add multiple endpoints to the service, as well as you can add certifications, identity and headers to messages and channels. Please check the blow screens to understand the configurations options for end points.


After completion of configuration you can save it as *.config file, which need to manage with services at the IIS/service hosting location.

This tool can give very good flexibility with the management and administration of the WCF services on large scale.

I will back with some more interesting articles on WCF as my study progress with it.

Thanks to bear with me during the article, please send your feedback to nilayparikh@gmail.com.

Cheers!