1. előadás wcf- bemutatás

Post on 22-Feb-2016

44 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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? - PowerPoint PPT Presentation

TRANSCRIPT

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-en vagy lehet konzol alkalmazás

vagy Self Host

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 Queued Messages 

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 Workflow Foundation – 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,• infrastructure endpoint – 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

WCF architektúra jellemzők

WCF architektúra ábra

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")]public interface ICalculatorService{

[OperationContract]double Add(double a, double b);[OperationContract]double Mul(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 - Message Contract• 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.

• Error Behavior – Specifikálja mi történjen hiba bekövetkezése esetén

• Metadata Behavior – Milyen meta adatok érhetők el és hogyan

• Transaction Behavior – hiba esetén engedélyezi a tranzakció visszavonását

• Dispatch Behavior – az üzenetek feldolgozását irányítja

HOSTING• Self-hosted service: a szolgáltatás egy ‚process

application’-ben fut• IIS vagy Windiws Activation Service• Mauális futtatás futtatható (.exe) fájlként

WCF architektúra• Három réteg:

• Programming model• Service model• Channel model

WCF architektúra

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.

Autó kölcsönző

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?

WCF!

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

Milyen technológiákat egyesít a WCF

WCF kommunikációja más web szolgáltatásokkal, alkalmazásokkal

WCF által implementált szabványok

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:

Kliens Szolgáltatás

EndpointEndpoint

C B AABC

Ü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?

Channel stack

Applikáció

Protocol channel

Protocol channel

Protocol channel

Transport channel

Channel stack

Szolgáltatás

Protocol channel

Protocol channel

Protocol channel

Transport channel

Hogyan készítsünk szolgáltatás WCF segítségével?

Channel stack

Tranzakció

Reliable Massage

WS-Sec

HTTP

Channel stack

Szolgáltatás

Tranzakció

Reliable Massage

WS-Sec

HTTP

Applikáció

Móricka példa• Számológépes példa

top related