Vous êtes sur la page 1sur 7

Introduction WCF

Version 1.2

Jean DALAT
James RAVAILLE
http://blogs.dotnet-france.com/jamesr
2 Introduction WCF [07/01/09]

Sommaire

1 Les Application distribues.............................................................................................................. 3


1.1 Dfinition ................................................................................................................................. 3
1.2 Technologies pour applications distribues ............................................................................ 3
1.3 Ncessit dunification des technologies : Windows Communication Foundation (WCF) ..... 3
2 Les architectures orientes services (SOA) ..................................................................................... 4
2.1 Dfinition ................................................................................................................................. 4
2.2 La naissance du SOA ................................................................................................................ 4
2.3 Les 4 grands principes du SOA................................................................................................. 4
3 Conclusion ....................................................................................................................................... 7

Dotnet France Association Jean DALAT/ James RAVAILLE


3 Introduction WCF [07/01/09]

1 Les Application distribues

1.1 Dfinition
Une application distribue est une application dont tous les lments qui la composent
(classes, persistance, logique mtier) sont distants gographiquement et communiquent entre eux
via des rseaux locaux dentreprise ou par Internet en utilisant le protocole IP.

Les composants des applications distribues sont rutilisables et servent souvent plus dune
application simultanment. Cependant, lutilisateur final na pas conscience de la nature distribue
de lapplicatif car il utilise une interface Web ou Windows Forms , dont le but souvent est de
fdrer tous les lments distants pour atteindre lobjectif de lapplication tout en masquant tous les
mcanismes daccs.

1.2 Technologies pour applications distribues


Le principe mme des applications distribues nest pas nouveau. Beaucoup de technologies et
de protocoles, souvent incompatibles entre eux ont t mis en uvre pour permettre aux
composants dune application distribue, de communiquer entre eux. Parmi ces technologies, on
peut citer :

- COM (Component Object Model) : technologie de communication inter application propre


lenvironnement Windows. Cette technologie ne permet pas de construire proprement
parler des applications distribues mais sert dinterface pour faire communiquer des
applications sur une mme machine. (les diffrents logiciels de la suite bureautique
Microsoft Office par exemple).
- DCOM (Distributed Component Object Model) : version Distribue de COM.
- .Net Remoting : technologie de communication inter application incluse dans le Framework
.Net 2.0, base sur un modle client/serveur permettant la communication et la transmission
dobjets entre les applications.
- RMI : quivalent Java du .Net Remoting
- Services Web : technologie permettant de faire communiquer des composants entre eux,
indpendamment de la plateforme sur laquelle ils sont hbergs, en utilisant un protocole
de communication et un format de fichier unique et standardis bas sur du XML.
Contrairement aux technologies voques prcdemment, grce la nature standardise
des changes, il devient tout fait possible de faire communiquer des modules hbergs
sous Windows avec dautres hbergs sous Linux ou Unix. Cest cette interoprabilit
associe une relative facilit de mise en uvre, qui fait que les services web sont
aujourdhui une des technologies les plus utilises, pour construire des applications
distribues.

1.3 Ncessit dunification des technologies : Windows Communication


Foundation (WCF)
A la vue de la diversit des technologies dapplications distribues et surtout de leur nature
propritaire, qui fait que non seulement la plupart sont incompatibles entre elles mais quen plus,
chacune tant diffrente, il est souvent ncessaire pour un dveloppeur den connaitre plusieurs,
Microsoft a dvelopp Windows Communication Foundation.

Dotnet France Association Jean DALAT/ James RAVAILLE


4 Introduction WCF [07/01/09]

2 Les architectures orientes services (SOA)

2.1 Dfinition
Selon lOASIS (Organisation for Avancement of Structured Information Standards),
lorganisation pour la promotion des standards de linformation structure, larchitecture oriente
service (SOA : Services Oriented Architecture) est un paradigme dorganisation des ressources
distribues, potentiellement contrles par des domaines diffrents. .

2.2 La naissance du SOA


