Windows Communication Foundation

De la Wikipedia, enciclopedia liberă
Acest subsistem face parte din .NET Framework

Windows Communication Foundation (sau WCF) este un API din cadrul .NET Framework folosit pentru construcția aplicațiilor bazate pe servicii connected (SOA).

Arhitectura[modificare | modificare sursă]

WCF a fost proiectat în acord cu principiile SOA pentru implementarea programării distribuite, unde serviciile sunt consumate de către consumatori. Clienții pot consuma mai multe servicii, și serviciile pot fi, la rândul lor, consumate de mai mulți clienți. Serviciile sunt slab conectate între ele. De-obicei, serviciile oferă o interfață WSDL, pe care orice client WCF o poate folosi, pentru a consuma serviciul, indiferent de platforma pe care este găzduit sericiul. WCF implementează mai multe standarde avansate pentru servicii web, cum ar fi WS-Addressing, WS-ReliableMessaging și WS-Security. Odată cu lansarea .NET Framework versiunea 4.0, WCF oferă și servicii pentru utilizarea familiei de formate RSS (Really Simple Syndication).

Servicii[modificare | modificare sursă]

Un serviciu WCF este compus din 3 părți — o clasă Serviciu care implementează serviciul care va fi oferit, un mediu gazdă, pentru a găzdui seriviciul, și unul sau mai multe endpoints la care clienții se vor conecta. Toată comunicația cu serviciul WCF se derulează prin intermediul endpoint-urilor. Endpoint-urile specifică un Contract care definește care metode din clasa Serviciu vor fi accesibile prin intermediul endpoint-ului; fiecare endpoint poate expune un set diferit de metode. În concluzie, endpoint-urile definesc o legătură care specifică cum va comunica un client cu serviciul și adresa unde este găzduit endpoint-ul.

În Windows Vista, Windows Server 2008 și Windows 7 (sisteme de operare care încorporează IIS 7), Windows Activation Services poate fi folosit pentru a găzdui serviciul WCF. Alte posibilități pentru găzduirea serviciului WCF pot fi fie IIS, sau se poate autogăzdui în orice proces, folosind clasa ServiceHost, care este furnizată de către WCF. Un serviciu WCF auto-găzduit poate fi pus la dispoziție de către o aplicație-consolă, o aplicație Windows Forms, sau un serviciu Windows.

Endpoint-uri[modificare | modificare sursă]

Un client WCF se conectează la un serviciu WCF folosind un endpoint. Fiecare serviciu își expune contractele prin intermediul unuia sau mai multor endpoint-uri. Un endpoint are o adresă, care este un URL specificând unde poate fi accesat endpoint-ul, și parametrii de conexiune, care specifică transferul de date.

Prescurtarea "ABC" poate fi folosită pentru memorarea noțiunilor Address / Binding / Contract (Adresa / Conexiune / Contract). Conexiunea specifică ce protocoale de comunicare sunt folosite pentru accesarea serviciului, dacă anumite mecanisme de securitate sunt necesare, și alte informații similare. WCF include conexiuni predefinite pentru cele mai comune protocoale de comunicare, cum ar fi SOAP peste HTTP, SOAP peste TCP, și SOAP peste Message Queues, etc. Interacțiunea dintre endpoint-ul WCF și client este realizată folosind formatul SOAP.

Când un client dorește să acceseze serviciul prin intermediul unui endpoint, nu îi este suficientă doar cunoașterea contractului, ci mai este necesară și acceptarea tipului de legătură, specificată de endpoint. Deci atât clientul, cât și serverul trebuie să aibă endpoint-uri compatibile.

Odată cu lansarea .NET Framework versiunea 3.5 din noiembrie 2007, Microsoft a lansat un encoder, ce îi oferă platformei WCF suportul necesar pentru formatul de serializare JSON [1]. Acest lucru le permite serviciilor dezvoltate utilizând WCF să răspundă și cererilor trimise de paginile web prin intermediul metodelor AJAX.

Adopție[modificare | modificare sursă]

Partenerii Microsoft suportă WCF. SAP livrează add-inuri la IDE-ul Visual Studio prin care se pot genera proxy-uri client-side WCF ce se conectează la sistemele SAP Enterprise. IBM produce un WCF Channel for MQ Arhivat în , la Wayback Machine.. Microsoft a livrat și The WCF Line of Business Adapter SDK pentru a permite programatorilor să creeze conectivitate pe baza lui WCF către practic orice sistem extern. WCF LOB Adapter SDK permite, de exemplu, lui JNBridge, să creeze un adaptor JMS pentru .NET.

Note[modificare | modificare sursă]

  1. ^ „AJAX Integration and JSON Support”. Microsoft. Accesat în . 

Vezi și[modificare | modificare sursă]

Additional Resources about WCF[modificare | modificare sursă]

  • Craig McMurtry, Marc Mercuri, and Nigel Watling: Microsoft Windows Communication Foundation: Hands-On, SAMS Publishing, May 26 2006, ISBN 0-672-32877-1
  • Steve Resnick, Richard Crane, Chris Bowen: Essential Windows Communication Foundation (WCF): For .NET Framework 3.5, Addison-Wesley, February 11 2008, ISBN 0-321-44006-4
  • Craig McMurtry, Marc Mercuri, Nigel Watling, Matt Winkler: Windows Communication Foundation Unleashed (WCF), Sams Publishing, March 6 2007, ISBN 0-672-32948-4
  • Juval Löwy: Programming WCF Services, O'Reilly Media, Inc., 20 februarie 2007, ISBN 0-596-526997

Legături externe[modificare | modificare sursă]