Avec la disponibilité du framework .Net 3.5, ce sont deux années d'investissements Microsoft qui bénéficieront progressivement à toute la plate-forme applicative (SQL Server, BizTalk et SharePoint), et dès maintenant pour vos développements spécifiques. Pour plus d'informations sur .Net 3.5, consulter ce billet.

Nous nous intéressons ici aux nouveautés concernant les frameworks WCF et WF, ainsi que l'outillage proposé par Visual Studio 2008 lui aussi disponible en version finale.

Nouveautés WCF et WF avec .Net 3.5

Côté protocoles :

  • WCF supporte des versions de spécifications WS-* supplémentaires : Web Services Atomic Transaction (WS-AtomicTransaction) 1.1, WS-ReliableMessaging 1.1, WS-SecureConversation, and Web Services Coordination (WS-Coordination) 1.1.

 

  • Les amateurs d'une stack de services plus orientée Web qu'Entreprise (j'entends par là l'utilisation exclusive du transport des messages via HTTP, ainsi que l'utilisation du protocole Web incarné par le vocabulaire GET, POST, PUT, DELETE) ne seront pas en REST.
    • Les attributs WebGet (HTTP GET) et WebInvoke(HTTP GET, POST, PUT, DELETE) peut maintenant être spécifiés au niveau de l'OperationContract

Côté formats :

 

  • WCF simplifie dorénavant la publication d'informations au format XML POX (XML sans enveloppe SOAP) et supporte nativement les formats d'échanges sur le Web, à savoir RSS, ATOM ainsi que JSON
    • Pour mettre en œuvre ces formats, on privilégiera le protocole HTTP via l'utilisation du WebHttpBinding, et l'attribut d'opération WebGet présenté précédemment

 

Côté composition :

 

  • WF peut maintenant être hébergé dans un hôte WCF, le WorkFlowServiceHost qui permet ainsi de déclencher un Workflow dès la réception d'un message sur un point d'exposition WCF. Il s'agit donc de démarrer un WorkFlow depuis une réception TCP, Pipe Nommé, HTTP, MSMQ voir SAP ou SIBEL en ayant recours au BizTalk Adapter Pack ou encore via JMS via le connecteur proposé par JNBridge.
  • Par ailleurs, un workflow WF peut désormais invoquer des services externes via WCF.

 

Côté consommation :

 

  • Le support de JSON permet à WCF d'être positionné comme un fournisseur de données pour les technologies AJAX, dont les applications Web ASP.Net AJAX.

 

Pour aller plus loin, je vous recommande ces trois livres blanc de David Chappell :

  • Introducing_WCF_in_NET_Framework_35_v1.doc : remarquable introduction à WCF.
  • WCF_Diversity_Paper_v1.doc : entre dans l'architecture de WCF, à réserver à un public averti. Introduction au WCF LOB Adapter Pack et aux bindings associés à la communication vers les BizTalk Services (Connectivité / Relais et Identité)
  • Introducing_WF_in_NET_Framework_35_v1.doc : remarquable introduction à WF.

 

 

Les bénéfices apportés par Visual Studio 2008

 

Visual Studio 2008 constitue la première version d'un environnement packagé pour des développements WCF et WF, au bénéfice de la productivité et de l'industrialisation.

 

Parmi les nouveautés VS2008, vous apprécierez la possibilité de tester vos services sans passer par la création de host. VS2008 se charge de créer un host pour vous avec exploration des méta-données et soumission de messages (requêtes / réponses).

 

Le designer WF permettant de déclencher l'invocation du workflow sur réception d'un message est aussi intéressant quoiqu'un peu complexe à prendre en main (avec un effet désagréable un peu boîte noire)

 

 

Configurations de développement

 

Dans les mois qui viennent, les technologies reposant sur le framework .Net 3.5 et Visual Studio 2008 s'aligneront sur ces dernières versions. En attendant, vous devrez maintenir 2 configurations si vous utilisez BizTalk ou bien la Service Software Factory :

 

  • .Net 3.5 / VS 2008 : permet de développer des projets .Net 2.0, 3.0 et 3.5
    • Attention, possibilité d'upgrader un projet VS2005 en VS2008, mais pas l'inverse

 

  • .Net 3.0 / VS2005 : permet de développer des projets .Net 2.0 et 3.0 (via des extensions à VS2005)
    • BizTalk 2006 R2 requiert VS2005 (pas de date de support de VS2008 annoncé), ainsi que l'ESB Guidance par voie de conséquence
    • La Service Software Factory repose sur le SDK de VS2005 (on devrait disposer d'un support de VS2008 pour le premier trimestre 2008 - dixit Don Smith à la conférence SOA & BPM)