< Vissza | Tovább >

2.2 feladat: Az alkalmazottak tábla a webszolgáltatás adatforrásához kötése

A Cégcímtár alkalmazás megjeleníti a címtár aktuális alkalmazotti rekordjainak listáját. A rekordok egy JTable (employeesTable) összetevőben jelennek meg, oszlopok alapján rendezhetően (vezetéknév, keresztnév e-mail cím és alkalmazotti azonosító alapján). Ahhoz, hogy a rekordok megjelenjenek a táblában, egy olyan adatobjektumhoz kell kötnie az employeesTable táblát, amit a minta-webszolgáltatás adatforrása ad vissza.

Adatobjektumok, adatforrások és kötések áttekintése

Ahhoz, hogy az employeesTable tábla kezelni tudjon egy helyi adatobjektumot, a vizuális szerkesztővel adatforrást kell felvenni az alkalmazásba. Az adatforrás a minta-webszolgáltatás proxy-hoz csatlakozik, és feltérképezi az alkalmazás számára elérhető szolgáltatásmetódusokat. Ezután ki kell jelölni a getLightEmployeeRecord szolgáltatásmetódust, ami elérhető az adatforrásból. Végül a sor adatobjektumban (lightEmployeeRecordRows) visszaadott mezőkhöz köti az alkalmazás employeesTable tábláját.

Ezeket az adatforrásokat és adatobjektumokat könnyen és gyorsan létrehozhatja a vizuális Java szerkesztő beépített kötési osztályaival. A vizuális szerkesztő általános felületeket és osztályokat biztosít, melyek létrejönnek a projektben, ahogy a vizuális összetevőket az adatgyárakhoz köti. A kötési osztályok alapértelmezésben a jve.generated nevű csomagban lesznek előállítva. A vizuális szerkesztő általános megvalósításként kínálja a kötési osztályokat, amiket személyre szabhat és bővíthet az alkalmazás szükségleteinek megfelelően. Ez az ismertető a már az alapszintű és egyszerű kötési osztályokban is elérhető hatékonyságot és rugalmasságot mutatja be.

Fontos: A feladat megkezdése előtt ajánlott elolvasni a következő súgótémakört. Ezek a témakörök segítik a vizuális Java szerkesztőben biztosított adatobjektumok, adatforrások és kötések mögött húzódó működések és funkciók megismerését.
  • Adatkötések bemutatása
  • Kötési API leírása

Ebben az ismertetőben webszolgáltatás adatforrást fog használni az alkalmazáshoz, továbbá számos adatobjektumot és kötéstípust. Amikor ezen objektumok példányait felveszi az alkalmazásba, akkor a vizuális szerkesztő hozzáadja a szükséges osztályokat a projekt jve.generated csomagjához, amiben bővítheti, kicserélheti vagy újraírhatja az adatkötési működést. A vizuális Java szerkesztő vizuális támogatást biztosít az objektumkötésekhez, mivel szabadon alakíthatóan jeleníti meg azt a tervezési területet, ahol az alkalmazásban használt adatobjektumok, adatforrások és kötések láthatóak. A vizuális szerkesztő vonalakat rajzol a vizuális összetevők, illetve az adatobjektumok és adatforrások közé, így mutatva bármely kijelölt objektum aktuális kötéseit.

A következő ábra a vizuális komponensek, kötések, adatobjektumok és adatforrások együttműködésének egyszerű áttekintése. Az ismertetőben létrehozott alkalmazás a kötések felhasználásának kicsit bonyolultabb és kreatívabb felhasználását szemlélteti. A diagram létrehozandó mintaalkalmazás kötéseit, adatobjektumait és adatforrásait nem pontosan ábrázolja.

1. Ábra Ez az ábra a vizuális komponensek, kötéskezelők, adatobjektumok és adatforrások közötti példa viszonyokat mutatja be.Ez az ábra the vizuális komponensek, kötéskezelők, adatobjektumok és adatforrások közötti viszonyokat mutatja be

