Windows Communication Foundation WCF Vizulis Programozs WCF Elosztott

  • Slides: 13
Download presentation
Windows Communication Foundation (WCF) Vizuális Programozás

Windows Communication Foundation (WCF) Vizuális Programozás

WCF Elosztott rendszerek Korábbi technológiák: DCOM, COM+/Enterprise Services, MSMQ, . NET Remoting, ASP web

WCF Elosztott rendszerek Korábbi technológiák: DCOM, COM+/Enterprise Services, MSMQ, . NET Remoting, ASP web services (XML-alapú webszolgáltatások), named pipe, socket, peer-to-peer (P 2 P). . . J. Zs. Cs. : Vizuális programozás (c) 2010

Szolgáltatásorientált architektúra több autonóm szolgáltatás működik együtt úgy, hogy üzeneteket küldenek a határaikon túlra

Szolgáltatásorientált architektúra több autonóm szolgáltatás működik együtt úgy, hogy üzeneteket küldenek a határaikon túlra jól definiált interfészek segítségével Alapelvek Jól látható határok A szolgáltatás funkcionalitása csak az interfészeken keresztül jelenik meg. A külső hívó csak így tud kommunikálni a szolgáltatással és nem ismeri a megvalósítás részleteit. Itt nem cél az, mint a régebbi technológiáknál, hogy helyi objektumnak lássunk egy távoli objektumot. J. Zs. Cs. : Vizuális programozás (c) 2010

Alapelvek A szolgáltatások függetlenek A szolgáltatás, amennyire lehet, magányos sziget. A szolgáltatás és az

Alapelvek A szolgáltatások függetlenek A szolgáltatás, amennyire lehet, magányos sziget. A szolgáltatás és az ügyfele különböző nyelven íródhatnak, különböző futtatórendszerkörnyezetet használhatnak, más operációs rendszer alatt működhetnek. A szolgáltatások szerződésen keresztül és nem az implementáción keresztül kommunikálnak Osztályok és metódusok nem adhatók át a szolgáltatáshatáron keresztül. Szabályalapú kompatibilitás A WSDL-ben (Web Services Description Language) vagy a WS-Policy-ban leírt szabályokat, házirendet használjuk. J. Zs. Cs. : Vizuális programozás (c) 2010

Architektúra Szolgáltatások kommunikációja Kliens Szolgáltatás A B C Szöveg C B A Szöveg A

Architektúra Szolgáltatások kommunikációja Kliens Szolgáltatás A B C Szöveg C B A Szöveg A B C Szöveg Üzenetek Végpont J. Zs. Cs. : Vizuális programozás (c) 2010 Forrás: http: //msdnkk. hu/Storage/_common/Indulo. Keszlet/NET 35/3/WCF-WF_ujdonsagok_(Benedek_Zoltan). pptx 5

Forrás: http: //msdnkk. hu/Storage/_common/Indulo. Keszlet/NET 35/3/WCF-WF_ujdonsagok_(Benedek_Zoltan). pptx Végpont A Address – a végpont címe

Forrás: http: //msdnkk. hu/Storage/_common/Indulo. Keszlet/NET 35/3/WCF-WF_ujdonsagok_(Benedek_Zoltan). pptx Végpont A Address – a végpont címe http: //www. mkk. hu/pizzaorderservice/porder C Szolgáltatás Contract – szerződés [Service. Contract] interface IPizza. Order WSDL ASzöveg B C { …} B ASzöveg B C Binding – kötés Hogyan? Encoding + transzport + magasabb szintű szolgáltatások (biztonság, megbízhatóság, stb. ) Pl. : Basic. Http. Binding, WSHttp. Binding, Net. Tcp. Binding Service Host Service type class Pizza. Order. Service: IPizza. Order { … } Service host Address: Contract: Binding: Hol? Mit? Hogyan? J. Zs. Cs. : Vizuális programozás (c) 2010 Befogadó process: konzol alk. , service, IIS, Windows Forms alk. 6

Kötés a hálózati protokollokat, a kódolási mechanizmusokat és a szállítási réteget definiálja HTTP-alapú kötések

Kötés a hálózati protokollokat, a kódolási mechanizmusokat és a szállítási réteget definiálja HTTP-alapú kötések – Ezeket akkor használjuk, ha XMLwebszolgáltatás protokollon keresztül kell dolgozni, vagyis amikor különböző rendszerek (más operációs rendszer, más programozási architektúra) között zajlik a kommunikáció. TCP-alapú kötések – Ezeket akkor használjuk, ha mind a szolgáltatás, mind a kliens legalább. NET 3. 0 keretrendszer fölött fut. (Lehetnek különböző gépeken!) Itt jobb lesz a teljesítmény, ha XML-formátum helyett kompakt bináris formátumba kódoljuk az üzeneteket. MSMQ-alapú kötések – Az MSMQ a Microsoft üzenetsor-kezelő megoldása. Itt arról van szó, hogy az alkalmazás egy üzenetsorba küld üzenetet, nem pedig közvetlenül a másik alkalmazásnak. Amikor a címzett készen áll, hogy elolvassa az üzenetet, kiveszi az üzenetsorból és feldolgozza. Ez akkor hasznos, ha az üzenet küldője és feldolgozója nem azonos időben fut. J. Zs. Cs. : Vizuális programozás (c) 2010

