Thursday, June 28, 2007

4 Tenets of Service Orientation

Hi Folks,

This post is to show and describe the 4 tenets of SOA and how is it implemented in WCF Technology in a way,how can WCF to avoid the wellknown pitfalls of using current technologies such as (WSE):

1) Boundaries are explicit :
Applications is communicating to each other by sending and receiving messages to each other.

2) Services are autonomous: you can't control any service out of your organization boundaries.
Your solution should be loosly coupled ,so it can tolerate these changes and continue running if one or more services are un available.


3) Services share schema,contracts not classes or types: simply each service publish the schema of the data which will be exchanged between the service and clients and how can be binded to the clients,these information is used by clients to consume the published services.


4)Compatability is based on policy:Schemas and contracts exposed by the service is define the "Shape" of the service.

if you familiar with WS Enhancements,it has its specification on WS-Security,WS-Interoperability....etc which has been encapsulted into the WCF unified platform.


From Introducing WCF- MS Press

Regards,
Moustafa arafa

Tuesday, June 26, 2007

Deploy WSS 3.0 Web Part

Hi Folks,

This post i will explain how can you dpeloy a wss 3.0 webpart to your shareporint server.

the steps as follows:

1) on your class library,open project properties.
2) select signing tab.
3) check sign assembly check box and select new,and give your snk file a proper name , Close and save.

You will notice that a new snk file has been added to your solution which is used to sign your assembly and give it a strong name.

4) Dont forget to build the dll to be signed with the created strong file name.
5) add your strong name assemly to the GAC using VS command line

GacUtil -i MyAssembly.dll

You can check that the file assemly has been imported to GAC y navigating to :
C:\Windows\assembly

you will find your dll,this means that your string name dll has been imported successfully to GAC (Global Assembly Cache)

6) Right click on your srong name assembly and select properties,and copy the public token.

7) Create a manafiset file in your project "Manifest.xml"

8) Paste the public token you have saved to the PublickKeyToken attribute under safeControls element in Manifest.xml file.

9) Manifest.xml file should be Content file on the build action property on VS.

on the above steps,your web part is ready to be packaged up to the shareporint server,to create the cab file of this webpart do the following:

10) add a new project, Cab Project.
11) add the primary output / content files to the Cab Project.
12) Build the CaB Project.
13) after building the CAB Project,Rename it to wsp (SharePoint solution file).
14) Take this file (wsp) and insert it using SBS admin tools :
stsadmin -c addsolution -filename MyWebPartCab.wsp

15) On Solution Management on SharePoint Central administration site, you will see the imported solution file which oyu have did on the previous step.

16) Select the solution and click on Deploy Button.


Now you have finished deploying your webpart and you can add it to any web application in your WSS Sites.

Add our webpart to your site on any webpart page,if you didnt find it,add it by clicking on new button on the web parts gallery list.


Hope this helps and descriptive.

Regards,
Moustafa arafa

Monday, June 25, 2007

Gulf MVP Summit @ 21 June

Hi All,

This is a photo to me with Charbel Fakhoury (MS Gulf GM) during giving us our give aways on Closing session of Gulf MVP summit.

Thanks AMR (my MVP Lead) for this excellent photo.

I like this photo alot,and to see more,visit my personal space:
http://marafacs.spaces.live.com/






Sunday, June 24, 2007

Gulf MSDN Flash Newsletter Issue 1

Hi All,

Gulf MSDN Flash newsletter has been published issue #1,

http://www.microsoft.com/middleeast/msdn/newsletter/June%202007.htm

Check it and subscribe on it,and check my articles there.

Under MVPs section you will find my articles.

Regards,
Moustafa arafa

new community has been launched in Riyadh

Hi folks,

New Community has been launched in Riyadh called Mobarmij,for those who doesnt know what does "Mobarmij" means? it means Programmer and its an arabic word which is equivelant to Programmer in english.

I have introduced this community in Gulf MVP Summit in Dubai 21 June 07 In one of the summit sessions called "Coming soon with MVPs", and hope all success for its board members.

http://www.mobarmij.net/




Regards,
Moustafa arafa

Tuesday, June 19, 2007

Get Latest Version while Check Out on VS 2005

Hi Folks,

This post is to highlight one of the important thing you have to take care when you upgrade your Source Control System from VSS to TFS,one of the major changes between both products is Checkout action is different than its behavior on VSS.

On VSS,Check out action get Silent Get latest action on the same action.

On TFS,Check out doesnt get latest of your files.

This feature is not available on V1 of TFS & VS 2005 and this will be availble on Orcas.

As a Temporarily solution,you can download an add-In to do that for you,Get Latest while checkout your files in TFS........

AddIn Download Link :

http://www.codeplex.com/TfsAddInCheckOut


Hope this helps.














Regards,
Moustafa arafa

Monday, June 18, 2007

Project Server 2007 VSTS Connector

Hi Folks,

New Connector is available for TFS with Project Server 2007..... Try It now.

