1 / 13

Windows Communication Foundation ( WCF )

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 services (XML-alapú webszolgáltatások ), named pipe , socket , peer-to-peer (P2P ).

mabyn
Download Presentation

Windows Communication Foundation ( WCF )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Windows CommunicationFoundation(WCF) Vizuális Programozás

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

  3. 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

  4. 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órendszer-kö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 ServicesDescriptionLanguage) vagy a WS-Policy-ban leírt szabályokat, házirendet használjuk. J.Zs.Cs.: Vizuális programozás (c) 2010

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

  6. Forrás: http://msdnkk.hu/Storage/_common/InduloKeszlet/NET35/3/WCF-WF_ujdonsagok_(Benedek_Zoltan).pptx Végpont Address – a végpont címe A http://www.mkk.hu/pizzaorderservice/porder Szolgáltatás Contract – szerződés C [ServiceContract]interfaceIPizzaOrder { … } WSDL Binding – kötés B Hogyan? Encoding + transzport + magasabb szintű szolgáltatások (biztonság, megbízhatóság, stb.) Service Host Pl.: BasicHttpBinding, WSHttpBinding, NetTcpBinding Service type Szöveg Szöveg A A B B C C classPizzaOrderService: IPizzaOrder { … } Address: Hol? Contract: Mit? Binding: Hogyan? Service host J.Zs.Cs.: Vizuális programozás (c) 2010 Befogadó process: konzol alk., service, IIS, Windows Formsalk.

  7. 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 XML-webszolgá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

  8. HTTP-alapú kötések • BasicHttpBinding – 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. • WSHttpBinding – 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 WS-címzéshez. Bináris adatkódolást is tud. • WSDualHttpBinding – 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. • WSFederationHttpBinding – 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 CardSpace technológiával is. J.Zs.Cs.: Vizuális programozás (c) 2010

  9. TCP alapú kötések • NetNamedPipeBinding– Egy számítógépen levő .NET alkalmazások közötti kommunikációhoz jó. • NetPeerTcpBinding– Biztonságos kötést biztosít peer-to-peer (egyenrangú) hálózatokhoz. • NetTcpBinding– 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

  10. MSMQ-alapú kötések • MsmqIntegrationBinding– 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. • NetMsmqBinding– 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

  11. 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

  12. Architektúra - csatornák Szolgáltatás Kliens Allkalmazás Szolgáltatás obj. Clientruntime Protocolchannel (Channel proxy) Protocolchannel Dispatchruntime Protocolchannel Protocolchannel Protocolchannel Protocolchannel Transportchannel Transportchannel Channelstack Channelstack J.Zs.Cs.: Vizuális programozás (c) 2010 Forrás: http://msdnkk.hu/Storage/_common/InduloKeszlet/NET35/3/WCF-WF_ujdonsagok_(Benedek_Zoltan).pptx

  13. 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 InformationServices), WAS (Windows Activation Service a Vistában) vagy pedig egy tetszőleges típusú alkalmazás (pl.: konzol vagy form), amely ServiceHost 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

More Related