Szolgáltatás technológiák (WS, WS-*) Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék



Hasonló dokumentumok
Szolgáltatás technológiák (WS, WS-*, REST) Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

(Web)Szolgáltatások (WS, WS-*)

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék

Webszolgáltatások (WS)

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

SOA modell: Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni.

Osztott alkalmazások fejlesztési technológiái Áttekintés

Web-szolgáltatás szabványok

Oracle9i Alkalmazás Szerver Üzleti folyamat integráció. Molnár Balázs Vezető értékesítési konzultáns Oracle Hungary

Webszolgáltatások kommunikációs overhead-jének becslése

Objektum-orientált tervezés

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

SOAP komponensek Delphiben

pilot példa SOA alkalmazásra április 29.

Debreceni Egyetem Informatikai Kar. Szolgáltatás-orientált programozás az Oracle-ben

Adatbázis rendszerek 7. előadás State of the art

JAVA webes alkalmazások

Szolgáltatásorientált rendszerintegráció. SOA-alapú rendszerintegráció. Web-szolgáltatások: SOAP, WSDL

Java Business Integration szolgáltatásalapú architektúra JavaEE környezetben. Simon Géza Zsemlye Tamás

Webes alkalmazások fejlesztése 12. fejezet. Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Osztott rendszerek (Distributed. systems) Bevezetés. Tartalom. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

Párhuzamos és Grid rendszerek

A JGrid rendszer biztonsági architektúrája. Magyaródi Márk Juhász Zoltán Veszprémi Egyetem

Kommunikáció. 3. előadás

OEP Betegéletút lekérdezés háziorvosok és vénytörténet lekérdezés patikák számára. API dokumentáció. verzió: 2.01

Szolgáltatásorientált rendszerintegráció. SOA-alapú rendszerintegráció. Enterprise Service Bus (ESB) Ercsényi András, BME IIT, 2011.

Web Services. (webszolgáltatások): egy osztott alkalmazásfejlesztési plattform

Bevezetés az SAP világába. 5. Kommunikációs és integrációs technológiák

API tervezése mobil környezetbe. gyakorlat

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

A Java EE 5 plattform

Fejlesztés, működtetés, felügyelet Hatékony infrastruktúra IBM szoftverekkel

S, mint secure. Nagy Attila Gábor Wildom Kft.

Modell alapú tesztelés mobil környezetben

Hálózatbiztonság Androidon. Tamas Balogh Tech AutSoft

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

Osztott rendszerek (Distributed

UNIX: folyamatok kommunikációja

Enterprise extended Output Management. exom - Greendoc Systems Kft. 1

Az Informatikai és Hírközlési Minisztérium ajánlása a közigazgatásban a hitelesítésszolgáltatók

Folyamatok rugalmas irányítása. FourCorm Kft.

Testreszabott alkalmazások fejlesztése Notes és Quickr környezetben

TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS

Előnyei. Helyi hálózatok tervezése és üzemeltetése 2

Mobil szolgáltatások és alkalmazások fejlesztése

Szolgáltatás Orientált Architektúra és több felhasználós adatbázis használata OKF keretein belül. Beke Dániel

Tarantella Secure Global Desktop Enterprise Edition

INTERNET. internetwork röviden Internet /hálózatok hálózata/ 2010/2011. őszi félév

webalkalmazások fejlesztése elosztott alapon

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Non-stop hozzáférés az üzleti információkhoz bárhol, bármikor és bármilyen eszközzel

Tartalomjegyzék. Bevezetés. 1. A.NET 3.5-keretrendszer 1. A korszerű alkalmazások felépítésének kihívásai... 2

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Mai program. Web Technológiák. Webalkalmazások. Webalkalmazás, mint UI

TANÚSÍTVÁNY. tanúsítja, hogy a E-Group Magyarország Rt. által kifejlesztett és forgalmazott. Signed Document expert (SDX) Professional 1.

Bárányfelhő vagy viharfelhő? A felhő alapú megoldások biztonsági kérdései. Császár Rudolf Műszaki fejlesztési vezető Digital Kft.

Kommunikáció. Folyamatok közötti kommunikáció. Minden elosztott rendszer alapja

Webszolgáltatás alapokon BPEL

Tanúsítványkérelem készítése, tanúsítvány telepítése Microsoft Internet Information szerveren

IT szolgáltatás menedzsment bevezetés az IIER projektben

Miért is transzformáljunk modelleket? Varró Dániel

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

Szolgáltatás-orientált technológiák alkalmazási kérdései Absztrakt 1. Bevezetés

CMDB architektúra megjelenítése SAMU-val Rugalmas megoldás. ITSMF Bekk Nándor Magyar Telekom / IT szolgáltatás menedzsment központ

Fábián Zoltán Hálózatok elmélet

Történet John Little (1970) (Management Science cikk)

Felhaszáló központú és föderatív azonosítási megoldások webalkalmazásokban. Szalai Ferenc Web Service Bricks

Budapest Főváros Kormányhivatala. Földmérési, Távérzékelési és Földhivatali Főosztály. Általános Szerződési Feltételek.

Titkosítás NetWare környezetben

Számítógépes Hálózatok Felhasználói réteg DNS, , http, P2P

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) DNS. Domain Name System

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