http://www.codeplex.com/pstfsconnector


Regards,
Moustafa arafa

Sunday, June 17, 2007

Wednesday, June 13, 2007

WSS sites Customization in TFS

Hi All,
If you want to customize the created portal over WSS installation,read this post on MSDN forums,its very useful to give your sites the same Look & Feel on your process documents template site.

read this post on MSDN Forums :
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1726035&SiteID=1&mode=1

Hope This Helps.

Regards,
Moustafa arafa

Saturday, June 09, 2007

DataContract Vs. Service Contract

Hi All,
In WCF,Some new terminolgies are come up for .Net Developers,but not for COM,DCOM developers,Since the developers who are familiar with developing Dist. Application used to divide their code to interface and implementations.

The same concept is exist on WCF Tech.,Since the devleopers should divide his servce to :
1- Data 2- Operations.

**Data represented by creating DataContract which expose the data which will be transefered /consumend from the serive to its clients.

**Operations which is the functions provided by this service.

To write an operation on WCF,you have to write it as an interface,This interface contains the "Signature" of the methods tagged by ServiceContract attribute,and all methods signature will be impelemtned on this interface tagged with OperationContract attribute.

and to implement these serivce contract you have to create a class which implement the interface and the actual implementation will be on that class.


Code Below show How to create a Service Contract:

[ServiceContract]
Public Interface IEmpOperations
{
[OperationContract]
Decimal Get EmpSal(int EmpId);

}

Class MyEmp: IEmpOperations
{
Decimal Get EmpSal()
{
// Implementation of this method.
}
}

Hope now you can differentiate between Data Contract,Service Contract and OperationContract.


Regards,
Moustafa arafa

DataContract attribute in WCF

Hi Folks,
This is the First post of WCF in my blog,i was little busy with Team System Blogging :),anyway,let's assure one of the first important aspects of WCF programming which is "Contract First" Approach,This approach let the developer or Architect to design his service before starting developing it.
First thing you will do when you create a WCF is creating the Data Contract,which is the Contract that specifies the data will be exchanged between the service and it clients,suppose we need to create a WCF serice which expose Employee Data,The Data Contract will be as follows:

namespace Emp
{

[DataContract]
Class Employee
{
[DataMember]
int EmpId;

[DataMember]
string EmpName;

[DataMember]
string DeptName;
}
}

DataMember attribute you have to put it on each data member in the class in case you want to serialize and deserialize this member which is used on passing or retireving data from this data contract.

DataContract Attribute can be applied on :
1) Classes.
2) Enumerations.
3) Structures.


Hope This helps.

Regards,
Moustafa arafa

Wednesday, June 06, 2007

TFS Migration and Synchronization Toolkit

The purpose of the TFS Migration and Synchronization Toolkit is to enable customers of Team Foundation Server to build custom tools that enable migration and synchronization from competitor version control (VC) and work-item tracking (WIT) systems. By enabling this migration and synchronization we will be enabling the adoption of TFS to a broader audience.

Download it now :

http://www.codeplex.com/MigrationSyncToolkit/Release/ProjectReleases.aspx?ReleaseId=3540

Regards,
Moustafa arafa

Scrum for Team System

Hi All,

I found newly that you can download Scrum Process Guidance for Team System,and use it plus the existing process guidance MSF & CMMI in TS.

Read more on Scrum Process Guidance,below link:
http://scrumforteamsystem.com/ProcessGuidance/ProcessGuidance.html


Regards,
Moustafa arafa

TF42042: Failed to connect to the drop location

Hi Folks,


This post to show a Trick when you try to Start build in the TFS and you get this error when you try to start your build in TFS.


Make sure of the following :

1) the network path is created and shared.

2) not network connectivity problem.


And this trick is : this folder should be shared and give full previliges not to you even you are an administrator on the drop location,you have to give full access to the tfsSerivce account to that shared folder.










Regards,
Moustafa arafa

SilverLight Learning Guide

Hi All,

Get Started with SilverLight by using this learning Guide :

http://searchvb.techtarget.com/generic/0,295582,sid8_gci1256287,00.html?track=NL-462&ad=591788&asrc=EM_NLN_1537243&uid=3143005

Hope it helps.

Regards,
Moustafa arafa

Tuesday, June 05, 2007

The Evolution Of LINQ And Its Impact On The Design Of C#

The Evolution Of LINQ And Its Impact On The Design Of C#: "LINQ gives allows developers to take advantage of the power of queries. Find out how it came to be."

using Asp.Net Admin Tool on production

Hi Folks,

i found a very interesting article for using asp.net admin configuraion tool with out using VS.Net 2005,This post is show how can you configure your server to use asp.net admin tool on your production server and how to configure it as well without building asp.net membership interface on each application......its really cool Trick.....

http://blogs.msdn.com/joestagner/archive/2007/05/25/asp-net-membership-admin-without-visual-studio.aspx

Thanks Jeo for this Trick..................

Regards,
Moustafa arafa