Co je to Windows Communication Foundation
Windows Communication Foundation (WCF) je architektura pro vytváření aplikací orientovaných na služby. Pomocí WCF můžete odesílat data jako asynchronní zprávy z jednoho koncového bodu služby do jiného. Koncový bod služby může být součástí nepřetržitě dostupné služby hostované službou IIS nebo může být služba hostovaná v aplikaci. Koncový bod může být klientem služby, která požaduje data z koncového bodu služby. Zprávy můžou být stejně jednoduché jako jeden znak nebo slovo odeslané jako XML nebo složité jako datový proud binárních dat. Mezi ukázkové scénáře patří:
Zabezpečená služba pro zpracování obchodních transakcí.
Služba, která poskytuje aktuální data ostatním, například sestavě provozu nebo jiné monitorovací službě.
Chatovací služba, která umožňuje dvěma lidem komunikovat nebo vyměňovat data v reálném čase.
Aplikace řídicího panelu, která dotazuje jednu nebo více služeb na data a prezentuje je v logické prezentaci.
Zveřejnění pracovního postupu implementovaného pomocí windows Workflow Foundation jako služby WCF
Vytváření takových aplikací bylo možné před existenci WCF, wcf usnadňuje vývoj koncových bodů než kdy dřív. V souhrnu je SLUŽBA WCF navržená tak, aby nabízela spravovatelný přístup k vytváření webových služeb a klientů webových služeb.
gRPC jako alternativa k WCF
gRPC je moderní architektura RPC, která je oblíbenou alternativou wcf. GRPC je postaven na http/2, která poskytuje řadu výhod oproti WCF, včetně:
- Výkon: gRPC je mnohem efektivnější než WCF, zejména pro dlouhotrvající připojení.
- Škálovatelnost: GRPC je navržená tak, aby se škáluje na velký počet klientů a serverů.
- Zabezpečení: gRPC podporuje celou řadu mechanismů zabezpečení, včetně protokolu TLS a ověřování.
- Multiplatformní: gRPC je platformově neutrální a dá se použít s různými programovacími jazyky.
Další informace o vývoji nebo migraci aplikací WCF do gRPC najdete tady:
Funkce WCF
WCF obsahuje následující sadu funkcí. Další informace najdete v tématu Podrobnosti o funkcích WCF.
Orientace služby
Jedním z důsledků použití standardů WS je, že WCF umožňuje vytvářet aplikace orientované na služby. Architektura zaměřená na služby (SOA) je závislá na webových službách při odesílání a přijímání dat. Služby mají obecnou výhodu, že jsou volně svázané místo pevně zakódované z jedné aplikace do druhé. Volně propojený vztah znamená, že každý klient vytvořený na jakékoli platformě se může připojit k jakékoli službě, pokud jsou splněny základní kontrakty.
Vzájemná funkční spolupráce
WCF implementuje moderní oborové standardy pro interoperabilitu webových služeb. Další informace o podporovaných standardech najdete v tématu Interoperabilita a integrace.
Více vzorů zpráv
Zprávy se vyměňují v jednom z několika vzorů. Nejběžnějším vzorem je model žádosti a odpovědi, kdy jeden koncový bod požaduje data z druhého koncového bodu. Druhý koncový bod odpoví. Existují i jiné vzory, jako je jednosměrná zpráva, ve které jeden koncový bod odesílá zprávu bez očekávání odpovědi. Složitější vzor je model duplexní výměny, kde dva koncové body navazují připojení a odesílají data zpátky, podobně jako v programu pro zasílání rychlých zpráv. Další informace o implementaci různých vzorů výměny zpráv pomocí WCF naleznete v tématu Kontrakty.
Metadata služby
WCF podporuje publikování metadat služby pomocí formátů zadaných v oborových standardech, jako jsou WSDL, schéma XML a WS-Policy. Tato metadata lze použít k automatickému vygenerování a konfiguraci klientů pro přístup ke službám WCF. Metadata je možné publikovat prostřednictvím protokolu HTTP a HTTPS nebo pomocí standardu Exchange metadat webové služby. Další informace najdete v tématu Metadata.
Kontrakty dat
Vzhledem k tomu, že WCF je sestaven pomocí rozhraní .NET Framework, obsahuje také metody popisné pro kód pro poskytování kontraktů, které chcete vynutit. Jedním z univerzálních typů kontraktů je kontrakt dat. Při kódování služby pomocí jazyka Visual C# nebo Visual Basic je nejjednodušší způsob zpracování dat vytvořením tříd, které představují datovou entitu s vlastnostmi, které patří k datové entitě. WCF zahrnuje komplexní systém pro práci s daty tímto snadným způsobem. Jakmile vytvoříte třídy představující data, služba automaticky vygeneruje metadata, která klientům umožní dodržovat datové typy, které jste navrhli. Další informace najdete v tématu Použití kontraktů dat.
Zabezpečení
Zprávy můžou být zašifrované, aby chránily ochranu osobních údajů a vy můžete vyžadovat, aby se uživatelé ověřili, než budou moct přijímat zprávy. Zabezpečení lze implementovat pomocí dobře známých standardů, jako je SSL nebo WS-SecureConversation. Další informace najdete v tématu Zabezpečení.
Více přenosů a kódování
Zprávy je možné odesílat na libovolný z několika předdefinovaných přenosových protokolů a kódování. Nejběžnějším protokolem a kódováním je odesílání textových kódovaných zpráv SOAP pomocí protokolu HTTP (HyperText Transfer Protocol) pro použití na webu. Wcf také umožňuje odesílat zprávy přes protokol TCP, pojmenované kanály nebo MSMQ. Tyto zprávy mohou být kódovány jako text nebo pomocí optimalizovaného binárního formátu. Binární data je možné efektivně odesílat pomocí standardu MTOM. Pokud žádný z poskytnutých přenosů nebo kódování nevyhovuje vašim potřebám, můžete vytvořit vlastní přenos nebo kódování. Další informace o přenosech a kódováních podporovaných wcf naleznete v tématu Přenosy.
Spolehlivé a zařazené zprávy do fronty
WCF podporuje spolehlivou výměnu zpráv pomocí spolehlivých relací implementovaných přes WS-Reliable Messaging a pomocí MSMQ. Další informace o podpoře spolehlivého zasílání zpráv a zasílání zpráv ve frontách ve službě WCF naleznete v tématu Fronty a spolehlivé relace.
Trvalé zprávy
Odolná zpráva je zpráva, která se nikdy neztratí kvůli přerušení komunikace. Zprávy v odolném vzoru zpráv se vždy ukládají do databáze. Pokud dojde k přerušení, databáze vám umožní obnovit výměnu zpráv při obnovení připojení. Pomocí windows Workflow Foundation (WF) můžete také vytvořit odolnou zprávu. Další informace naleznete v tématu Služby pracovního postupu.
Transakce
WCF také podporuje transakce využívající jeden ze tří transakčních modelů: WS-AtomicTransactions, rozhraní API v oboru názvů a koordinátor distribuovaných System.Transactions transakcí společnosti Microsoft. Další informace o podpoře transakcí ve WCF naleznete v tématu Transakce.
Podpora AJAX a REST
Rest je příkladem vyvíjející se technologie Web 2.0. WCF lze nakonfigurovat tak, aby zpracovávala "prostý" data XML, která nejsou zabalena do obálky SOAP. WCF lze také rozšířit tak, aby podporoval konkrétní formáty XML, jako je ATOM (oblíbený standard RSS), a dokonce i formáty bez XML, jako je JavaScript Object Notation (JSON).
Rozšiřitelnost
Architektura WCF má řadu bodů rozšiřitelnosti. Pokud je vyžadována další funkce, existuje řada vstupních bodů, které umožňují přizpůsobit chování služby. Další informace o dostupných bodech rozšiřitelnosti naleznete v tématu Rozšíření WCF.
Integrace WCF s jinými technologiemi Microsoftu
WCF je flexibilní platforma. Kvůli této extrémní flexibilitě se WCF používá také v několika dalších produktech Microsoftu. Pochopením základů WCF máte okamžitou výhodu, pokud používáte také některý z těchto produktů.
První technologií, která se má spárovat s WCF, byla WF (Windows Workflow Foundation). Pracovní postupy zjednodušují vývoj aplikací zapouzdřením kroků v pracovním postupu jako "aktivity". V první verzi Windows Workflow Foundation musel vývojář vytvořit hostitele pro pracovní postup. Další verze Windows Workflow Foundation byla integrovaná se službou WCF. To umožnilo snadno hostovat jakýkoli pracovní postup ve službě WCF. Můžete to provést tak, že automaticky zvolíte typ projektu WF/WCF v sadě Visual Studio 2012 nebo novějším.
Microsoft BizTalk Server R2 také využívá WCF jako komunikační technologii. BizTalk je navržený tak, aby přijímal a transformoval data z jednoho standardizovaného formátu na jiný. Zprávy musí být doručeny do centrálního pole zprávy, kde je možné zprávu transformovat buď pomocí striktního mapování, nebo pomocí některé z funkcí BizTalk, jako je jeho modul pracovního postupu. BizTalk teď může k doručování zpráv do pole zprávy použít adaptér OBCHODNÍ (WCF Line of Business).
Funkce hostování aplikačního serveru Windows Server AppFabric jsou speciálně navržené pro nasazení a správu aplikací, které používají WCF ke komunikaci. Funkce hostování zahrnují bohaté možnosti nástrojů a konfigurace speciálně navržené pro aplikace s podporou WCF.