Click here to access my new Blog

Friday, November 30, 2007

Now @ Microsoft

Dear all -

this week is my second week as a Microsoft Employee :)
my title in Microsoft in a really Long one ,, it goes like this

Regional Technology Solution Professional
Process Platform Solutions
Middle East and Africa (MEA HQ)

i guess it will be challenging to get this on the business card :)

i'm really excited about the new Role, i'll be basically working with the pre-Sales team in Microsoft on Biztalk opportunities in the region, conducing technical Architecture sessions and delivering proof of concept solutions.

cheers : )


Saturday, October 27, 2007

Tips : Consuming Orchestrations as WebService

as i promised those who attended my training last Thursday, i'd post the issue that we faced together and the solution we found during consuming Orchestrations exposed as Webservices from infopath.

it started with the event viewer throwing an exception that the "NT Service Account" doesn't have privileges to access the Biztalk Database and we found another entry about the "Isolated Host" user doesn't have privileges to register the SOAP receive port.

well, the solution was simple, basically, when you expose an orchestration as a webservice, the wizard automatically creates the webservice with it's code for you. however, when you try to call this webservice, from a client like InfoPath, the AppPool under which this site runs normally uses the default NT System Service account, all what you need to do is to assign a different identity for that AppPool that has privilege to access the SQL Database.

also you need to do the same for the user running the Isolated Biztalk Host Instance.

That's it :)

Cheers :)

Friday, October 26, 2007

Another Deep Technical Biztalk Training

last Wednesday i have started a deep technical training on Biztalk 2006, the training took place at ITWorx and was attended by more than 25 different software developers from different seniority levels,

we had open discussions all through the two days plus many comprehensive demos, most of the attendees had little or no idea about Biztalk so we started by discussing the feasibility of building enterprise integration software, we went through the possible design alternatives for building such application, everyone started recommending components in such a solution.

the design proposed by the attendees included a messaging component, business rules component, and different "agents" to handle different communication protocols :)

then we started to map the proposed design by everyone to the actual Biztalk Components, realizing that BizTalk Does all this "out-of-the-box" .. i believe this helped the attendees a lot in realizing what exactly BizTalk does. :)

these sessions were video taped , i'll try to do my best to get these videos and post them here.

for those who attended the session, please feel free to drop by and send me your feedback. :) , i hope you have enjoyed it as much as i did.

Cheers :)

Ahmed Farrag

Sunday, October 21, 2007

MEA MVP Open Day (My Last Event as a MVP)

Today was a really nice day at the MEA MVP Open Day in Egypt, i got to deliver a session on BizTalk titled "Real world SOA and Biztalk", in the session i have tried to focus on what it takes to build SOA solutions in the Real World and all the myts and facts and SOA.

also i have touched base about the Biztalk Architecture and how it fits in the SOA world and how you could easily use Biztalk as the core engine of your SOA solution.

unfortunately i have planned to discuss a lot about ESB (Enterprise Service Bus Guidance ) that is published on codeplex but i didn't have much time left in the session so i focused only on SOA and Biztalk.

I'll upload the PowerPoint presentation tomorrow as i have just forgot the updated version of it on the presentation laptop !!!

This event is very special to me, as it will be the last event for me as a MVP since i'll be joining Microsoft MEA team after 2 weeks, and as you all know, once you are in Microsoft, you can't be a MVP no more, I'll be working as a Regional TSP in the process group, focusing mainly on Biztalk, it's a challenging position and I'm really looking forward to it.

anyhoow, if you have attended the session, i hope you have liked it and feel free to give me your feedback.

cheers :)

Ahmed Farrag

Thursday, October 04, 2007

Biztalk Server 2006 R2 RTM is Ready !!!

