250 likes | 397 Views
Windows Communication Foundation (WCF). Mocanasu Nicolae 342 C5. Ce este WCF?. Windows Communication Foundation (WCF) este un kit de dezvoltare software pentru dezvoltarea şi implementarea unor servicii pe Windows.
E N D
Windows Communication Foundation(WCF) Mocanasu Nicolae 342 C5
Ce este WCF? • Windows Communication Foundation (WCF) este un kit de dezvoltare software pentru dezvoltarea şi implementarea unor servicii pe Windows. • WCF oferă un mediu de execuţie pentru serviciile noastre, fiind un Common Language Runtime (CLR) pentru servicii care ne permite sa folosim atat serviciile noastre ca servicii Windows cat si alte servicii Windows. • Prin urmare, WCF oferă interoperabilitate între servicii.
Servicii • Serviciul este o unitate de funcţionalitate expusa lumii. În această privinţă, este urmatorul pas al evoluţiei, de la funcţiila obiecte la componente la servicii. • Serviciile pot fi locale sau la distanţă, pot fi dezvoltate de mai multe persoane folosind orice tehnologii, pot fi versiuni independente, si se pot executa chiar si pe termene diferite. În interiorul unui serviciu, veţi găsi concepte cum ar fi limbaje, tehnologii, platforme, versiuni, şi cadre, dar între servicii sunt permise numai modelele standart de comunicare .
Clienti vs. Servicii • Clienţii şi serviciile interacţionează prin trimiterea şi primirea de mesaje. • Mesajele pot fi transferate direct de la client la serviciu, sau pot fi trimise printr-un intermediar. Cu WCF, mesajele sunt de obicei mesaje SOAP. Aceste mesaje sunt independente de protocoale de transport, serviciile WCF pot comunica printr-o varietate de protocoale de transport (nu doar HTTP). clientii WCF pot interopera cu servicii non-WCF, si serviciile WCF pot interactiona cu clientii non-WCF. Acesteafiind spuse, în cazul în care se va dezvolta atât clientul, cât şi serviciul,se poate construi o aplicatie, astfel încât ambele capete sa utilizeze avantaje specifice WCF.
Servicii • WCF permite clientului sa comunice cu un serviciu în toate limitele de executie. Pe aceeaşi maşină, clientul poate consuma servicii în acelasi domeniu sau în domenii diferite în cadrul aceluiaşi proces, sau între procese diferite.
Servicii • Clientul poate interacţiona cu serviciile sale local sau pe Internet.
Adrese • În WCF, fiecare serviciu este asociat cu o adresa unica. Adresa oferă două elemente importante: locul de serviciu, şi protocolul de transport, sau schema de transport, utilizate pentru a comunica cu serviciul. Partea cu locaţia adresei indică numele de masina tinta, site-ul, sau reţeaua, un port de comunicaţie, canal, sau coadă, sau URI (Universal Resource Identifier). Un URI poate fi orice şir unic, cum ar fi numele serviciului sau un identificator unic global (GUID). • WCF suporta urmatoarele protocoale de transport : • HTTP • TCP • Peer network • IPC (Inter-Process Communication) • MSMQ • Adresa de bază este întotdeauna în acest format: • [transport]://[machine or domain][:optional port] • Exemple de adrese : • http://localhost:8001 • http://localhost:8001/MyService net.tcp://localhost:8002/MyService net.pipe://localhost/MyPipe net.msmq://localhost/private/MyQueue net.msmq://localhost/MyQueue
Contracts • Contractul este o modalitate de a descrie ceea ce face serviciul. WCF defineşte patru tipuri de contracte: • Message contracts Permite serviciilorsa interacţioneze direct cu mesajele • Fault contracts Defineste care erori sunt prinse de serviciu, şi modul în care serviciul utilizeaza şi propaga erorile clientilor sai. • Service contracts Descrie operaţiunile pe care clientul le poate efectua pe un serviciu. • Data contracts Defineste tipuri de date care sunt transmise la şi de la serviciu. WCF defineşte pentru contractetipuri implicite, cum ar fi int si string, dar se pot defini cu uşurinţă explicit tipurile personalizate.
Hosting • Principalul avantaj al unui serviciu de hosting în serverul de web Microsoft IIS este că procesul gazdă este lansat automat la cererea clientului şi se bazeaza pe IIS 5 / 6 pentru a gestiona ciclul de viaţă al procesului gazdă. Principalul dezavantaj al IIS 5 / 6 hosting este că putem folosi doar HTTP. Cu IIS 5, suntem în continuare limitati la un singur port pentru toate serviciile. • Exemplu fisier .svc: <%@ ServiceHost Language = "C#" Debug = "true" CodeBehind = "/App_Code/MyService.cs" Service = "MyService“ %> • Fisierul de configurare(Web.Config): • <system.serviceModel> • <services> • <service name ="MyNamespace.MyService"> ... • </service> • </services> • </system.serviceModel>
Servicii WEB • Un serviciu web este un software care se pune la dipoziție pe Internet și care folosește un sistem de mesaje standardizat bazat pe XML. Trebuie să existe mecanisme simple de a găsi un serviciu și interfața publică a acestuia. • Aplicațiile software scrise în limbaje de programare diferite și care rulează pe diverse platforme pot folosi serviciile Web pentru a face schimb de date pe rețea (Internet), într-o manieră oarecum asemănătoare comunicării inter-procese pe un singur calculator. Interoperabilitatea se datorează folosirii unor standarde publice adecvate. • In cele ce urmeaza o sa prezint utilizarea unor astfel de servicii pe o solutie WMS .
Aplicabilitate • Modulul BO (Back Office) ruleaza pe calculatoarele cu sisteme de operare Winows Xp,Vista sau Windows 7 avand roluri de administrare, introducere comenzi, monitorizare activitati si raportare.
Recapitulare • WCF = Common Language Runtime (CLR) pentru servicii. • Serviciile pot fi locale sau la distanţă. • Serviciile pot fi dezvoltate de mai multe persoane folosind orice tehnologii. • Interacţionează prin trimiterea şi primirea de mesaje XML.