User:Dragans nrtd/sandbox

Windows Communication Foundation
Windows Communication Foundation (skraćeno WCF), ranije nazivan Indigo, je servisno orijentisani sistem 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. WCF je alat koji u sebi uključuje set biblioteka razvijenih za distribuirano programiranje. Microsoft ga je uveo sa verzijom .NET Framework 3.0

Arhitektura
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 su komponente koje su labavo povezane (loosely coupled) celine. Uobi;ajeno je da su servisi su povezani preko WSDL opisnog 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, kao što su WS-ad..... Sa pojavom frejmvorka 4.0, WCF podržava RSS servise, WS-Discoveru, rutiranje i bolju podršku za REST servise

Krajnje tačke (endpoints)
Klijentska WCF aplikacija se povezuje sa WCF servisom preko krajnje tačke. Svaki servis ima izložen ugovor preko jednog ili više endpointa. Krajnja tačka se predstavlja preko adrese (URL koji specificira kako dospeti do endpointa), povezivanja koje spiecifikuje na koji način će se podaci prenositi.

Mnemonička oznaka "ABC" se može koristiti radi lakšeg pamćenja za opis krajnje tačke - Address, Binding, Contract. Binding određuje koji komunikacioni protokol se korist 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, TCO, MSMQ itd. Interkacija između WCF endpointa i klijenta je urađena preko SOAP omotača. SOAP omotnice su XML formatirani dokument koji čine WCF nezavisnim od platforme. Kakda klijent želi da pozove servis preko krajnje tačke, osim ugovora potrebni je i da se ČVRSTO DRŽi povezivanja koje je određeno endpointom. Prema tome, klijent i server moraju imato kompatibilne krajnje tačke.

Sa pojavom .NET Framework 3.5 novembra 2007., Miscrosoft je izdao enkoder koji podržava serijalizaciju JSON formata, što je omogućilo WCF servise dostupne pozivima iz veb stranica koje koriste AJAX tehnologuju koja koristi JSON notaciju.

Ponašanja
Preko svojstva pona[anja mogu'e je izmeniti ili proširiti servis ili funkcionalnost klijenta. Behaviors dozvoljavaju programerima da kreijarju korisisnički processig, transformaciju ili insq	 koja je primenjena na poruke koje su poslate ili primeljeene. Neki primeri korišćenja ponašanja su sledeći:

Kontrolisanje da li će metapodacij da budu objavljeni sa servisom. Dodavanje sigfurnosnih mehanizama servisu, kao što je impersonacija, autorizacija ili tokeni. Snimanje informacija o porukama kao što je praćenje ili logovanje Validacija poruke ili parametara Uključivanje svih dodatnih operacija kada je poruka primenjena -- kao što je notifikovanje korisnika da je određena poruka primljne.

Ponašanja implementiraju interfejs IServideBehavior za proširenja servisa, IEndpointBehavior za proširenje krajnjih tačaka, IContractBehavior za servise ugovore ili IOperationBehavior za operacije. Servisna ponašanja su korišćenja za procesiranje poruka kroz servis, pre begi procesiranje koje bu bulo specifično za sigle operaciju.

Interoperabilnost
WCF podržava interoperabilnost sa WCF aplikacijama koje su pokrenute na istoj Windows mašini ili WCF koji se pokreće na drugoj Windows mašini.