Thursday, 7 January 2010

Powershell providers for BizTalk Server

I was reading the latest edition of BizTalk Hotrod magazine, one interesting article which captured my eye was PowerShell provider for BizTalk developed by Maxime Labelle, Michel Hubert and Randal van Splunteren.(Page 42 onwards: http://biztalkhotrod.com/Documents/Issue8_Q4_2009.pdf)

Microsoft also announced its out of box support to PowerShell for management tasks in its BizTalk Server 2009 R2 release which is expected this year. (http://www.microsoft.com/biztalk/en/us/roadmap.aspx#2009r2)

Interesting to see Microsoft’s effort to next generation technologies to replace scripting languages and batch files for the management task. The obvious benefits of PowerShell over the scripts and batch file is object oriented programming model and much better debugging facilities.

I am going to try the PowerShell provider for my BizTalk Server 2006 projects before Microsoft’s PowerShell providers in 2009 R2.

BizTalk (BRE)Business Rules Engine “Failed to Load” error

One of the common error, we would encounter while working with BRE –Business Rules Engine is “Failed to Load”. Most possible cause for this error is the reference assembly is missing in GAC. It’s obvious to identify this cause, as the reason is given very descriptive as shown.

I had this same issue, so GACed the missed the assembly, then reloaded the policy (either by pressing F5 or by physically re-loading the policy). But the error still persisted. Then it reminded me the IDE cache error we all would have encountered during the pipeline development. So the solution is “Just close and open the IDE-Visual Studio again”

clip_image002

I am sure this no-blogging error, but for me. As I have mentioned in my profile, this blog is a knowledge base repository for me, where I store all the things I learn at work so that I can reference latest. If its useful for you as well, I am happy otherwise you have the whole world of web to spend.

Monday, 27 April 2009

Saturday, 21 March 2009

Free ASP.NET MVC eBook Tutorial from ScottGuthrie

If you're interested to learn about the Microsoft's new ASP.NET MVC framework, this ebook is for you and its completely FREE (legal also). This is the first chapter to the Professional ASP.NET MVC 1.0 book from Wrox. The 185 pager guides you to create a simple, but complete ASP.NET MVC application from scratch. I have just started to read this ebook, I should say that this is an excellent ebook which I have read in the recent time. Not only ASP.NET MVC framework, even If you're new to
  • Using Visual Studio 2008
  • LINQ to SQL
This step-by-step ebook is a must read for people who want to start learn ASP.NET MVC framework. At the end of this ebook I am sure to get satisfaction of complete ene-to-end learning experience for a new concept. Excellent work Scott and Wrox for sharing with all of us for FREE.

eBook: http://aspnetmvcbook.s3.amazonaws.com/aspnetmvc-nerdinner_v1.pdf
Details from Scott's Blog: http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-ebook-tutorial.aspx

Cheers

UK SOA/BPM User Group Meeting - 26th May 2009, London

The UK SOA/BPM User Group Meeting has been announced which is scheduled to take place on Tuesday, 26th May 2009 at Microsoft’s London office between 6pm - 9pm.

Date & Time: 26th May 2009, 6PM - 9PM
Agenda: 6:00 - 6.10 Introduction
A quick catchup on user group related things.
6:15-7:10 Welcome to Ascentn
Ascentn will be introducing their ISV offering and what it offers UK Professionals in the development of BPM Solutions.

7:30 - 8.30: Still open for volunteers, interested people can contact Mick
Registration: http://sbug20090526.eventbrite.com/
Details: http://sbug.org.uk/forums/p/122/174.aspx#174

I have registered a place there, meet you there..

Thanks Nick for sharing this info, I have found it in your blog.

Friday, 13 February 2009

C# Generics works with BizTalk Server 2009 (Beta) :)

I have tried yesterday and it worked.  I am really one of the happiest persons to have C# Generics support in BizTalk.

Though Generics was introduced in Version 2.0 of C# and CLR, BizTalk till its version 2006 R2 doesn't support it. But now the story has changed. Yes, BizTalk Server 2009-Beta can support C# helper class with typed parameters i.e. Generics.

In the BizTalk Server version till 2006 R2, though we can't use the C# helper class which has Generics defined in it, we can utilise them indirectly by creating a wrapper class around them. By making this way, we can still abide the rules of BizTalk Server i.e. of not exposing the class with Generics in it directly. But now in BizTalk Server 2009 Beta, we don't have to search for any workaround for using Generics.

Lets see a real time example where we will use C# Generics with BizTalk. I have a database table called "Employee" which contains Employee details (obviously). And as part of the message processing in BizTalk I have to retrieve the Employee name for the given Employee ID. So I'll use a C# helper class to retrieve the EmployeeName for the EmployeeID which will be passed in as a input parameter to a method in it. I have to design the C# helper project in a object-oriented way something like

image

In the EmployeesDataProvider class, I have defined the Generics as..

public  List<Employee> employeeList = new List<Employee>();

to populate it with the result of "select * from Employee" then I'll add this to cache. So next time I'll populate the "employeeList" only if the cache is NULL. Thus avoids the database trips. And use Generics search functionality to get the result from the "employeeList" collection as..

Employee cusTemp = employeeList.Find(delegate(Employee _cus)
           {
               if (_cus.EmployeeID == strEmployeeID)
               {
                   return true;

               }
               return false;
           });

           if (cusTemp != null)
           {
               ret = cusTemp.EmployeeName.ToString();
           }

So the functionality of my helper class is:

Build the EmployeesList (typed class with Generics)from database if its not in the cache / other wise use the cached employee list and use the Generics's Find method to get the EmployeeName for the given EmployeeID.

Now in to BizTalk Server (till 2006 R2), inside the Orchestration's expression shape you may not be able to initiate the EmployeesDataProvider class. Reason being, this class has got the "Generics" type declaration. But now, the same works in BizTalk Sever 2009. Here you can see in BizTalk Server 2009-Beta, the class containing Generics recognised.

GenericsWorking

Download source code for "Generics in BizTalk Server 2009": http://cid-01845bf64da73117.skydrive.live.com/self.aspx/INDWAY-Integration%20Services/TryGenerics.zip

Thanks to Connected Systems for providing us this feature.

 

Cheers

M.R.ASHWINPRABHU

Friday, 6 February 2009