Az 1. ábrán minden vizuális objektum saját kötéssel rendelkezik, amely adatobjektumhoz, illetve a gomb esetén adatforráshoz társítja. A szövegmezők kötései a mezőt az adatobjektum bizonyos tulajdonságához kötik. Az ábrán szereplő sor-adatobjektum és adatobjektum egyaránt az adatforrás szolgáltatásához intézett közvetlen hívásokból nyeri adatait. A szövegmező adatobjektuma a tábla kijelölt sorának kulcsértékét használja paraméterként a Service2 szolgáltatás hívásakor, ami a tábla kijelölt soráról feltételezhetően további információkat tartalmazó, teljes rekordot ad vissza. Ez a teljes rekord pedig a gomb művelet-kötés paramétereként lesz felhasználva a Service3 szolgáltatás hívásakor, ami lehet például a mezőbe beírt értékeket frissítő metódus. Az adatobjektumokkal, adatkötésekkel és adatforrásokkal kapcsolatos részletesebb magyarázatért használja a korábban biztosított hivatkozásokat.

Webszolgáltatás Java proxy előállítása a projektben az adott WSDL fájllal

A kiszolgálón futó webszolgáltatáss használatához Java proxy vagy -ügyfél szükséges a Java alkalmazással együttműködéshez. Egy WSDL fájl használatával, a Webszolgáltatás ügyfél varázsló segítségével előállíthat egy Java proxy-t a Java projektbe. A MyDirectory projekt tartalmazza az EmployeeDirectory.wsdl fájlt, amivel előállíthatja ezt a proxy-t. A Java proxy előállítása után létrehozhat egy webszolgáltatást képviselő adatforrást, és megkezdheti a vizuális összetevők összekötését.