The Biztalk Team has Recently released the RTM Version of the very anticipated Biztalk Server R2, the New R2 version is available in evaluation version for registered users, you download the new release from here
The New version contains major enhancements, my favorites are the support for MOSS 2007 adapters, WCF Adapters and the all new RFID Support, I have been playing with the betas for quite a while and i seen the patterns and practices team doing a great job with there ESB guidance that was based on specific build of the R2 Release. i believe with this new release and with the upcoming release version of the ESB guidance, developers will have all what they need to build real SOA solutions, if you need to know more about the ESB Guidance project, you can check it at

Ahmed Farrag
MVP Biztalk Server

Monday, August 20, 2007

ESB CTP 3 UddiPublisher Error

i have been playing around with the ESB CTP 3 and i found the following error when trying to run the "PreProcessingCORE.vbs" ,, it started by creating the Virtual directory and then stopped at the step of running the uddipublisher project giving the following exception

"Error Creating UDDI Entries... Class:Microsoft.Practices.ESB.UDDI.UddiClient Method: Void .ctor : Exception: System.ServiceModle.FaultException'1[uddiorg.api_v2.dispositionReport]: "

the error is clearly an authentication error, so after trying several options for a while, i discovered that the error was in the Uddi publisher settings, the user name must be defined as /.

Cheers :)

Sunday, August 05, 2007

Biztalk Build or Buy ???

I have been asked a lot, "where is the power of Biztalk?" and that’s comes from experienced Software engineers, they always tend to say "Well, we can do this!!”, and in fact that's true, if you took a bird’s eye view on what Biztalk does, it's primarily two things,, Business Process Management and Messaging Solutions, and this involves basically handling messages from different sources with different formats.

So what about the engineer who said that he can do this, well the answer is simple, Yes, you can do custom code to query a web service and get the response and then transform the message using XSLT and possibly apply some business rules checks. However when you try to deploy this solution in an enterprise, you will start facing some problems that you will have to address.
First, you will need to worry about the online vs. offline support of your application, what if the web service is not available? And you need to re-try the call; you will hence need to develop some sort of service that does this for you. Also, what about the business rules that you have applied; you need to give access to the business users to change them at any time, so you'd probably create a separate business rules store with its own configuration and database.

What about the throughput of the messages, what if the load on the server increased, could your application be load balanced? , you'd then have to create some sort of a load balancing service that is could be distributed on multiple servers...!!

You will find so many "what if" in this application that you will eventually end up building a complete framework just to support your initially small application!!
This framework of tools is what Microsoft calls Biztalk Server!!!

Biztalk Server comes with out-of-the-box support for long-running transactions; Rules engine storage, scalable infrastructure, tracking capabilities and much more; basically all what you need to host an integration/BPM solution.

So if you are targeting enterprise level solutions, I believe the equation turns in the favor of "Buy" not "Build”.

Monday, July 09, 2007

I found out about a week ago that I received the Microsoft MVP Award for BizTalk. I am really pleased to be part of this community and I am looking forward to continuing to help the BizTalk developer community. Thanks to everyone who nominated and supported me (special thanks to Mohamed Wahby (Microsoft Egypt) and Mohamed Karam (ITWorx) ).

Friday, June 01, 2007

Biztalk Server and Windows Server 2003 Service pack 2

i faced today a weird problem with the installation of Biztalk Server...

After installing BizTalk server 2006, I configured both “Enterprise SSO” and “Group” Successfully.
When trying to configure “BizTalk Runtime”, it fails with the following error:

“Could not deploy 'Microsoft.BizTalk.KwTpm.StsDefaultPipelines' on computer 'WS2003-VM-03'. Please check if BizTalk is installed correctly. (SeedCfg)”

I tried un-install then re-install BizTalk server and still getting the same error.

Here is my configuration:
OS: Windows 2003 Server + SP2
BizTalk Server 2006 – BizTalk databases are on remote SQL Server.

the problem was fixed when i installed the Biztalk Server on a Windows 2003 with SP1 .. it seems like there is something with SP2 that couldn't register that assembly..