A TANTÁRGY ADATLAPJA

MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS. A) Műszaki követelmények

Hargitai Zsolt Novell Mo.

A számítástechnika gyakorlata WIN 2000 I. Szerver, ügyfél Protokoll NT domain, Peer to Peer Internet o WWW oftp opop3, SMTP. Webmail (levelező)

Oracle Containers for Java - j2ee alkalmazás szerver funkciók. Molnár Balázs Oracle Hungary

Mikor? Milyen alkalmazásnál?

A JAVA FUTTATÁSAKOR ELŐFORDULÓ HIBA-

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

A hibrid DB cloud biztonsági eszköztára. Kóródi Ferenc Budapest,

HecPoll a vezérlő rendszer

Osztott rendszerek. Krizsán Zoltán 1 Ficsór Lajos 1. Webalkalmazások fejlesztése tananyag. Miskolci Egyetem. Bevezetés A múlt - történelem A jelen

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

GIS fejlesztés Web platformra nyílt forráskódú ingyenes eszközökkel

NEPTUN ID BMENET ID. Címtár BME VPN. vcenter VPN SVN. Trac Wiki. Wifi

Teljesítménymodellezés

Osztott Objektumarchitektúrák

Biztonságos mobilalkalmazás-fejlesztés a gyakorlatban. A CryptTalk fejlesztése során alkalmazott módszerek. Dr. Barabás Péter Arenim Technologies

Az IBM WebSphere Multichannel Bank Transformation Toolkit V7.1 felgyorsítja a többcsatornás alkalmazásfejlesztést

Üzleti interoperabilitás. - elektronikus üzleti szolgáltatások - elektronikus kereskedelem - elektronikus közbeszerzés

applikációs protokollok

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

Debreceni Egyetem Informatikai Kar A WINDOWS SERVER 2003 HÁLÓZATI MEGOLDÁSAI

IP alapú távközlés. Virtuális magánhálózatok (VPN)

Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész

Viczián István IP Systems JUM XIX szeptember 18.

Információ és kommunikáció

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Tartalom. Történeti áttekintés. Történeti áttekintés Architektúra DCOM vs CORBA. Szoftvertechnológia

Átírás:

Szolgáltatás technológiák (WS, WS-*) Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Elosztott rendszerek Elosztott rendszerek o Egy hálózaton lévő számítógépek Tipikus példa: Internet o Üzenet alapú kommunikáció Motiváció o Erőforrás megosztás o Skálázhatóság o Modularizáció o Együttműködés Követelmények o Kommunikációs réteg

XML webszolgáltatások Alkalmazások közötti adatcserére szolgáló protokollok és szabványok gyűjteménye Szabvány: XML alapúak o Strukturált szöveges állomány o Kötött formátum (séma) Nem csak nyílt Web-es környezetben Lazán csatolt alkalmazások Főbb fejlesztők o Apache, IBM, HP, SUN & Microsoft (.NET) o http://www.webservices.org/

Példák E-mail küldés Bemenet: levél adatai Válasz: nyugta Új alkalmazott felvétele Bemenet: személyes adatok Válasz: ID Vállalatirányítási rendszer elérése Bemenet: beszállítók lekérdezése Válasz: beszállítók listája, preferenciák Lekérdező műveletek Pl. időjárás előrejelzés, keresés, repülőjegy árának lekérdezése, Bemenet: intervallum, hely Válasz: csapadék, hőmérséklet, Infrastruktúra elérése Bemenet: váratlan események lekérdezése Válasz: riasztáslista Szenzorok lekérdezése Bemenet: épületrész állapota Válasz: hőmérséklet, páratartalom,

Megvalósítás Szolgáltatás leírások UDDI WSDL WSDL Kliens SOAP Szolgáltató

Web service stack Szolgáltatás publikálás Szolgáltatás leíró Kommunikáció Alacsony szintű protokollok URI, HTTP, FTP, etc. Hálózat

