470 likes | 595 Views
1. Előadás WCF- bemutatás. Készítette: Takács Imre. Miről lesz szó?. Mi a WCF? Milyen lehetőségek vannak a WCF-ben ? Szolgáltatás architektúra WCF architektúra bemutatása Összehasonlítás más rendszerekkel Az első WCF szolgáltatás elkészítése. Bevezetés. Mi a WCF? Mire jó a WCF?
E N D
1. ElőadásWCF- bemutatás Készítette: Takács Imre
Miről lesz szó? • Mi a WCF? • Milyen lehetőségek vannak a WCF-ben? • Szolgáltatás architektúra • WCF architektúra bemutatása • Összehasonlítás más rendszerekkel • Az első WCF szolgáltatás elkészítése
Bevezetés • Mi a WCF? • Mire jó a WCF? • Milyen konkrét szolgáltatásokhoz használható? • Miért is jött létre?
Windows Communication Foundation • Mi ez?– KERETRENDSZER • Mire használhatjuk? - SZOLGÁLTATÁS ORIENTÁLT ALKALMAZÁSOK ÉPÍTÉSÉRE • Két szolgáltatás végpont közötti üzenetváltás • Szolgáltatás lehet IIS-envagy lehet konzol alkalmazás vagy SelfHost
Ha WCF-et használsz, képes vagy, • - adatokat küldeni aszinkron üzenetek formájában két végpont (endpoint) között, • - az üzenet lehet karakter, szó XML formátumban • - lehet egy bináris adat stream Fontos, hogy nem csak SOA készíthető (pl.:P2P), és a kommunikáció nem csak XML lehet
Néhány szolgáltatás I. • Biztonságos szolgáltatás üzleti tranzakciók végrehajtásához. • Valós idejű adatok szolgáltatása pl.: közlekedési adatok vagy monitor szolgáltatás • Chat szolgáltatás, kommunikációhoz vagy adatcseréhez valós időben.
Példa konkrét szolgáltatásra II. • Több szolgáltatásról adatok nyilvántartása és prezentációja. • Egy workflow implementációja (WF) mint WCF szolgáltatás.
Egy szép mondat… • A válasz a MIÉRT-re: • WCF is designed to offer a manageable approach to creating Web services and Web service clients. • Az endpoint-ok fejlesztése könnyebbé vált mint eddig valaha. - ezt kell eldönti a fél év végére
WCF részletesebb bemutatása • Milyen alapvető jellemzői vannak? • Milyen más MS termékekből építkezik? • Milyen alapfogalmak szükségesek a megértéshez?
A WCF jellemzői I. • Szolgáltatás orientált • Együttműködés • Többféle üzenet minta • Szolgáltatás leírók publikálása
A WCF jellemzői II. • Contracts • Biztonságos • Többféle üzenet átviteli lehetőség • Megbízható és QueuedMessages
A WCF jellemzői III. • Tartós üzenetek • Tranzakciók • AJAX és REST támogatás • Kiterjeszthetőség, kibővíthetőség
WCF kapcsolata más MS termékekkel • A WCF megértéséhez szükséges még további MS termékek ismeret: • Windows WorkflowFoundation – az alkalmazások vezérfonala • BizTalk Server R2 – kommunikációs alapok • Silverlight • .NET szolgáltatások • Windows Server AppFabric – direkt a WCF-hez kifejlesztett
WCF alapok I. • Üzenetek • A WCF az üzenet-központú kommunikáción nyugszik. • Kliens kommunikáció – kezdeményeznek • Szolgáltatás kommunikáció – várnak egy kliensre • Egy alkalmazás viselkedhet kliensként és szolgáltatásként is.
WCF alapok II. • Végpontok • Az üzenetek küldése mindig két végpont között történik. • A végpontok olyan helyek ahol üzeneteket küldünk vagy fogadunk vagy mindkettő és rendelkezésre áll minden információ az üzenetek kicseréléséhez. • Egy szolgáltatás több végponttal rendelkezik, egy kliensnek legalább egy végpontja van, amely kompatibilis valamely szolgáltatás végpontjával. • Egy végpont tartalmazza a következő információkat: • Hova kell üzenetet küldeni • Hogyan kell küldeni • Hogyan néz ki az üzenet
WCF alapfogalmak I. • Üzenet, szolgáltatás, végpont, • alkalmazás végpont – alkalmazásnak van, • infrastructureendpoint– segítik a használatot pl.: meta adatokat szolgáltatnak a szolgáltatásról, • Cím- hova kell küldeni az üzenetet (URI) • Kötés- hogyan kommunikál egy végpont a világgal
WCF alapfogalmak II. • Kötési elem: a kötés része, transzport, kódolás • Szolgáltatás művelet (service operation): az eljárás ami a szolgáltatás kódot definiálja. • Hosting • Példányosítás: single, per call, per session
WCF alapfogalmak III. • Channel: a binding konkrét megvalósítása • Szolgáltatás szerződés: szolgáltatás interfész leírás, milyen műveleteket támogat a szolgáltatás • Műveleti szerződés: művelet paramétere és visszatérési értéke • Üzenet szerződés: az üzenet formáját írja le (pl.: biztonsági szint) • Hiba szerződés: meghatározza mi történjen hiba esetén
Contracts – Szerződések I. • Szolgáltatás szerződés – Service Contract • Leírja, hogy a szolgáltatás milyen műveleteket támogat. • Interfész [ServiceContract(Namespace ="http://mkk.hu/helloindigofoundition/2006")] publicinterfaceICalculatorService { [OperationContract] double Add(double a, double b); [OperationContract] doubleMul(double a, double b); }
Contracts – Szerződések II. • Adat szerződés – Data Contract • Definiálja az adatok típusát. • Pl.: egy Ember típusú adatot, amit mi hoztunk létre, bele kell foglalni a szerződésbe, felkészítve a klienst annak a fogadására.
Contracts – Szerződések III. • Üzenet szerződés - MessageContract • Default a SOAP üzeneteken történő kommunikáció, ha ez nem felel meg nekünk akkor készíthetünk saját üzenet formátumot. • Ennek a formátumnak a megadásához szükséges az üzenet szerződés.
Contracts – Szerződések IV. • Policies and Binding • Kommunikációs feltételeket határozza meg. • Pl.: biztonsági követelmények
Service runtime I. • ErrorBehavior – Specifikálja mi történjen hiba bekövetkezése esetén • MetadataBehavior – Milyen meta adatok érhetők el és hogyan • TransactionBehavior – hiba esetén engedélyezi a tranzakció visszavonását • DispatchBehavior – az üzenetek feldolgozását irányítja
HOSTING • Self-hosted service: a szolgáltatás egy ‚processapplication’-ben fut • IIS vagy WindiwsActivation Service • Mauális futtatás futtatható (.exe) fájlként
WCF architektúra • Három réteg: • Programmingmodel • Service model • Channelmodel
WCF architektúra • Programozói réteg: különböző szolgáltatások, melyekből felépíthetjük saját szolgáltatásunkat. • Szolgáltatás réteg: szerződéseket és futás idejű viselkedést meghatározó leírásokat tartalmazza. • Channel réteg: az adatok formátumát, a használt protokollokat és átvitel, üzenetküldés módját biztosítja.
Egy probléma illusztrálása I.Autó kölcsönző • Egy autókölcsönző cég készíteni akar egy új szolgáltatást, melyen keresztül egy autót le lehet foglalni. A lefoglaló szolgáltatást mind cégen belül, mind cégen kívül szeretnék elérhetővé tenni. Ezért úgy határoznak, hogy Szolgáltatás Orientált módon készítik ezt el.
Egy probléma illusztrálása II.Autó kölcsönző • Problémák: • Cégnél Windows-os környezetet használnak • A meglévő külső lefoglaló alkalmazás Java platformon készült • A partner cég alkalmazása egy másfajta platformon fut
Egy probléma illusztrálása III.Autó kölcsönző • A különböző kommunikációs igények az új autó lefoglaló rendszer elkészítését eléggé megnehezítik a feladatot. • Interakció a call centerrel • A teljesítmény elsődleges • Interneten keresztüli kommunikáció Mi lehet a megoldás?
A probléma kézbentartása WCF alapú kliensek és szolgáltatások bármely Windows környezetben futhatnak
A probléma kézbentartása II. • A három legfontosabb WCF tulajdonság: • Egyesíti az eredeti .NET Keretrendszer kommunikációs technológiát • Különböző technológiájú alkalmazások számára elérhető • Alapvető a szolgáltatás orientáltság
WCF kommunikációja más web szolgáltatásokkal, alkalmazásokkal
WCF által implementált szabványok II. • WS- Security: egy nagyon rugalmas és funkciókban gazdag kiegészítése a SOAP-nak, amellyel a WS-ek biztonságát határozhatjuk meg. • WS-Trust: az előző kibővítése, kialakít egy megbízhatósági modell keretet a web-szolgáltatások biztonságos együttműködésére.
WCF által implementált szabványok II. • WS-Policy : webes alkalmazások használati szabályainak közzététele. • WS-Adressing : egy átvitel-semleges módszer WS-ek közötti címzési információk cseréjére. • Végpont referencia • Címzési tulajdonságok
WCF által implementált szabványok IV. • WS-Cordination: koordinációs keretrendszert biztosít, a tranzakciók irányítására. • WSDL, WS- Adressing, WS-Policy
Hogyan készítsünk szolgáltatást WCF segítségével? • Szolgáltatások kommunikációja: Szolgáltatás Kliens Endpoint ABC C B A Endpoint Üzenetek
Hogyan készítsünk szolgáltatást WCF segítségével? • Adress – a végpont címe (Hol?) • Contract – szerződés (Mit?) • Binding – kötés (Hogyan?) • MINDEN VÉGPONT EZT A HÁROM DOLGOT FOGJA ÖSSZE!
Hogyan készítsünk szolgáltatás WCF segítségével? Applikáció Szolgáltatás Protocolchannel Protocolchannel Protocolchannel Protocolchannel Protocolchannel Protocolchannel Transportchannel Transportchannel Channelstack Channelstack
Hogyan készítsünk szolgáltatás WCF segítségével? Applikáció Szolgáltatás Tranzakció Tranzakció ReliableMassage ReliableMassage WS-Sec WS-Sec HTTP HTTP Channelstack Channelstack
Móricka példa • Számológépes példa