Moustafa Refaat
Login   Search
Skip Navigation Links
Home
Publications
Service Offerings
Downloads and Samples
My Resume
Endorsements
Contact Me
Books
Technical Articles
Software Packages
Scroll up
Scroll down
BizTalk The Practical Course
Mastering The BizTalk Technical Interview
Soduku:Challenging Puzzels
Scroll up
Scroll down
Design Patterns Review
Software Architecture Basics Review
Simplified BizTalk Content Based Routing for a Pass_Throu data
An Extensible Light Xml Rules Engine Component
Secure Messaging Solution
Create a SQL Database Programmatically
BizTalk Unzip Adapter
Implementing Singleton pattern with BizTalk Orchestrations
Developing BizTalk Custom Adapters
The BizTalk ESB Toolkit 2.0 experience Series
Scroll up
Scroll down
Setting the ESB Toolkit on the 64 Bit Machines
Scroll up
Scroll down
Recent Training
Scroll up
Scroll down

News List

  • Toronto Code Camp Presentation is uploaded
  • BizTalk: The Practical Course is recommended by Micorsoft
  • Canadian Gigs Network (www.CanadianGigs.Net) a job web site focusing on Canadian Jobs
  • BizTalk Technical Interview Preparation
  • GT-DataSafe© Online Backup for Amazon Storage Services 3.0 is released
  • Soduku Challenging Puzzles
  • BizTalk: The Practical Course
  • Mastering The BizTalk Technical Interview is Published.

Technical Articles

  • WCF: Refactoring a Plain old XML web service to a WCF Service
  • Setting the ESB Toolkit on the 64 Bit Machines
  • The BizTalk ESB Toolkit 2.0 experience Series
  • Developing BizTalk Custom Adapters Presentation
  • Vaughan Online my Latest SharePoint Project
Skip Navigation Links>Home

 Welcome to my website, in the following pages you will find information about my experience, publications, software products I developed, and synopsis of the services I provide in the areas of software development, design, and architecture. As a software consultant, I worked on different roles, such as BizTalk Developer, SharePoint Developer, BizTalk Architect, Enterprise Architect, Technical Lead, and Instructor. I mainly provide services in the  GTA (Toronto, ON) , though I have provided services in Calgary AB, St Johns NFLD, Chicago IL, and Denver CL in the past. I work with many technologies but I am mainly focused on Microsoft .Net platform. Some of the technologies that I specialize in are:

  • BizTalk
  • SharePoint
  • ASP.Net
  • .Net 3.5
  • Amazon Web Services
  • Oracle
  • MS Dynamics CRM and GP

Lately I have been focusing on the cloud with Azure and Amazon web services.  Feel free to contact me at Moustafa@MoustafaRefaat.com if you have any questions regarding any of my posts, books, services, or products.

DateNews
07/05/2010Toronto Code Camp Presentation is uploaded
11/12/2009BizTalk: The Practical Course is recommended by Micorsoft
10/09/2009Canadian Gigs Network (www.CanadianGigs.Net) a job web site focusing on Canadian Jobs
07/08/2009BizTalk Technical Interview Preparation
11/07/2009GT-DataSafe© Online Backup for Amazon Storage Services 3.0 is released
06/04/2009Soduku Challenging Puzzles
06/04/2009BizTalk: The Practical Course
17/03/2008Mastering The BizTalk Technical Interview is Published.

Rss
<July 2010>
SuMoTuWeThFrSa
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567
WCF: Refactoring a Plain old XML web service to a WCF Service
Recently I was tasked to help devise a plan to refactor an application that was exposing non-compliant SOAP web services. I took a closer look at the application and decided that the best route would be to use the WCF to implement the refactored services. The old service had published XSDs for request and response of the web services. It was necessary to keep backward compatibility and keep these same XSDs valid for the new services.  With that in mind I devised the following plan
1.       Convert the schemas to CS classes using the XSD tool
2.       Create a new WCF Service Application
3.       On project click add existing items and add the two generated classes
4.       Rename the IService1.cs file to I[yourserviceName]Service.cs
5.       Change the Interface as follows
a. [ServiceContract(Namespace="your namespace")]
b.     [XmlSerializerFormat(Style=OperationFormatStyle.Document,Use=OperationFormatUse.Literal)]
 