Pour comprendre l'avnement et en quoi consiste le SOA, il est ncessaire de bien identifier
que le but de la programmation structure, est dcrire du code qui soit robuste et rutilisable.

Au tout dbut, il nexistait que les langages purement procduraux, la seule faon dcrire du
code rutilisable tait dcrire des fonctions et des procdures dans un fichier spar du corps du
programme, et de faire appel ce fichier chaque fois que ncessaire. Ensuite, est apparue la
Programmation Oriente Objet (POO). Elle tait innovante dans le sens ou le concept mme
d objet permet lencapsulation et donc de masquer la complexit des oprations. Les objets
peuvent senvoyer des messages, grce aux appels de mthodes exposes par lobjet avec lequel ils
souhaitent communiquer sans pour autant savoir comment ledit objet implmente le traitement
quon lui demande dexcuter.

Malgr le fait que des technologies comme DCOM, RMI ou .Net Remoting permettent de
transporter les objets et donc de dpasser les frontires de la machine grce au rseau, on sest
souvent heurt des problmes de compatibilit entre plateformes, do le besoin dune
standardisation et la mise en commun des protocoles (SOAP, XML, ). De l est ne la notion
darchitecture oriente services (SOA).

2.3 Les 4 grands principes du SOA


Le principe mme de SOA repose sur les 4 principes suivants :

- La dfinition du service est explicite :

Un service est une classe expose travers les rseaux. Le but de ce service est de fournir
une prestation bien dfinie (exemple : fournir la date et lheure dans un pays donn). Les dtails
dun service (la manire dont il doit tre appel, les paramtres spcifier) sont contenus dans un
document standardis, qui fait office de contrat entre le client et le serveur.

- Les services sont autonomes :

Un service se doit dtre totalement autonome. On doit pouvoir le remplacer ou le dplacer


sans que cela affecte dautres services. Un service implmente ses propres composants et ses
propres mthodes daccs aux donnes, il ne doit dpendre daucun lment externe.

Dotnet France Association Jean DALAT/ James RAVAILLE


5 Introduction WCF [07/01/09]

- Les clients et les services ne partagent que des contrats :

On a vu dans le premier principe du SOA, que les services exposent des contrats pour exposer
aux clients leurs fonctionnalits et comment les utiliser. Cette interface est la seule chose que le
serveur partage avec le client. Comme en programmation oriente objet, le client na pas a connaitre
comment procde le service pour arriver ses fins. En aucun cas, le service et le client ne doivent
partager du code.

- La compatibilit est base sur les rgles :

Nous verrons plus tard dans les chapitres suivants quil est possible et mme recommand de
scuriser laccs un service, en utilisant un nom dutilisateur et un mot de passe par exemple.

Voici un schma permettant de prsenter les composants fondamentaux dune architecture


SOA :

Couche de prsentation

Pages Web Windows Forms

Couche de services
1

2 Services 3

Contrats Messages

4 5

Schmas

Dotnet France Association Jean DALAT/ James RAVAILLE


6 Introduction WCF [07/01/09]

Les applications consomment des services distants, pouvant raliser des tches mtiers
et/ou techniques, en schangeant des messages ( ).

Chaque service possde un contrat qui fournit des spcifications techniques sur les
oprations quil propose (signature, donnes fournir entre, donnes retourne).

et Chaque contrat possde un schma, qui dcrit des messages changes entre les
services et les applications qui les consomment.

Dotnet France Association Jean DALAT/ James RAVAILLE


7 Introduction WCF [07/01/09]

3 Conclusion
Dans ce chapitre dintroduction WCF, nous avons vu le concept dapplications distribues et
darchitectures oriente services. Aprs avoir lu ce chapitre, vous devriez tre en mesure de :

- Savoir expliquer ce quest une application distribue.


- Dcrire brivement le paradigme SOA, et les rgles sur lesquelles il se base.

Dotnet France Association Jean DALAT/ James RAVAILLE

Vous aimerez peut-être aussi