Archive for September, 2008

Microsoft relases the BiztalkServer 2009 RoadMap here and it ill not be called as R3.
I recd an email today and it was requested to get btalk materials if any :- from where to get materials on EAI patterns and Biztalk.So here you go :-
The following are few of the list which were cool and help me learns a lot on Btalk:-
Also see the Webcast and channel9 for the learning videos
Enterprise Solution Patterns Using Microsoft .NET
Pattern Catalog for the Business Process Management Solution
Applying Microsoft Patterns to Solve EAI Problems
Quick overview of more then 100 patterns Describing the Enterprise Architectural Space
 also see
Microsoft ESB Guidance for BizTalk Server 2006 R2
I hope this will be useful for learning Biztalk and EAI:)
The list does not contains many resources on adapter ,biztlak deployment and best practice guides ,Wcf adapters and adapter packs[I am trying to keep the list simple:)]
Let me start this series with Why we need virtualization and why Enterprise seriously start thinking about Virtualization?
But before I start why as an Arch or Technology decision maker you need to  understand the Virtualization and Cloud Computing  ,I often see a trend where most architect let it pass to the infrastructure folks to handle the virtualization ,although I dont blame them for this,after all they need to handle so many other bits and to catch up the new technologies and trend is never an easy task for most of the Archs.
So Why do you need Virtualization??
In short Virtualization is all about the pooling physical and logical systems resources. These resource pools can then be used for a variety of purposes including:
Improving System Utilization,Testing App in Different PlatForm and PRoduction test beds,Improving FailOver and Recovery,Setting of a Virtual Lab Automation System,Reducing the Cost and Rapid HardWare Configuration ,Creating a dynamic IT and reducing Management Costs and So On.The World is not far behind on the importance of Virtualization and now all major players in IT industries is catching up with the Virtualization  trend.
There are different types of Virtualization :- DeskTop Virtualization,Server Virtualzation,Application Virtualization but the ultimate goals still the same and Many palyers ESX,Microsoft and Citrix were quite popular with many of their Virtualization products and technologies .I am not going to the full details on the why since you can find many articles in Microsoft virtualization site as well as ESX site as well as many other authors has quite a few post on this .I personally like this post from david why virtualization matters
VMWare is the enterprise market leader In Virtualization and Microsoft is catching up  although VMware  has high licensing costs their ESX products are feature rich. Generally speaking certain applications and workloads are good candidates for virtualization (web servers, app servers, cpu bound) while others are less desirable (db servers, high disk IO). I believe VMWare publishes general guidance around performance hit of vms compared to physical counterparts – I believe they say roughly 30% hit on CPU, and up to 50% hit for network and disk IO. Given the hardware support of virtualization in modern day cpus and SANs, these deviations may be different today. You will see a performance hit so you should at least expect that much.
However before choosing a Virtualization strategy you need to have a requirement taht better match the VM Environment.The benefits of virtualization in many cases outweigh the performance hits in my experience – cloning, migrating running vms across physical hardware servers, suspension, simplified networking, automation/scripting, clustering, higher availability/minimized downtime etc. Some of these benefits are clearly desirable in a production environment. Imagine having to perform a hardware upgrade on a physical server… you could simply temporarily migrate your running vms to the other physical servers and migrate them back after the upgrade with no downtime.The best bet would be to try with a Test or trial Run .Do refer to this post also for a details before you start Virtualization on production:-
As I mentioned there are different types of Virtualization and in this post i ll confined to Server Virtualization and specific to WindowsServer 2008 Hyper-V and VMWare ESX.
 Before I move onto Cloud Computing , Let me clear for folks considering Hyper-V that I found it quite useful and I spefically like many of their features which make them a strong competitors of VMware.Other then the List above I like the PowerScript Support,Support of VMware system  in VMM[VMM is still in beta and you can participate using msconnect] also you can see a Linux and Mac based system support in Hyper-V soon.For hyper-V you need Windows 2008 X-64 based system as base OS .Currently no other OS supports this and beaware of the sysprep and integration components since I found earlier VHD or VM on VirtualServer 2005 or VPC 2007 or 04 sometimes cause problem while importing into Hyper-V.Although there is a KB article for the resolution ,for me un-installing the Vmcomponents always done the trick.Finally on Virtualization ,This site also has quite a few good resources to understand virualization
To limit this blog post I am not going to provide a lot on Cloud Computing,However the following articles would provide you much info:-
Cloud Computing and Virtulization perfect together
In the last few post we were discussing the CI processes and how to setup a common minimum CI process using different set of tools.Read the earlier post part1, part2 ,part3.,Part 4. What we didn’t cover in last post were few of the other useful tools namely Teamcity,CI factory,Watin,VSTS and Mock frameworks.
In this final post on CI and B&R [Build and Release ]we will discuss these  as well as I ll provide useful links to learn these to conclude the post.
CI factory:-CI factory  is a CI setup framework and in quicktime you can create a new CI setup in Minutes.The uniqueness of CI-Factory is its Pre-Package Bundle which Bundles a Wide Set Of tools[CCNet,Nant,MSBuild,Ncover,Ndepend,Mbunit,SubVersion,Simian,VSS,Wix,MSTest Etc;] at one Shot and its support for Build Script Generation[Yes it does create all the build script].You Edit the Config.Xml Provide your Source Control Entry from where to get the code and include the necessary packages and run a bat file .Thats it and violla you are going to get a CI setup with all the necessary scirpt generated.Its really a very good work by Jay Kimbley,However there are few caveats and I am going to list those as well.
First Few Learning Links which you can find useful while working with CI factory :-
The issues which I found with CI factory were:- You might need to spend quite a few time understandig the build artifacts,You need to generate the CI setup for each projects[What I mean here is you cant dynamically point to a different project and Source Code location],Extensibility is bit difficult,Its still does not directly support multiple solutions and Testing frameworks and finally you need to play with the XML script a lot to work it with Enterprise projects.
TeamCity:-TeamCity is a new CI tool from jetbrains with cool features and functionality.The biggest +ve side of teamcity is the cool visual UI to create the CI setup.It has further inbuilt support of Solution based build/Compilation for both VS2005 and VS2008 as well as unittestign frameworks.The -ve side is its still not support the Fxcop results,Ncover and Ndepend results into the dashboard.However you can still customize the teamcity to include those and its a cool tool and can be considered as cool replacement of CCNET.
TeamCity has free 20 Licenses for Testing and a paid Enterprise Version:-
Here are the links you might find useful for TeamCity:-
Mock :- Soon