Kidolgozása Web-szolgáltatások Java 2 Enterprise Edition platform (J2EE)
A Java 2 Platform, Enterprise Edition (J2EE) 1.4-es verzió volt lehetőség az integráció web-szolgáltatásokat. Web-szolgáltatások jelenleg az egyik módja a J2EE platform szolgáltatásokat. J2EE meglévő elemek könnyen képviseli formájában egy web-szolgáltatások. Web-szolgáltatás már elérhető számos előnyét a J2EE platformon, beleértve a hordozhatóság, a skálázhatóság, a megbízhatóság és a kötődés hiánya egyetlen gyártó. Például J2EE-konténerek biztosítják tranzakciók támogatása, adatbázis kapcsolat, életciklus-menedzsment, és egyéb szolgáltatások - skálázható és nem igényelnek kódolás.
A J2EE platform támogatja a Web-szolgáltatás útján JAX-RPC 1.1 API, amelyeket fel lehet használni, hogy hozzon létre végpont (végpontok) Web-alapú szolgáltatások SOAP. JAX-RPC 1.1 támogatja kölcsönhatás web-alapú szolgáltatások WSDL és SOAP. A J2EE platform is támogatja a JSR 109, az add-on JAX-RPC, amely egy programozási modellt végrehajtási Web-szolgáltatások, a telepítési és webes szolgáltatások a J2EE 1.4 platform. Többek között, J2EE 1.4 támogatja a WS-I Basic Profile. Ez azt jelenti, hogy a fejlett J2EE platformon, Web-szolgáltatások nem csak a hordozható között J2EE megvalósítások, hanem kölcsönhatásba léphet bármely web-szolgáltatások, a megfelelő szabványok WS-I.
A fejlesztés a web-szolgáltatások fejlesztők általában szükség van alapos ismerete XML-szabványok és protokollok (például WSDL és SOAP), valamint jelentős tapasztalattal rendelkezik a programozás. A platform a J2EE 1.4, azonban a fejlesztés Web-járatok nem ismerete WSDL és SOAP. Közötti átváltás Java és XML-e normák merülnek runtime-rendszer web-szolgáltatások, ezzel felszabadítva a programozó az alacsony szintű részleteket.
- Rövid áttekintés a Web-szolgáltatások;
- Áttekintés JSR 109;
- Példák Web-szolgáltatások és az ügyfelek;
- Jellemzői a fejlesztés web-szolgáltatások segítségével a J2EE 1.4 platform.
- Példák kódot, amit felhasználhat a saját alkalmazásokat.
Felülvizsgálata Web-szolgáltatások
1. ábra: Modell Publish-Discover-Indítsunk egy J2EE 1.4.
Ami a szoftver építész, a Web-szolgáltatás lehet tekinteni, mint egy szolgáltatás-orientált architektúra áll, hogy a szolgáltatások, amelyek kommunikálnak egymással (és az ügyfél) keresztül jól definiált interfészek. Az egyik előnye a szolgáltatás-orientált architektúra, hogy lehetővé teszi a fejlesztési lazán csatolt alkalmazásokat lehet elosztani a hálózatban, amely elérhető bármely ügyfél.
A J2EE 1.4 SDK eszközöket, hogy gyorsan hozzon létre, tesztelése és üzembe Web-szolgáltatások és az ügyfelek, kölcsönhatásban más Web-szolgáltatások és az ügyfelek működő mind a Java platform és más platformokon. Ezen kívül lehetővé teszik, hogy vezessenek be a Web-szolgáltatások jelenlegi J2EE-alkalmazásokat. Servletek és EJB-komponensek formájában nyújtott a web-szolgáltatások, amelyek azután lehet hozzáférni, mivel a Java-, és nem Java-ügyfelek. J2EE-alkalmazások maguk is jár, mint egy ügyfél webes szolgáltatások, és a hozzáférést más Web-szolgáltatások, függetlenül attól, hogy hogyan hajtják végre.
J2EE 1.4 SDK
A legjobb módja, hogy megtudja, mi az új a platform J2EE - letölt a J2EE 1.4 SDK, és megérteni ezt magad. A J2EE 1.4 SDK a következőket tartalmazza:
- J2EE 1.4 Application Server
- Java 2 Platform, Standard Edition (J2SE) 1.4.2_01
- Példák segítségével J2EE (Java Pet Store, Java Kaland Builder, intelligens Ticket stb)
- Sun ONE Message Queue
- PointBase adatbázis szerver
Alapértelmezett J2EE 1.4 SDK Windows platformon van telepítve a C: \ sun \ AppServer és JDK 1.4.2_01 a c: \ sun \ AppServer \ jdk.
A telepítés után meg kell adni a PATH környezeti változó elérési útja c: \ sun \ AppServer \ bin és a c: \ sun \ AppServer \ jdk \ bin. Ezek a könyvtárak tartalmazzák számos olyan eszközt (beleértve wscompile), az ügyfeleket kiszolgáló csonkokat és csontvázak vagy WSDL-leírás alapján a szolgáltatás meghatározása felületen.
A folyamat kialakításakor és Web-szolgáltatás szorosan kapcsolódik a futtató rendszer. Például, a telepítési Web-szolgáltatás Apache Axis eltér a telepítését azonos Web-szolgáltatás Apache SOAP vagy bármilyen más platformon. Specifikáció Java Community Process (JCP) JSR 109 (végrehajtási Enterprise Web Services) határozza meg a létrehozását hordozható Web-szolgáltatások J2EE 1.4 környezetben. Ez a specifikáció tartalmazza:
- Fejlesztés: egységesíteni a programozási modell Web-szolgáltatások és a telepítési leírók.
- Telepítés: leírja a lépéseket, telepítésével várható J2EE-tartályba.
- Közzétételi szolgáltatás: határozza meg a WSDL elérhető az ügyfelek számára.
- Segítségével szolgáltatás: egységesíti a fogantyúk kliens telepítését és JNDI keresési modellt.
J2EE Web-szolgáltatások
JAX-RPC - egy Java API XML RPC. Ezt fel lehet használni, hogy hozzon létre mind az ügyfelek és a webes szolgáltatásokat használó XML és az RPC. RPC keresztül működik XML-protokollokat, mint például a SOAP, amelyek meghatározzák a szerkezet a borítás, a kódoló szabályokat és megállapodásokat képviselet-RPC hívások és válaszok továbbított formájában SOAP-üzenetek HTTP protokollon keresztül. Az előnye, JAX-RPC, hogy a SOAP-üzenetek komplexitása rejtve a fejlesztő. Itt van, hogyan működik:
A fejlesztő adja meg a távoli eljárások (Web-szolgáltatás), amely oka lehet ügyfelekhez a Java-felület, és megvalósítja ezt a felületet. Az ügyfél számára a Web-szolgáltatás olyan, mint egy sor módszerek végrehajtása üzleti logikát az ügyfél nevében. Az ügyfél az internetes szolgáltatást, a szolgáltatás végpont Interface meghatározott JAX-RPC. fejlesztők létre kliens automatikusan létrehoz egy proxy (a helyi objektum, amely képviseli a távoli szolgáltatás), majd egyszerűen hívja a proxy módszereket. A fejlesztő nem kell aggódnia generáló és elemzés SOAP-üzenetek, minden végez futásidejű JAX-RPC. Vegye figyelembe, hogy J2EE Web-szolgáltatások által okozott bármilyen webes kliens, és hogy minden J2EE-kliens mehet minden Web-szolgáltatás.
2. ábra: A Java-kliens, amelyben J2EE Web-szolgáltatás.
Megjegyezzük, hogy a Web-szolgáltatási ügyfél nem utal közvetlenül a szolgáltatóhoz, de mindig - a tartályon keresztül. Ez azért jó, mert lehetővé teszi, hogy a Web-szolgáltatás által biztosított funkciókat a tartály - azaz, a biztonság, a fakitermelés és garancia QoS.
Munka JAX-RPC
Amikor dolgozik JAX-RPC szabad elfelejteni, hogy megjelenik a Java típus határozza meg a XML / WSDL. Persze, jól, hogy nem kell tudni a részleteket ezeket a térképeket, de ez érthető, hogy a JAX-RPC, nem minden J2EE osztályokat lehet használni, mint a módszer paramétereinek vagy vissza értékeket. JAX-RPC támogatja a következő primitív adattípusok. logikai, byte, dupla, úszó, int, hosszú, rövid, és tömbök. Ezen túlmenően, a következő osztályok támogatottak átalakító és a használati osztályok:
JAX-RPC is támogatja egy úgynevezett érték típusát. ami azt jelenti, egy osztály, amely átvihető az ügyfél és a szolgáltató, mint a paraméter vagy visszatérési érték. Érték típusa meg kell felelnie az alábbi szabályokat:
- Meg kell egy nyitott (állami) alapértelmezett konstruktor.
- Nem szabad megvalósítani java.rmi.Remote.
- Szakterülete kell által támogatott JAX-RPC. Továbbá, az állami mező nem lehet végleges vagy átmeneti, és nem nyilvános területen kell a megfelelő getter- és szetter-módszereket.
Létrehozása Web-szolgáltatások
Létrehozása Web-szolgáltatások XML-RPC stílusban J2EE 1.4 platform lehet osztani öt szakaszból áll:
- Tervezés és a kódolás végpont-interfész Web-szolgáltatás.
- A végrehajtás a felület.
- Létrehozása konfigurációs fájl.
- Megteremtve a szükséges fájlokat.
- Segítségével deploytool csomagolásra szolgáltatás WAR-fájlt és annak eloszlása.
1. Tervezés és kódolási végpont-interfész Web-service
Az első lépés létre egy web-szolgáltatás fejlesztése és kódolása végpont-interfész Web-szolgáltatás, ahol a módszer, amely okozhatja a távoli kliens. győződjön meg arról, hogy a fejlődés ezen a felületen:
A kezdéshez teremt választott könyvtárba. A következő példában, hoztam létre egy katalógust apps a c: \ sun \ AppServer, almappák és építeni. Alkalmazások könyvtár tartalmazza .java-fájlokat, a build tartalmazza .class, valamint a többi fájlok automatikusan elkészül.
Web-alapú szolgáltatás, amely fogok létrehozni összefoglalja a két szám. Semmi különös, de elég ahhoz, hogy megmutassa, hogyan lehet létrehozni, alkalmazni, és a web-szolgáltatásokat. 1. lista mutatja a végpont-interfész szolgáltatás, a szokásos Java-felület, amely kiterjeszti az interfész java.rmi.Remote. Ezen a felületen MathFace kijelenti egyik módszer, add, pedig két egész értéket, és egész értéket ad vissza képviselő összeget két egész paramétert.
Az 1. lista: MathFace.java
2. Dinamikus Proxy.
Ebben az esetben az ügyfél kéri a távoli eljárás egy dinamikus proxy osztály vagy létre az előadás alatt. Figyeljük meg, hogy abban az esetben, statikus csonk kódot támaszkodik osztály megvalósításától függően. Ebben az esetben a (dinamikus proxy) ezt a korlátozást. Az első lépés az, hogy hozzon létre egy konfigurációs fájlt. Ezt fel lehet használni, ahogy a 6. lista, változó CSOMAGNÉV a dynamicproxy vagy ilyesmi. Hozzon létre egy almappát alkalmazások dinamikus proxy, és ez - egy alkönyvtárban építeni.
Most készítsük el a szükséges interfészeket használ wscompile.
Mindezek után, akkor létrehozhat egy ügyfél. Listing 8. ábra szerinti végrehajtását. Ez létrehoz egy példányt szolgáltatás gyár. szolgáltatás gyár létrehozásához használt szolgáltatás tárgya, amely úgy működik, mint egy proxy gyár. Mint látható, CreateService metódus két paramétert: URL WSDL-fájlok és QName tárgy tuple képviselő minősített szolgáltatás nevét. Ezután hozzon létre egy proxy objektumot, és végül hívja a összeadó módszer az objektum.
Listing 8: MathClient.java
Konzol ügyfél - J2EE-alkalmazás
Ellentétben önálló kliens, J2EE kliens alkalmazás is megkapják a szolgáltatási felület segítségével JNDI elemzéssel. Ebben az esetben az ügyfél határozza meg a fejlesztő Web-service logikai JNDI név (utalás a szolgáltatás). A tartály csatlakozik a szolgáltatás végrehajtását a felület a kliens környezet kontextusában java: comp / env, a logikai szolgáltatás nevét jelzet:
A kliens-alapú böngésző
Végül, hogy hogyan lehet létrehozni a Web-kliens, Web-hívás szolgáltatás formájában egy böngészőben (használ statikus csonk). Először kell egy konfigurációs fájl, hasonló a listában látható a 6. Cserélje CSOMAGNÉV, például a webes. Ezt követően, az ügyfeleket kupon a következő parancsot:
A következő lépés - létrehozása az webkliensen formájában servletté vagy JSP-oldalon. Listák 9. és 10. ábra a JSP-végrehajtás a Web-kliens. Listing 9 - az a kód, amely megjeleníti az űrlapot, hogy a felhasználó és a fogadó lehetőségeket. A kód lista 10 (statikus csonk) hasonló a kliens 7. listán.
Listing 9: math.jsp
Listing 10: add.jsp
4. ábra: JSP-kliens, Web-hívás szolgáltatás.
következtetés
Web-servisy- a következő lépés az evolúció az interneten. Ezek teszik lehetővé az infrastruktúra és eszközök automatizálni B2B kapcsolatok az interneten keresztül. Integrálása webes szolgáltatások J2EE 1.4 platform leegyszerűsíti a létrehozása és a web-szolgáltatások, felszabadítva a Java-fejlesztő az alacsony szintű részleteket.