6.       Include  a template for serializing and de-serializing classes (ObjectXMLSerializer.cs fond in downloads)  in your project
7. Rename the interface and change the method inside to have the form    
a. [OperationContract(Name = "Name", Action = "URL")]
b.              Response Service(Request req);
8.       Rename Service1.svc to Yourservicename.svc
9.       Open the code behind
10.   Rename the class and the inheriting interface
11.   Implement the method to be in form
    [ServiceBehavior(Namespace=”Your Name space ",IncludeExceptionDetailInFaults=true)]
   
    public class YourService : IYourService
    {
        public YourServiceResponse Service(YourServiceRequest req)
       
12.   Update the config.web file
      <servicename="YourServiceNameSpace.YourService"behaviorConfiguration="YourServiceNamespace.YOurService1Behavior">
                        <!-- Service Endpoints -->
                     <endpointaddress=""binding="wsHttpBinding"contract="YourServiceNameSpace.IYourService">
13.   Update the .svc file directive <%@ ServiceHost Language="C#" Debug="true" Service="YoursServiceNameSpace.YourService" CodeBehind="YourServiceService.svc.cs" %>
14.   Set .svc as the starting page press and the project as the starting project
15.   Now is the tricky part we add a Message wrapper class on the generated schema to control the message serialization, so  Open the CS Request Schema 
a.       ADD code similar to the following
using System.ServiceModel;
[MessageContract(IsWrapped = false)]
public class YourServiceRequest
{
    [MessageBodyMember(Name = "REQUEST", Namespace = "YourNameSpace")]
      public Request request;
}
b.      ADD code similar to the following
using System.ServiceModel;
[MessageContract(IsWrapped = false)]
public class YourServicesResponse
{
    [MessageBodyMember(Name="RESPONSE")]
    public Response response;
}
Press f5 you should see the service description press on WSDL and you will see the WSDL
Hope this helps:)
{18/05/2010 1:37 PM} {0 Comments}  {Tags: WCF}
Setting the ESB Toolkit on the 64 Bit Machines
1.       Make sure you have a viable BizTalk Environment with BAM Tools
2.       Install UDDI form BizTalk DVD and make sure it is configured properly
3.       Install MS Enterprise Library 4.1
4.       Install Microsoft Chart Controls for .Net 3.5
5.       Install Visual Studio 2008 SDK
6.       Install the MS BizTalk ESB Toolkit 2.0
7.       Run the ESB configuration tool located “C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.0\Bin\ESBConfigurationTool.exe”
8.       Now start configuration of the ESB toolkit which is a little bit tricky, you have to set the properties for each section and apply it before you can proceed to the next section. Unlike configuring BizTalk were you can set all section and click apply once.
9.       Start by configuring the Exception Management database make sure that there are no errors in red if there are then delete the database from the SQL server correct the errors and reapply. Not that the ESConfigurationTool is non transactional which means it would not create everything or nothing it can create the database but no table or stored procedures which would cause you a headache later on to figure out why the ESB toolkit is not working properly Read more.. 
{10/05/2010 12:28 PM} {0 Comments}  {Tags: BizTalk, ESB Toolkit}
The BizTalk ESB Toolkit 2.0 experience Series
In this series of blogs I will explain and discuss my experience with the MS ESB Tool kit for BizTalk 2009.  The BizTalk ESB Toolkit 2.0 is a collection of tools and libraries that extend BizTalk Server capabilities of supporting a loosely coupled and dynamic messaging architecture.  The two most valuable features of the toolkit are:
·        The Itinerary capabilities which allows you to implement a simple chain of actions on a message path (these actions can be running BizTalk maps, BizTalk Orchestration, or custom .Net code).
·        The Management portal sample  which allows you to view suspended messages and control other aspects of BizTalk and the ESB
The following figure for Microsoft shows the components of the BizTalk ESB Toolkit 2.0
 
Read more..
{08/05/2010 10:58 AM} {0 Comments}  {Tags: Architecture, BizTalk, EAI, ESB Toolkit}
Developing BizTalk Custom Adapters Presentation

 

 

 View it all at  www.moustafarefaat.com/MoustafaPWS/custome_adapters.aspx Thanks

{07/05/2010 4:16 AM} {0 Comments}
Vaughan Online my Latest SharePoint Project

I was working on a project to migrate a SharePoint 2003 implementation to a new 2007 implementation. This new portal involved restructuring, reorganizing and actually a complete a new architecture and UI design. You can see the sample landing page above Very impressive do not you think so? I used Ajax, with SharePoint to develop many of the web parts, I will write later more updates about the lessons learned from this Project, specially the Migration process.
{30/11/2009 8:30 AM} {0 Comments}  {Tags: SharePoint, Web Developmenet}
1 2 3 4 5> >>|
Rss
 
BizTalkGear.com
BizTalk components
Genetic Thought Software Inc
Genetic Thought Web Site where you can by my software products
SodukuPro.com
Play Sudoku Online or buy a PC based edition

Rss
Key Subjects
  • BizTalk
  • EMail
  • SharePoint
  • Architecture
  • EAI
  • Exception Management
  • Web Developmenet
  • Deployment
  • Security
  • Busienss Rules
  • SQL Server
  • ESB Toolkit
  • WCF
Copyright © Moustafa Refaat 2004 - 2009. All Rights Reserved.