47
1. ELŐADÁS WCF- BEMUTATÁS Készítette: Takács Imre

1. Előadás WCF- bemutatás

  • Upload
    ford

  • View
    40

  • Download
    0

Embed Size (px)

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

Citation preview

Page 1: 1. Előadás WCF- bemutatás

1. ELŐADÁSWCF- BEMUTATÁS

Készítette: Takács Imre

Page 2: 1. Előadás WCF- bemutatás

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

Page 3: 1. Előadás WCF- bemutatás

Bevezetés• Mi a WCF?• Mire jó a WCF?• Milyen konkrét szolgáltatásokhoz használható?• Miért is jött létre?

Page 4: 1. Előadás WCF- bemutatás

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

Page 5: 1. Előadás WCF- bemutatás

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

Page 6: 1. Előadás WCF- bemutatás

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.

Page 7: 1. Előadás WCF- bemutatás

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.

Page 8: 1. Előadás WCF- bemutatá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

Page 9: 1. Előadás WCF- bemutatás

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?

Page 10: 1. Előadás WCF- bemutatás

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

Page 11: 1. Előadás WCF- bemutatás

A WCF jellemzői II.• Contracts

• Biztonságos

• Többféle üzenet átviteli lehetőség

• Megbízható és Queued Messages 

Page 12: 1. Előadás WCF- bemutatás

A WCF jellemzői III.• Tartós üzenetek

• Tranzakciók

• AJAX és REST támogatás

• Kiterjeszthetőség, kibővíthetőség

Page 13: 1. Előadás WCF- bemutatás

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

Page 14: 1. Előadás WCF- bemutatás

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.

Page 15: 1. Előadás WCF- bemutatás

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

Page 16: 1. Előadás WCF- bemutatás

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

Page 17: 1. Előadás WCF- bemutatás

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

Page 18: 1. Előadás WCF- bemutatás

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

Page 19: 1. Előadás WCF- bemutatás

WCF architektúra jellemzők

Page 20: 1. Előadás WCF- bemutatás

WCF architektúra ábra

Page 21: 1. Előadás WCF- bemutatás

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);

}

Page 22: 1. Előadás WCF- bemutatás

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.

Page 23: 1. Előadás WCF- bemutatás

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.

Page 24: 1. Előadás WCF- bemutatás

Contracts – Szerződések IV.• Policies and Binding

• Kommunikációs feltételeket határozza meg.• Pl.: biztonsági követelmények

Page 25: 1. Előadás WCF- bemutatás

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

Page 26: 1. Előadás WCF- bemutatás

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

Page 27: 1. Előadás WCF- bemutatás

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

• Programming model• Service model• Channel model

Page 28: 1. Előadás WCF- bemutatás

WCF architektúra

Page 29: 1. Előadás WCF- bemutatás

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.

Page 30: 1. Előadás WCF- bemutatás

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.

Page 31: 1. Előadás WCF- bemutatás

Autó kölcsönző

Page 32: 1. Előadás WCF- bemutatás

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

Page 33: 1. Előadás WCF- bemutatás

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?

Page 34: 1. Előadás WCF- bemutatás

WCF!

Page 35: 1. Előadás WCF- bemutatás

A probléma kézbentartása

WCF alapú kliensek és szolgáltatások bármely Windows környezetben futhatnak

Page 36: 1. Előadás WCF- bemutatás

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

Page 37: 1. Előadás WCF- bemutatás

Milyen technológiákat egyesít a WCF

Page 38: 1. Előadás WCF- bemutatás

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

Page 39: 1. Előadás WCF- bemutatás

WCF által implementált szabványok

Page 40: 1. Előadás WCF- bemutatás

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.

Page 41: 1. Előadás WCF- bemutatás

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

Page 42: 1. Előadás WCF- bemutatás

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

Page 43: 1. Előadás WCF- bemutatás

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

Page 44: 1. Előadás WCF- bemutatás

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!

Page 45: 1. Előadás WCF- bemutatás

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

Page 46: 1. Előadás WCF- bemutatás

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ó

Page 47: 1. Előadás WCF- bemutatás

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