From Wikipedia, the free encyclopedia
Windows Communication Foundation (skraćeno WCF), ranije nazivan Indigo, je servisno orijentisani model razmene poruka, koji omogućava programima da komuniciraju preko računarske mreže ili lokalno, na sličan način na koji se povezuju i veb servisi[1]. WCF je alat koji u sebi uključuje set biblioteka razvijenih za distribuirano programiranje[2]. Microsoft ga je uveo sa verzijom .NET Framework 3.0
WCF je alat često korišćen za implementaciju i razvijanje servisno orijentisane arhitekture (SOA Service Oriented Architecture). Dizajniran je da podrži razvoj distribuiranih sistema tamo gde servisi imaju udaljene potrošače (klijente). Klijenti mogu da koriste servise tako da jedan servis može upotrebljavati više klijenta. Karakteristika servisa je da je sastavljen od celina čije su komponente labavo povezane (loosely coupled). Uobičajeno je da su servisi opisani preko WSDL jezika (Web Service Descritpion Language) koji bilo koji klijent može da upotrebi kako bi uspostavio vezu sa servisom, bez obzira na kojoj se platformi nalazi klijentska aplikacija. WCF je u svoju implementaciju preneo dosta postojećeg od veb servisa. Sa pojavom verzije .NET Framework 4.0, WCF podržava RSS servise, WS-Discovey rutiranje i bolju podršku za REST servise od prethodnih verzija.
Klijentska WCF aplikacija se povezuje sa WCF servisom preko krajnje tačke. Svaki servis ima izložen ugovor preko jedne ili više definisanih krajnjih tačaka. Krajnja tačka je opisana adresom (URL koji specificira na kojoj adresi se nalazi krajnja tačka - address), načinom povezivanja (binding) koji spiecifikuje protokol koji će da se koristi za prenos podataka, kao i ugovorom (contract), koji predstavlja interfejs koji sadrži informacije o funkcijama koje su na raspolaganju klijentskim aplikacijama.
Mnemonička oznaka "ABC" se koristi radi lakšeg pamćenja za opis krajnje tačke - Address, Binding, Contract. Povezivanje (binding) određuje koji komunikacioni protokol se koristi za pristupanje servisu, da li će biti korišćen neki siguran protokol i slično. WCF tehnologija uključuje predefinisana povezivanja za najčešće upotrebljivane komunikacione protokole kao što su SOAP preko HTTP, TCP, MSMQ itd. Interkacija između WCF krajnje tačke i klijenta je urađena preko SOAP protokola (omotača). SOAP omotnice su XML formatirani dokument koji čine WCF nezavisnim od platforme. Kada klijent želi da pozove servis preko krajnje tačke, osim ugovora potrebno je i da bude povezan sa servisom preko protokola koji je određen krajnjom tačkom. Prema tome, klijent i server moraju imati kompatibilne krajnje tačke.
Sa pojavom .NET Framework 3.5 novembra 2007, Miscrosoft je podržao serijalizaciju JSON formata, što je omogućilo WCF servise dostupne pozivima iz veb aplikacija koje koriste AJAX tehnologuju korišćenjem JSON notacije.
Preko svojstva ponašanja moguće je izmeniti ili proširiti servis ili funkcionalnost klijenta. Ponašanja dozvoljavaju programerima da kreiraju korisnički definisano procesiranje poruka ili transformaciju koja je primenjena na poruke koje su poslate ili primljene. Neki primeri korišćenja ponašanja su sledeći:
Ponašanja implementiraju interfejs IServiceBehavior
za proširenja servisa, IEndpointBehavior
za proširenje krajnjih tačaka, IContractBehavior
za ugovore ili IOperationBehavior
za operacije. Servisna ponašanja su korišćenja za procesiranje poruka kroz čitav servis, kako procesiranje ne bi bilo specifično pojedinačno za operacije.
Jedna od osnovnih prednosti WCF je interoperabilnost. WCF aplikacije mogu da komuniciraju sa aplikacijama razvijenim u različitim programskim jezicima, tehnologijama i na različitim platformama.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.