SOAP komponensek Delphiben



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

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

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

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

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

A Java EE 5 plattform

Adatbázis-elérés: dbexpress, helyi adatok és egyéb lehetõségek A dbexpress könyvtár A Borland Database Engine...

Webszolgáltatások (WS)

Tisztelt Telepítő! A központ és az alkalmazás összehangolását a következőképpen hajthatja végre:

Tisztelt Telepítő! 2. Ellenőrizze, hogy a modul engedélyezve van-e: Szekció [382] Opció 5 (alternatív kommunikátor) BE.

Bérprogram vásárlásakor az Ügyfélnek ben és levélben is megküldjük a termék letöltéséhez és aktiválásához szükséges termékszámot.

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

Webes alkalmazások fejlesztése

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

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

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

BioAdmin 4.1 könnyű telepítés csak Kliens használatra

Microsoft SQL Server telepítése

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 webhelyhez kötődő szoftverek architektúrája

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

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

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Szoftver Tervezési Dokumentáció. Nguyen Thai Binh

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

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

Földmérési és Távérzékelési Intézet

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

III. előadás. Kovács Róbert

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

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

OCSP Stapling. Az SSL kapcsolatok sebességének növelése Apache, IIS és NginX szerverek esetén 1(10)

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

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

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

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir();

Bevezető. Servlet alapgondolatok

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

Telepítés, újratelepítés több számítógépre, hálózatos telepítés Kulcs-Bér program

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

Webtárhely létrehozása a helyen. Lépések Teendő 1. Böngészőbe beírni: 2. Jobb oldalon regisztrálni (tárhelyigénylés).

Iman 3.0 szoftverdokumentáció

Számítógépes Hálózatok. 5. gyakorlat

DAT adatcserefájl AutoCAD MAP DWG mapobject konvertáló program dokumentáció

Szolgáltatási szint megállapodás

SZÁMÍTÓGÉP HÁLÓZATOK BEADANDÓ ESSZÉ. A Windows névfeloldási szolgáltatásai

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

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

Irányelv elektronikus rendszerekhez való hozzáférés biztosításához

Guarding Vision Beállítása

XML Webszolgáltatás alapú osztott alkalmazás fejlesztése Johanyák Zsolt Csaba 1

PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról

Zoiper VoIP mobil alkalmazás szoftver beállítása Android rendszerre

Enterprise JavaBeans 1.4 platform (EJB 2.0)

G Data MasterAdmin 9 0 _ 09 _ _ # r_ e p a P ch e T 1

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. 3. óra. Kocsis Gergely, Kelenföldi Szilárd

Nyilvántartási Rendszer

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

A belső hálózat konfigurálása

Flex: csak rugalmasan!

JAVA webes alkalmazások

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, MapInfo program alkalmazásával Útmutató 2010.

Országos Területrendezési Terv térképi mellékleteinek WMS szolgáltatással történő elérése, MapInfo program alkalmazásával

Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla

FortiClient VPN-IPSec kliens konfigurációs segédlet

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

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

Elektronikus levelek. Az informatikai biztonság alapjai II.

BaBér bérügyviteli rendszer telepítési segédlete év

InFo-Tech emelt díjas SMS szolgáltatás. kommunikációs protokollja. Ver.: 2.1

KIRA. KIRA rendszer. Telepítési útmutató v1

Hiba bejelentés azonnal a helyszínről elvégezhető. Egységes bejelentési forma jön létre Követhető, dokumentált folyamat. Regisztráció.

Gyakorló 9. feladat megoldási útmutató

The Power To Develop. i Develop

VIRTUAL APPLIANCE KÉZIKÖNYV VIRTUAL APPLIANCE KÉZIKÖNYV

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

BackupPC. Az /etc/hosts fájlba betehetjük a hosztokat, ha nem a tejles (fqdn, DNS név) névvel hivatkozunk rájuk: # /etc/hosts #

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

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

Telepítési Kézikönyv

Adatbiztonság PPZH május 20.

BEVEZETÉS AZ INTERNET ÉS A WORLD WIDE WEB VILÁGÁBA. Kvaszingerné Prantner Csilla, EKF

