mercredi 2 janvier 2008

Une introduction à WCF

Objectifs de l'article
1. Qu’est – ce que WCF ?
2. Comment WCF s’intègre dans le développement distribué ?
3. Quels liens entre WCF et le développement orienté services ?

WCF peut être vu comme la prochaine vague de technologies de développement distribué de chez Microsoft. C’est un modèle de programmation unifié qui permet de réconcilier COM+, MSMQ, les services Web Xml et le .Net Remoting. Il encourage les principes des architectures orientées services. Il implémente en outre les spécifications WS-* en vue d’encourager l’interopérabilité.
WCF est un système orienté message basé sur les information des types .Net
· Messages basés sur SOAP
· Conception d’enveloppe et d’en – têtes.
· En outre une bonne partie des comportement peut être gérée de façon déclarative (par configuration).
o Notamment le basculement entre différents protocoles réseaux
o Les paramétrages sécurité
o Les encodages
L’ABC des points terminals
Dans WCF un point terminal est une connection physique constituée de :
· Une adresse (A)
· Une liaison (B pour Binding)
· Un contrat (C )



Schémas simplifié des points terminal dans WCF

Les contrats
Au niveau des contrats il faut distinguer :
Les contrats de type ServiceContract
o S’applique à la définition des types .Net (généralement des interfaces)
o Définit des PortType dans WSDL (Web Service Description Language)

Contrats de type OperationContract
o S’applique aux méthodes d’interface
o Définit des opérations sur les PortType

Un contrat :
Dans WCF un contrat est définit comme suit :


[ServiceContract]
public interface IProcessSchedule
{
[OperationContract(IsOneWay=true)]
void SetSchedule(ScheduleInfo info);
}


Les contrats de messagerie
On a distingue deux types :
Les contrats de type DataContract
o Définissent le corps du message
o S’appliquent à des types .Net concrets

Les contrats de type MessageContract
o S’appliquent à un type .Net (optionnellement)
o Définissent entièrement l’enveloppe SOAP (y compris l’en – tête)
Exemple de DataContract


[DataContract]
public class ScheduleInfo
{
[DataMember]
public string Description;
[DataMember]
public DateTime ScheduleDate;
}



La liaison
Quand on effectue des liaisons dans WCF on définira les éléments suivants :
Les liaisons dans un contrôle WCF
o Quelle est la spécification WS-* qui sera utilisée ?
o Quel est le protocole réseau utilisé ?
o Quel encodage de message utiliser ?
Les liaisons peuvent être crées au sein du code ou dans les fichiers de configuration
Ils permettent d’édifier la pile du canal WCF pour un point terminal particulier



Exemple de Liaison (Binding)


Le tableau suivant décrit les différents types de liaisons disponibles dans WCF


Dans le prochain article nous parlerons des canaux, de l’encodage et de la configuration des comportements. D’ici, là, les liens suivants vous permettront d’approfondir sur WCF.

lundi 31 décembre 2007

Quoi de neuf dans Biztalk Server 2006 ?

Introduction à Biztalk Server 2006

Aucune application ne fonctionne comme un ilot. Que nous l’aimions ou pas, lier les systèmes les uns aux autres est devenu une norme.
Mais connecter des logiciels est beaucoup plus qu’échanger des octets. Tandis que les organisations se déplacent vers un monde orienté services, l’objectif réel – créer des processus métiers qui réunissent des systèmes disparates et en font un tout – se retrouve à portée de main.
Biztalk Server 2006 supporte cet objectif. Tout comme ses prédécesseurs, cette dernière mouture permet de connecter différents logiciels, puis de créer et de modifier graphiquement la logique métier utilisant ce logiciel. Le produit permet aussi aux « information workers » de controler les processus en cours d’exécution, d’interagir avec les partenaires commerciaux et d’effectuer d’autres taches orientées métier
Bâtie sur la fondation de son prédecesseur, Biztalk Server 2004, cette nouvelle mouture ne sera pas déroutante au regard de celui qui a déjà utilisé la version précédente. Les nouveautés les plus importante dans Biztalk Server 2006 sont :
ü Un meilleur support du déploiement, du contrôle et de la gestion des applications
ü Une installation significativement plus simple
ü Des capacités améliorées pour le BAM (Business Activity Monitoring)

Biztalk Server 2006 utilise également les dernières versions des autres technologies Microsoft. Elle est batie sur la version 2.0 du .Net Framework par exemple et ses outils de développement sont hostés dans Microsoft Visual Studio 2005, la dernière version du serveur de données Microsoft ou Sql Server 2000.
Biztalk Server 2006 peut aussi s’exécuter sur un Windows à architecture 64 bits, exploitant davantag de mémoire ainsi que les autres avantages spécifiques offerts par cette nouvelle génération de matériels.
Qu’est – ce que Biztalk Server 2006 fournit
Combinant différents systemes pour en faire des processus metiers efficacies est un défi. En conséquent Biztalk Server inclut une gamme de technologies. La figure ci – dessous illustre les composants majeurs du produit

Comme le suggère la figure, le cœur du produit c’est le moteur de Biztalk Server 2006. Ce moteur comprend deux composantes principales :
- Un composant de messagerie qui fournit la capacité à communiquer avec une grande variété d’autres logiciels. En se basant sur des adaptateurs pluggables pour différents types de communication, ce moteur supporte une variété de protocoles et de formats de données, incluant les services Web ainsi que beaucoup d’autres

- Le support pour la création et l’exécution de processus définis graphiquement appelé « orchestration ». Bâtie sur le sommet des composants de messagerie, l’orchestration implémente la logique qui pilote toutes les parties d’un processus métier
Plusieurs autres technologies peuvent aussi être utilisées de concert avec le moteur, incluant :
ü Un moteur de règles métier qui permet l’évaluation d’ensembles complexes de règles
ü Un outil d’assainissement et de suivi d’activités qui permet aux développeurs et administrateurs de gérer leur moteur ainsi que l’orchestration qu’il exécute
ü Des services SSO pour l’ntreprise (Enterprise Single Sign On) fournissant la capacité à mapper les informations d’authentification entre des systèmes Windows et d’autres types de systèmes



Au sommet de ce fondement, Biztalk Server 2006 fournit un groupe de technologies qui adressent les besoins orientés metiers plus spécifiques des “information workers” parmi ces technologies citons

- Le BAM (Business Activity Monitoring)
- BAS (Business Activity Services)
Toutes ces technologies sont focalises sur la resolution des problèmes inhérents à l’utilisation de divers types de logiciels afin de permettre l’automatisation des processus métiers. Nous verrons dans un prochain article comme cela s’effectue