Web service stack Szolgáltatás publikálás Szolgáltatás leíró SOAP Kommunikáció Hálózat

Web service stack Szintakszis HOGYAN? (portok, műveletek, üzenetek) WSDL Szolgáltatás publikálás Szolgáltatás leíró Kommunikáció Hálózat

Web service stack regisztráció HOL? ( Arany oldalak / hirdetők) UDDI, WSIL Szolgáltatás publikálás Szolgáltatás leíró Kommunikáció Hálózat

SOAP Simple Object Access Protocol o 1.1 verzió: 2000 óta Általános kommunikációs protokoll XML Boríték Fejléc o Címzett/feladó o Formátum o Kiegészítő információk titkosítás, time-to-live, stb. Törzs

Web Services Description Language Interfészdefiníció Kérdés-válasz párok leírása Port típusok megadása Generálható az osztály publikus metódusai alapján Kliens (proxy) generálásához szükséges Lekérdezhető szolgáltatás tárakból

Adattípusok leírása o Séma (XSD) hivatkozás Portok leírása WSDL o Összetartozó műveletek halmaza o Pl. ÁrfolyamLekérdezőPort Műveletek (operations) leírása o Pl. UtolsóHónapÁtlagosÁrfolyama Üzenetek (típusának) deklarálása o Pl. ÁrfolyamKérdés Binding o Konkrét protokollhoz kötés, leggyakrabban SOAP

WSDL struktúra

Példa Webszolgáltatások felhasználása o Google API o http://www.mnb.hu/arfolyamok.asmx?wsdl Pl. Amazon EC2 Cloud API o Maga a cloud management is webszolgáltatás alapon történik o http://ec2.amazonaws.com/doc/2009-03-01/amazonec2.wsdl o Do NOT try to read or edit this file Publikus webszolgáltatások o http://www.webservicex.net/ws/wscatlist.aspx o http://www.service-repository.com/ o http://www.xmethods.net/ve2/directory.po o https://www.thedacs.com/databases/url/key/5440/5443/5537

WS fejlesztés tipikus lépései Szolgáltatás interfészek, adatstruktúrák tervezése o WSDL, XSD Implementáció/integráció o Ezek alapján generálható a WSDL Kliens/szerver oldali csonkok elállítása o API hívással o XML konfiguráció alapján Futási idben (middleware) o SOAP üzenetek elállítása o SOAP boríték elküldése o SOAP üzenet transzformálása a szolgáltatás bemeneti formátumára

Modellezés: OMG: SoaML

WS-* Hogyan adjunk alkalmazás szint garanciákat az integrációra? o Ne függjön a hálózattól o Ne függjön az implementációtól o Az alkalmazás logika határozza meg Feladatok o Tranzakciókezelés o Session kezelés o Biztonság o Titkosítás o Szolgáltatások kombinálása o Szolgáltatások szemantikája o Loggolás

Szabványok

Szabványok Magas szintű biztonság, bizalom (trust) Leírás, keresés, policy Biztonsági tokenek Kommunikációs modelll Összetett szolgáltatások Tranzakcionalitás XML dokumentumok Megbízható üzenetküldés Hálózati átvitel XML szintű aláírás és titkosítás

XML encryption 20 W3C szabvány Szimetrikus kulcsú (pl. 3DES) Aszimetrikus kulcs (RSA) Fő elemek o SignedInfo o EncryptedData o EncryptedKey Tipikusan XML signature-el együtt használják

XML Signature szerkezete <Signature ID?> <SignedInfo> <CanonicalizationMethod/> <SignatureMethod/> (<Reference URI? > (<Transforms>)? <DigestMethod> <DigestValue> </Reference>)+ </SignedInfo> <SignatureValue> (<KeyInfo>)? (<Object ID?>)* </Signature> 21 2008

XML Signature 22

WS-Security 23 Önmagában nem az üzenetet védi o Hogyan igazoljuk, hogy védett az üzenet o Használ más szabványokat Azonosítás és autentikáció o Milyen tokeneket használunk az üzenetben Integritás o XML signature o Időzítési védelem az újrajátszás ellen Titkosítás o WS-Encrpytion

Biztonsági tokenek 24 Alkalmazás-specifikus o Usernév-jelszó o unsigned Aláírt biztonsági tokenek (bináris) o X.509 certificate o Kerberos XML tokenek o Pl. SAML o Általában self-signed

XML security párbeszéd 25 Nem önhitelesítő tanúsítványok esetén (non self-validating credentials)