Osztott rendszerek (Distributed

1. Origin telepítése. A telepítő első képernyőjén kattintson a Next gombra:

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

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

Web programoz as

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

Általános fiók beállítási útmutató

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

LINUX LDAP címtár. Mi a címtár?

Cikktípusok készítése a Xarayában

Webshop készítése ASP.NET 3.5 ben I.

IP-címhez kötött webszolgáltatások használata idegen IP-című gépről

Számítógépes Hálózatok GY 3-4.hét

Átírás:

SOAP komponensek Delphiben (Simple Object Access Protocol) Bevezetés -Azegyszerűen programozható webhozzáférés azt jelenti, hogy a fejlesztők saját programjukat a weben elérhető szolgáltatásokból építik fel komponensről - komponensre. - A már megírt kódokat felhasználhatjuk, beépíthetjük programunkba bizonyos feltételek mellett. A webszolgáltatás egy szabványos webprotokollon elérhető, programozható logika. Ez a rövid,, de pontos definíció határozza meg az összes szempontot, ami mérvadó egy ilyen program elkészítésénél: 1. Platform- és nyelvfüggetlenség: - az adatok kezelése gép- és operációsrendszer függő ( tetszőleges programozási nyelvben használhatók). 2. Szabványosság: - olyan felületet kell biztosítani a felhasználók számára, ami támogatja az egységes adatreprezentációt. 3. Elérhetőség: - a kommunikációra használjunk fel egy olyan nyelvet, melyet minden géptípus ismer és elfogad. Alkalmazott protokollok 1. XML (extensible Markup Language) - Az XML biztosítja az egységes adatrepre- zentációt a különböző platformokon. - Szövegesen ábrázolja az adatokat. Egy webszolgáltatásban minden XML nyelven történik: - a kommunikáció egyes szereplők között, - az adatok egységes kezelése, - a konfigurációs állományok beállításai. 2. SOAP (Simple Object Access Protocol) A SOAP egy alkalmazás rétegbeli protokoll, mely felhasználja a HTTP réteg szolgáltatásait. Ez egy ajánlás, mely: 1. Általános leírást ad az adatok kézbesítésére XML dokumentumként. 2. Leírja a webszolgáltatásban szereplő egyszerűbb és összetettebb adattípusainak használatát és az azoknak megfelelő üzeneteket. 3. Megfogalmazza a HTTP-re történő leképezés szabályait. 3. WSDL (Web Service Descriptor Language) A WSDL egy jólformált XML dokumentum, melyben szerepel: - a szolgáltatás által elvégezhető műveletek listája - elvégzésük módja. A WSDL tartalmazza: - az adattípusokat, - az üzenetek struktúráját, - az operációkat, - a protokoll kötéseket, - a címeket és a szolgáltatásokat 1

4. UDDI (Universal Description, Discovery and Integration) Ez egy nyilvántartás, könyvtár, ami adatokat tartalmaz cégekről, és az általuk nyújtott webszolgáltatásokról. Ez z is XML-alapú alapú, ami megkönnyíti a kommunikációt és egységesíti a lekérdezéseket. Ezt a nyilvántartást, megírt programunkból SOAP protokollon keresztül érhetjük el. SOAP Szerver létrehozása Elsősorban el kell indítani a Delphi 7 t, majd File -> > New -> > Other menüpontban ki kell választani a Web Services filet, majd a SOAP Server Applicaton t, amint ezt az alábbi ábra is mutatja : A megjelenő World Wide Web szerver-applikációk közül ki kell választani egyet. Legyen ez most a CGI Stand-alone alone executable a felsoroltak közül, habár sokkal ajánlottabb egy Apache vagy ISAPI/NSAPI DLL t választani, mert hatékonyabb. Egy új SOAP Szerver Applikáció és SOAP WEB Module generálódik és egy kérdés jelenik meg : Akarunk-e interfészt a SOAP modulunkhoz? Kisseb szerver esetén célszerű NEM el válaszolni, komoly szerver esetén jobb ha interfész is van. Válasszuk most tehát a YES t t : Ezzel létrejött a SOAP Web Module, amely máris három komponenst tartalmaz : -THTTPSoapDispatcher -THTTPSoapPascalInvoker -TWSDLHTMLPublish 2

Ez a három komponens elegendő,, most már a felhasználandó adatbázis tábláira lehet koncentrálni. Mentsük le tehát a SOAP Web Module t, valamint az egész projektet is. Most adjunk hozzá egy újjabb SOAP Data Module t az 1. es pont alapján. A SOAP Data Module Wizard - ban adjunk neki nevet és mentsük le A következőkben az adatbázishoz való kapcsolást kell megvalósítani. Ezt többféleképpen lehet megvalósítani, például ADO, vagy DataSnap és dbexpress segítségével. Ennek megvalósításától most eltekintek. Miután létrehoztuk az adatbázissal való kapcsolatot, mindent le kell ismét menteni és kompilálni kell. A kipróbáláshoz elindítjuk a web szervert, például Xitami,, és a szerverünk.exe fájlját másoljuk be a Xitami CGI-BIN könyvtárába. ába. Ha futtatjuk az.exe fájlt, akkor nem fog történni semmi, hiszen nem hoztunk létre felületet a szerverünknek. A helyes működéshez, írjuk be az explorerbe be,, hogy http://localhost/cgi-bin/ bin/szerverneve.exe Ha helyesen működik a szerverünk, akkor egy, az alábbihoz hasonló ábrát kell kapjunk : SOAP kliens létrehozása A szerverrel való kapcsolat létrehozásához, elhelyezzünk a kliensen egy TSOAPConnection komponenst a Delphi7 Web Services menüjéből. Állítsuk be az URL tulajdonságot a szerver által definiált URL re és külön jelezzük, hogy SOAP ot használunk, nem pedig WSDL - t. Tehát a TSOAPConnection komponens URL tulajdonsága valahogy így kéne kinézzen : http://192.168.92.201/cgi-bin/szerverneve.exe/soap/iappserver ha IP címet használunk, vagy pedig: http://localhost/cgi-bin/szerverneve.exe/soap/iappserver SOAP komponensek A SOAP fogalma szorosan összefügg a Web Service fogalmával. Ezért Delphi 7 ben a SOAP komponenseket a Web Service file alatt találjuk meg, az alábbi sorrend szerint : Tehát a SOAP klienset et az URL segítségével irányítom a szolgáltatás felé, onnan egy magasszintű API továbbítja a részleteket. 3

THTTPRIO Statikusan összekötött hívásokat generál, hogy segítségül hívjon interfészeket egy távoli Web Service applikációtól. Ez egy dinamikus metódustáblát generál amit a belső memóriában tárol. A metódusokat ebből a táblából hajtja végre,, SOAP kérésként kódolva a metódust és HTTP kérésként küldi el az üzenetet. Kicsomagolja a HTTP válasz üzenetet, hogy megkapja a visszatérített értéket vagy, hogy egy kivételt hozzon létre ha az elküldött üzenet kivételévelt képezett a szerveren. A szerverrel való kapcsolat kétféleképpen valósítható meg : - vagy az URL tulajdonságban adjuk meg a szerver címét - vagy ha WSDL dokumetummal akarunk kapcsolatba lépni, akkor a WSDLLocation tulajdonságot kell beállítani. Ebben az esetben a Service és Port tulajdonságokat is ki kell tölteni. THTTPReqResp Ha proxy szervert akarunk használni, akkor ezt a komponenst kell használni. Ugyanakkor ez végzi el a THTTPRIO által kért metódust úgy, hogy két parancsot képes kiadni : - GET kérést egy WSDL dokumentumhoz - POST kérést ahhoz, hogy a metódushívást továbbítsa a szervernek elvégzésre és hogy visszaszolgáltassa a választ. Windows alatt ez a komponens a WININET.DLL t használja a szerverrel való kapcsolat létrehozására. TOPToSoapDomConvert Kezeli a rendezett és nem rendezett SOAP metódushívásokat. Az applikációk általában ezt nem használják közvetlenül. A THTTPRIO használja inkább a kliensen, valamint a THTTPSoapPascalINVOKER vagy a THTTPSoapCppInvoker a szerveren. Ha a metódushívás kivétellel ér véget, akkor hibacsomagot generál. TSOAPConnection Egy többrétegű applikáció kliens részében használjuk. Segítségével létrehozzuk és fenntartsuk a kapcsolatot egy távoli szerverrel. A TSOAPConnection egy interfészt is szerezhet a szervernek (IAPPSERVER vagy IAPPSERVERSOAP) Ha DataSnap komponenseket is használunk, akkor ez nem lehet IAPPSERVER. Egy másik célja ennek a TSOAPConnection komponensnek, hogy egy szolgáltatói listát is kérhet a szervertől. Ha meg akarjuk szüntetni a szerverrel a kapcsolatot, akkor szintén ezt a komponenst kell használjuk. THTTPSOAPDispatcher Válaszol egy SOAP üzenetre továbbítva azt egy segítőnek, hogy értelmezze. A segítőt a Dispatcher tulajdonságban kell megadni. 4

TWSDLHTMLPublish Publikál egy WSDL dokumentumlistát ami a WebService applikációt írja le. Az applikáció metódusait és annak paramétereit teszi közzé (így mások is használhassák a WebService t). Alapértelemben ott fogja publikálni a dokumentumlistát. Azonban ezt meg lehet változtatni az AdminEnabled tulajdonságban, majd a WSDL administratort kell elindítani, hogy webkeresővel megadjuk az új címet. THTTPSOAPPascalInvoker Értelmezi a SOAP kérést és végrehajtja a megfelelő segítségül hívott interfészt. A SOAP kérést egy THTTPSOAPDispatcher től kapja, elemzi, majd egy közeli hívást generál egy regisztrált, segítségül hívott interfésztől. Használja az InvocationRegistry t (INVREGISTRY), hogy eldöntse a bejövő SOAP kérés megfelel-e egy már regisztrált, segítségül hívott interfésznek (invokable interface). C++ ban a THTTPCppInvoker a megfelelője. Összefogalalás Az eljárások weben keresztüli integrációja kulcsfontosságú. Az XML és HTTP engedélyezi ezt a technológiát,, a SOAP pedig definiálja a kódolási sémát. A WSDL leírja a szolgáltatást, az UDDI pedig hírdeti. A SOAP definiál : - egy kódolási stílust, amely XML t használ ahhoz, hogy bemutasson információi gráfokat. - egy standard utat arra, hogy XML t HTTP re vigyen át - szabályokat üzenetek átadására XML dokumentumként - hibákat - egy médiumot, hogy teljesítse az RPC parancsokat - egy réteget egy többréteges alkalmazásban - boríték fogalma ahhoz, hogy nagyobb méretű adatot is továbbítsunk 5