Cheers ,,


Sunday, May 27, 2007

BiztalkersEgypt Site Launched

in the past couple of month i was thinking about creating a Biztalk Server community in Egypt, I'm already a board member in a technical club called Cutting-Edge where we organize technical sessions and seminars for software developers.

i have started a Special interest group inside the club focused on BizTalk technologies and called it "Biztalkers", i have also delivered 2 sessions in the past month to introduce Biztalk to the club members...

i believe the next step is to have an online community for biztalk developers/architects in Egypt and the Middleast where we could all learn from each other and provide video tutorials on how to start biztalking :) , that's where the idea of BiztalkersEgypt Came from ...

The site is now up and running and users are starting to register in it. i have also put a forum on the site where users could submit their questions and concerns..

i believe this is a very important step in promoting the awareness for this product in Egypt and the MiddleEast in a very simplified yet efficient manner.

Thursday, April 12, 2007

A Must Read Troubleshooting guide ..

i have been using this troubleshooting guide for a while right now and i believe its a must read for all biztalk developers, it covers sections about debugging orchestrations and monitoring the performance and lots more ...

you can find the link here ..

Enjoy Biztalking :)

'BizTalk Server: 8 Tips And Tricks For Better BizTalk Programming

i have came across this really interesting tips about biztalk programming, it really summarizes most of the pitfalls that most developers fall into, and as we always say, it's all about design, you can do lots of things with Biztalk, and you can do them in many different ways, the most important thing is how to do things the right way... :)

Enjoy Biztalking :)

'BizTalk Server: 8 Tips And Tricks For Better BizTalk Programming,'bloggerForm','scrollbars=no,width=475,height=300,top=175,left=75,status=yes,resizable=yes

Wednesday, February 21, 2007

Any Element in Biztalk Schema

we had a working orchestration today that needs to send notification for the failed messages, one problem came around, the schema of the failed message doesn't match anything to given to the orchestration !!! ,

the solution was so simple, we created a new generic schema, that contained the same root node and under it the Magical "any" element node type.!!!

so now the notification orchestration will only check the root node , and it will accept the message no matter what elements come under the root... and that was IT :)

Cheers :)


Wednesday, January 31, 2007

(Cutting-Edge ) Get To Know Biztalk Session

I have uploaded the material for the demo i made in the cutting-Edge club biztalk session ...

click here

please feel free to contact me if you have an questions.



Wednesday, January 24, 2007

Handling Different Flat Files in the Same Pipeline

I have been asked a while ago about what to do if you have different Flat file schemes arriving at the same location each with a different schemas.

converting flat file into XML files is done by the flat file schema wizard which requires that you create a custom pipeline to put the disassembling schema in it, so the first thing that pops up in your mind is , what if I receive different schemas on the same port ?? I can't make a custom pipeline for each type of schemas; So what I should do,, ??

actually, some prefer to take this "trick" to the orchestrations by passing the file as "passthrough" and the orchestration will decide which transformation map to use, but I'm personally against this option because this enforces tight coupling between the message types and the deployed orchestrations, also it will raise several issues in the deployment and versioning of the whole solution.

I have seen a solution Gilles' Web log where it extends the Flat file disassembler to create a new one that detects the schema type and applied the right transformation ..
here is a link

we have tried this solution and it worked nicely, it's not a simple solution though but it preserve the service orientation of the biztalk solution .

keep biztalking

Tuesday, January 23, 2007

Anti Patterns -- ( The worst you can do !!! )

I came across this really interesting article about the Worst you can do with Biztalk, it really sheds the light about the real working problems that I have seen in Biztalk Project, everybody asks about the business logic and where to place it correctly in Biztalk, I believe this article shows the best way to place your business logic

Click here

Keep up the patterns and Enjoy Biztalking :)

Tuesday, January 02, 2007

Old Lady Pwnz Mercedes Guy

Really Funny