26 Szcenárió 2 self-validating credentials Önhitelesítő tanúsítványok esetén (self-validating credentials)

WS-Security fejléc (SOAP) 27 <?xml version='1.0' encoding='utf-8'?> <soapenv:envelope xmlns:soapenv= "http://schemas.xmlsoap.org/soap/envelope/" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <soapenv:header> <wsse:security xmlns:wsse="..." soapenv:mustunderstand="1"> <xenc:encryptedkey Id="EncKeyId-229902"> <xenc:encryptionmethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" /> <ds:keyinfo xmlns:ds="..."> <wsse:securitytokenreference> </wsse:securitytokenreference> </ds:keyinfo> <xenc:cipherdata> <xenc:ciphervalue>ppaoxj5p0w8ukm...</xenc:ciphervalue> </xenc:cipherdata> <xenc:referencelist> <xenc:datareference URI="#EncDataId-30957433" /> </xenc:referencelist> </xenc:encryptedkey> <ds:signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"id="signature-17764792"> <ds:signedinfo> <ds:canonicalizationmethod Algorithm= /> <ds:signaturemethod Algorithm= /> <ds:transforms> /ds:transforms> <ds:digestmethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <ds:digestvalue>+eckm6r4gq7aq=...</ds:digestvalue> /ds:signedinfo> </ds:signature> <wsu:timestamp../> <soapenv:body xmlns:wsu="..." wsu:id="id-30957433"> <xenc:encrypteddata Id="EncDataId-30957433.> </sopaenv:body>

Titkosítatlan válasz <?xml version='1.0' encoding='utf-8'?> <soapenv:envelope xmlns:soapenv= "http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:header /> <soapenv:body> <resp:numberofarcticles xmlns:resp= "http://daily-moon.com/cms/" xmlns:tns= "http://ws.apache.org/axis2"> 42</resp:numberOfArcticles> </soapenv:body> </soapenv:envelope> 28

További specifikációk 29 WS-SecurityPolicy o WS-policy alapon o Leírja a követelményeket o Milyen elemeket kell használni a többi nyelvből WS-SecureConversation o Hogyan történik a kulcsok igénylése, generálása, stb. WS-Interoperability o Különböző megvalósítások egymással kommunikálni tudjanak o Oracle és MS kölcsönösen tesztelik egymás platformját

WS-Trust 30 Szolgáltatók közti bizalmasság Biztonsági tokenek o Kibocsátása o Megújítása o Ellenőrzése Secure Token Service (STS)

Letagadathatatlanság: WS-RM 31 TCP réteg webszolgáltatásoknak Megbízható üzenetküldés o Nyugtázás o Üzenetsorrendezés o Duplikátumok szűrése o Garantált kézbesítés Több szabvány egyesítése (MS, IBM) Implementációk o RAMP (IBM WebSphere Application Server 6-hoz) o Apache Sandesha (Axis2) o Microsoft Windows Communication Foundation o Bea WebLogic (Oracle)

Biztonsági analízis 32 Szisztematikus támadás WSDL alapján o Publikus információ felhasználása Brute force támadás (XML parsing) o Túlterhelés: a parse-olás a szűk keresztmetszet XML injection o Magának a feldolgozási folyamatnak a megváltoztatása Pl. XPath, XSTL, XQuery használatával Külső referencia támadás o Dokumentum linkelése SOAP protokol szintű támadás Szállító réteg támadása

Milyen plusz feladatokat jelent 33 Pl. Apache Axis2 konfiguráció esetén Szerver oldalon o Rampart, Sandesha modulok engedélyezése o services.xml konfiguráció beállítása o WSDL újragenerálása o Apache WSS4J Kliens oldalon o Apache WSS4J Mögöttes infrastruktúra o Pl. Keystore, üzenetsorok

WS Eszköztámogatás (példák) Apache: Apache Web Services Project IBM: WebSphere Application Server Microsoft: Windows Communication Foundation Oracle: METRO stack Eclipse: SOA Tools Platform Gyártók saját környezetei o Speciális célú, pl. adatbázis elérés DB2 Oracle MSSQL, stb.

Források http://ws.apache.org/axis2/modules/rampart/1_0/securitymodule.html http://ws.apache.org/sandesha/ Sopera.de Security in a Web Services World: A Proposed Architecture and Roadmap (IBM & Microsoft whitepaper) Web Services Security Tutorial, Jorgen Thelin, CapeClear Software Standards and Practices in Operational Security, Yuri Demchenko, AIRG Understanding Web services Specifications Part IV: security, Nicholas Chase (IBM whitepaper) 40 2008