Fontos: Az ebben a feladatban használt WSDL fájl feltételezi, hogy telepítette a webszolgáltatást a WebSphere Application Server helyi telepítésére, illetve hogy az alapértelmezett portot adta meg a saját gépnek (http://localhost:9080). Ha másként telepítette az EAR fájlt, akkor mielőtt folytathatná, annak megfelelően módosítania kell a WSDL fájlt.

A projekt webszolgáltatás Java proxy-jának előállításához tegye a következőket:

  1. Kattintson a főmenü Fájl > Új > Egyéb menüpontjára, és válassza a Webszolgáltatások > Webszolgáltatás ügyfél varázslót. Ha nem jelenik meg a Webszolgáltatás kategória, akkor válassza az Összes varázsló megjelenítése lehetőséget.
  2. Használja a varázslót a webszolgáltatás ügyfél meghatározására:
    1. A Szolgáltatás meghatározás részben adja meg a MyDirectory projektben megadott WSDL fájlt: /MyDirectory/EmployeeDirectory.wsdl
    2. Az Ügyféltípus mezőben válassza ki a Java proxy elemet.
    3. Állítsa a csúszkát az Ügyfél telepítése bejegyzéshez.
    4. Győződjön meg róla, hogy a kiszolgáló és webszolgáltatás futási környezete megfelelően be van állítva azon a kiszolgálón, amelyen a futtatást végzi. Ez az ismertető IBM WebSphere JAX-RPC futási környezettel rendelkező WebSphere 6.0 és WebSphere 6.1 termékkel került tesztelésre.
    5. Győződjön meg róla, hogy a MyDirectory projekt kimenete a Java proxy.

    Webszolgáltatás ügyfél varázsló

  3. Kattintson a Befejezés gombra. A Webszolgáltatás ügyfél varázsló előállítja a Java proxy-t egy új csomagban (directory.service) a projektben.

Az employeesTable webszolgáltatás által visszaadott sor adatobjektumhoz kötése

Mivel ebben az alkalmazásban az employeesTable az első kötött vizuális összetevő, létre kell hozni egy adatforrást, ami a projekt most felvett minta-webszolgáltatás proxy-jára mutat. Amikor a későbbi feladatokban más vizuális összetevőket köt, ezt az adatforrást fogja újrafelhasználni. Ebben a lépésben felveszi a Webszolgáltatás adatforrást és a lightEmployeeRecordRows adatobjektumot.

Az alkalmazottak tábla kötéséhez tegye a következőket:
  1. A Java komponens nézetben vagy a tervezési nézetben jelölje ki az employeesTable táblát. (Ellenőrizze, hogy nem a JScrollPane szülőösszetevőt választotta ki.) A tervezési területen megjelenik egy Kötés címke az employeesTable tetején.

    Kötés lap a grafikus rajzolási területen a JTable összetevőn

  2. Kattintson a Kötés lapra az employeesTable táblán. Ennek alternatívájaként kattintson a jobb egérgombbal az employeesTable táblára, majd válassza az előugró menü Kötési tulajdonságok menüpontját.
  3. Mivel az alkalmazásban még nincsenek adatobjektumok, fel kell venni egyet. Kattintson az Új adatforrás adatobjektum gombra.
  4. A Forrás típusa mezőben válassza a Webszolgáltatás lehetőséget.
  5. Mivel még nem vette fel a webszolgáltatás adatforrást az alkalmazáshoz, most kell megtennie. Kattintson az Adatforrás mező melletti ... gombra, hogy megnyissa a projektben elérhető webszolgáltatás ügyfeleket vagy proxykat kereső Webszolgáltatás adatforrás hozzáadása párbeszédablakot.
  6. Jelölje ki az EmployeeDirectory webszolgáltatás lehetőséget, és kattintson a Befejezés gombra. Egy új adatforrást adott hozzá a DirectoryApp.java fájlhoz.

    Webszolgáltatás adatforrás hozzáadása párbeszédablak

  7. Az Új adatforrás adatobjektum párbeszédablakban válassza a Szolgáltatásforrás mezőben a getLightEmployeeRecords() metódust, és fogadja el az új adatobjektum alapértelmezett nevét: lightEmployeeRecordRows. Ehhez a szolgáltatásmetódushoz nem szükségesek paraméterek. kattintson az OK gombra. Létrejön az új adatobjektum, és megjelenik a tervezési nézet szabadon alakítható részén.

    Új adatforrás adatobjektum párbeszédablak

    Tipp: Mivel egy táblát köt, az Új adatforrás adatobjektum párbeszédablak csak a sor adatobjektumokat visszaadó szolgáltatásokat jeleníti meg. Ebben az esetben a getLightEmployeeRecords() metódus az egyetlen olyan elérhető szolgáltatás, ami objektumtömböt ad vissza.
  8. A Tábla adatainak kötése párbeszédablakban válassza a lightEmployeeRecordRows adatobjektumot.
  9. Most ki kell választania a lightEmployeeRecordRows adatobjektumnak az employeesTable táblában megjeleníteni kívánt tulajdonságait.

    Tábla adatainak kötése párbeszédablak

    1. Kattintson a kettős nyíl kettős nyíl gomb gombra, hogy az összes objektumtulajdonságot felvegye a Tábla oszlopai listába.
    2. A felfelé- és lefelé mutató nyilakkal rendezze át a sorokat ebbe a sorrendbe: lastName, firstName, email, employeeID
    3. Nevezze át az oszlopcímeket: Vezetéknév, Keresztnév, E-mail cím, Alkalmazott azonosítója
      Tipp: A tábla kötésének befejeztével bármikor visszatérhet a kötési tulajdonságokhoz, és kívánság szerint átnevezheti, illetve átrendezheti az oszlopokat.
    4. Kattintson az OK gombra.
Az employeesTable már össze van kötve a lightEmployeeRecordRows adatobjektummal, JRowTableBinder összetevő használatával. Ha a szabadon alakítható területen a lightEmployeeRecordRows adatobjektumra kattint, akkor a vizuális szerkesztő egy vonalat rajzol az adatobjektumtól a tábláig. Ezen a vonalon a JRowTableBinder kötést egy táblakötés ikon Táblatkötési ikon ábrázolja. Egy másik vonal jelzi, hogy az adatobjektum adatforrása a webServiceDataSource.

JTable kötési vonalainak megjelenítése

Előadás ellenőrzési pont

Figyelje meg a projekt és az alkalmazás változásait. Ebben a részben felvette a webszolgáltatás adatforrást, egy sor adatobjektumot és egy kötést, ami a sor adatobjektumhoz köti az employeesTable táblát.

Figyelje meg az új csomagot (jve.generated), ami azért lett létrehozva, hogy tárolja a vizuális Java szerkesztő által létrehozott kötési osztályokat. Figyelje meg a másik új csomagot is (directory.service), ami a webszolgáltatás Java proxy-ját tartalmazza. Írja le vagy foglalja össze az ebben a feladatban tanultakat.

A MyDirectory projekt csomagjai

Ha most futtatja a Cégcímtár alkalmazást, akkor a webszolgáltatás feltölti az alkalmazottak táblát a létező alkalmazott rekordokkal.

< Vissza | Tovább >