Blog du Pôle .NET

Partager pour mieux développer...

Performances WCF

clock September 12, 2008 06:01 by author yvue

Un post interessant sur certaines configurations à mettre en place pour améliorer les perfs WCF

 http://www.iserviceoriented.com/blog/post/Configuring+Performance+Options+-+WCF+Gotcha+3.aspx

Yoann Vue 

 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


MSDN Technet Tour 2008

clock September 2, 2008 12:27 by author aequoy

Juste un petit billet pour vous signaler que le Technet Tour 2008 passera sur Lille les 13 et 14 octobre 2008.

Inscrivez vous en cliquant sur l'image

Inscrivez vous.

Alexandre Equoy

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Workflow Foundation Part #1

clock August 14, 2008 09:00 by author dox

J'étais parti pour faire un article sur WCF, mais comme tout a déjà été dit, ça attendra un peu.
Cet article est le premier d'une série consacrée à Workflow Foundation (WF). Je vais essayer tout au long de ces articles, d'illustrer quelques une des fonctionnalités de WF, entre autres :

  • les workflows séquentiels
  • les workflows à états
  • les activités parallèles, conditionnelles et les conditions
  • la persistence dans Workflow Foundation
  • le tracking...

On va commencer doucement, avec un premier workflow de type séquentiel. Et pour ça, nous allons partir d'un exemple : Il fait beau dehors et Bob aimerait poser quelques jours de congés. Bob va donc déposer une demande de congés, qui devra être validée par son chef, puis par les ressources humaines. Une fois sa demande acceptée, Bob sera notifié qu'il peut aller profiter du soleil.
Cool

Première Etape : Le Workflow

Pour réaliser tout ça, nous allons avoir besoin d'un workflow (de type séquentiel ici, puisque les étapes se déroulent les unes après les autres). Voilà à quoi pourrait ressembler notre workflow

 

Il est composé de 3 activités de type HandleExternalEvent, et d'une activité CallExternalMethod qui vont permettre de :

  • d'abord réagir à une demande de congés
  • ensuite réagir à la validation par le supérieur de Bob
  • puis celle des ressources humaines
  • et enfin, appeler une méthode qui notifiera Bob de l'état de sa demande.

Deuxième Etape : L'interface 

Puisque notre workflow réagit à des événements et qu'il appelle une méthode externe, il nous faut définir ces éléments. Pour cela, nous crééons une interface qui contient les définitions suivantes :

[ExternalDataExchange]
public interface IDemandeCongesService {
  event EventHandler<DemandeCongesEventArgs> CongesDemandes;
 
event EventHandler<DemandeCongesEventArgs> ValidesSuperieur;
 
event EventHandler<DemandeCongesEventArgs> ValidesRH;
 
void NotifierDemandeAcceptee(Guid instanceId, DemandeCongesData data);
}

Ce qu'il faut noter dans la définition de cette interface :

  • L'interface est marquée de l'attribut ExternalDataExchange pour indiquer qu'elle sert à communiquer avec un workflow.
  • Les événements sont typés et héritent de la classe ExternalDataEventArgs. Ils sont également marqués de l'attribut Serializable.
  • L'objet DemandeCongesEventArgs contient une propriété de type DemandeCongesData. Cet objet contient les informations propres à notre demande de congés (nom de l'employé, le nombres de jours...), lui aussi marqué de l'attribut Serializable.

Il ne nous reste plus qu'à associer les propriétés de nos activités aux événements et méthodes correspondants.

Troisième Etape : L'implémentation et l'application hôte 

Un worfklow dans WF fonctionne un peu de la même façon qu'un service WCF. Il ne peut être démarré tel quel. Il a besoin d'une application hôte pour héberger le runtime de Workflow Foundation, qui se chargera ensuite de charger/créer une instance de notre workflow et de la démarrer.

Pour faire simple, nous regrouperons toute la logique métier dans une application de type Windows (le Web c'est mal Tongue out). Cette application contient une fenêtre principale et une classe qui contient l'implémentation de notre interface IDemandeCongesService. Voici un petit aperçu de notre application finale :

Ceci reste un exemple assez simple de ce qu'on peut faire avec Workflow Foundation. Les autres fonctionnalités de WF seront abordées dans les prochains articles de cette série. Dans le prochain épisode... Le workflow a états. En attendant, vous pouvez télécharger le contenu complet de l'exemple en suivant ce lien : WFpart01.zip (20,96 kb).

Par Dominique Thery,
To be continued...

Currently rated 4.0 by 1 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Cloud Computing : la tête dans les nuages

clock July 23, 2008 00:29 by author aequoy

Le Cloud computing kezako ?

Le terme regroupe l'ensemble des technologies offrant la possibilité de disperser un système d'information sur des infrastructures prises en charge par un ou plusieurs prestataires.

D'un point de vue infrastructure, cela correspond en raccourci à la mouvance de grilles de serveurs, de la virtualisation,  de partage de ressources et de l'externalisation.

C'est bien joli de disperser l'infrastructure mais qu'en est-il de ce qu'elle héberge  (les softs) ? 

Que ceux qui se souviennent des spécifications de CORBA se remettent à plancher, ça y est, c'est à la mode !! Laughing

Depuis l'arrivée de WCF (Windows Communication Foundation), nous entendons parler de plus en plus d'architecture SOA viables, d'architectures "Software as a service", de bus de services.

L'émergence d'outils tels que Live Mesh, popFly tendent à montrer que nous allons vers d'avantages de services.

Microsoft a publié fin 2007, les premières guidelines de la mise en place d'un bus de service.

WCF + Biztalk + WF (Workflow Foundation) sont au coeur de ce bus.

 

L'arrivée d'ADO.Net Data Services, les futurs SQL Server Data Services vont permettre d'exposer en plus des services, les données sur les protocoles "internet compliant".

Microsoft parle donc maintenant non plus d'ESB (enterprise service bus) mais d'ISB (internet service bus). Quasimment toutes les technologies sorties (framework 3.0 et 3.5) s'intègrent dans cette idée.

Ce qui est intéressant ici n'est pas de compter le nombre d'acronymes pompeux utilisés Tongue out mais plutôt de remarquer que, comme d'habitude diront les anciens, les briques unitaires que Microsoft sort finissent par s'assembler pour donner des possibilités de plus en  plus évoluées.

PS :

Le but ici n'est certainement pas de se faire l'oracle de ce qui va se passer mais juste de constater un état de fait. Irons nous enfin vers des architectures orientées services viables ?

L'échec cuisant de CORBA me fait remémorer quelques commentaires par rapport à ce renouveau de l'orienté service :

  • plutôt que l'orienté service, je pense qu'il faut parler d'orienté métier
  • le marketing ne gagne pas sur le long terme (même si j'adore le marketing Laughing)
  • la complexité échoue toujours
  • les technologies qui marchent sont celles où le coût d'entrée est très faible car se sont les technologies qui sont suceptibles d'être massivement utilisés.

Liens : 

ESB Guidance : http://www.codeplex.com/esb

Biztalk en support de cet ISB : http://labs.biztalk.net/Overview.aspx

Webcast des techdays 2008

Pour les nostalgiques : Rise and Fall of CORBA

Alexandre Equoy 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5