HTTP-alapú kötések Basic. Http. Binding – Ez a kötés szállításra a HTTP-t, üzenetkódolásra pedig

HTTP-alapú kötések Basic. Http. Binding – Ez a kötés szállításra a HTTP-t, üzenetkódolásra pedig az alapértelmezett szöveg/XML-t használja. WS-I Basic Profile 1. 1. kompatibilis. Ezt a kötést főleg a visszamenőleges kompatibilitás miatt használjuk, pl. olyan alkalmazásoknál, amik ASP. NET webszolgáltatásokkal kell, hogy kommunikáljanak. WSHttp. Binding – Az előzőhöz hasonló, de ez már támogatást nyújt a tranzakciókhoz, a megbízható üzenetküldéshez és a WScímzéshez. Bináris adatkódolást is tud. WSDual. Http. Binding – Az előzőhöz hasonló, de duplex szerződésekhez használható. (A szolgáltatás és a kliens oda-vissza tud üzenetet küldeni egymásnak. ) Csak a SOAP biztonsági beállításait használja, és megbízható üzenetküldést követel meg. WSFederation. Http. Binding – Akkor érdemes használni, ha a biztonság a legfontosabb szempont. Támogatja a WS-Federation protokollt, lehetővé téve felhasználók hatékony azonosítását és engedélyezését. Együttműködik a Card. Space technológiával is. J. Zs. Cs. : Vizuális programozás (c) 2010

TCP alapú kötések Net. Named. Pipe. Binding – Egy számítógépen levő. NET alkalmazások közötti

TCP alapú kötések Net. Named. Pipe. Binding – Egy számítógépen levő. NET alkalmazások közötti kommunikációhoz jó. Net. Peer. Tcp. Binding – Biztonságos kötést biztosít peer-to-peer (egyenrangú) hálózatokhoz. Net. Tcp. Binding – Biztonságos és optimalizált kötés. NET alkalmazások közötti kommunikációhoz, amelyek különböző gépeken vannak. J. Zs. Cs. : Vizuális programozás (c) 2010

MSMQ-alapú kötések Msmq. Integration. Binding – Olyan MSMQ-alkalmazásokkal lehet vele kommunikálni, amelyek COM-ot, natív

MSMQ-alapú kötések Msmq. Integration. Binding – Olyan MSMQ-alkalmazásokkal lehet vele kommunikálni, amelyek COM-ot, natív C++-t vagy a System. Messaging névtérben definiált típusokat használnak. Net. Msmq. Binding – Alkalmas különböző gépeken lévő. NET alkalmazások közötti kommunikációra. J. Zs. Cs. : Vizuális programozás (c) 2010

Szerződés A WCF-szolgáltatás által elérhetővé tett összes metódus leírása. Interfész Nyilvános osztály Struktúra J.

Szerződés A WCF-szolgáltatás által elérhetővé tett összes metódus leírása. Interfész Nyilvános osztály Struktúra J. Zs. Cs. : Vizuális programozás (c) 2010

Architektúra - csatornák Szolgáltatás Kliens Client runtime Allkalmaz ás Szolgálta tás obj. Protocol channel

Architektúra - csatornák Szolgáltatás Kliens Client runtime Allkalmaz ás Szolgálta tás obj. Protocol channel (Channel proxy) Protocol channel Protocol channel Transport channel Channel stack Dispatch runtime J. Zs. Cs. : Vizuális programozás (c) 2010 Forrás: http: //msdnkk. hu/Storage/_common/Indulo. Keszlet/NET 35/3/WCF-WF_ujdonsagok_(Benedek_Zoltan). pptx

Egyszerű WCF-alkalmazás A szolgáltatás szerelvénye: Ez a. dll tartalmazza a külső hívók számára elérhető

Egyszerű WCF-alkalmazás A szolgáltatás szerelvénye: Ez a. dll tartalmazza a külső hívók számára elérhető funkcionalitást leíró osztályokat és interfészeket. Az őt hosztoló folyamat: A szolgáltatás dll-jének szüksége van egy Windows-folyamatra, amely futtatja őt. Erre két lehetőség van: IIS (Internet Information Services), WAS (Windows Activation Service a Vistában) vagy pedig egy tetszőleges típusú alkalmazás (pl. : konzol vagy form), amely Service. Host típusú objektumot hoz létre és az Open() metódussal elindítja a szolgáltatást. Itt kell megadni egy vagy több végpontot is, amelyek lehetővé teszik a szolgáltatáshoz való hozzáférést. A végpont az, ami az ABC -ből áll (adress, binding és contractname). WCF-ügyfél: Ez az alkalmazás a kliens, aki hozzáfér a szolgáltatáshoz egy közbeépülő proxy-osztályon keresztül. J. Zs. Cs. : Vizuális programozás (c) 2010