< Předchozí | Další >

Lekce 2.2: Svázání tabulky zaměstnanců se zdrojem dat webové služby

Aplikace My Company Directory zobrazuje seznam všech aktuálních záznamů zaměstnanců v adresáři. Záznamy se zobrazují v tabulce JTable (employeesTable) s tříditelnými sloupci, které zahrnují příjmení, jméno, email a ID zaměstnance. Abyste získali záznamy pro tabulku, musíte svázat employeesTable s datovým objektem, který vrátí ukázka zdroje dat webové služby.

Přehled datových objektů, zdrojů dat a vázacích programů

Abyste získali lokální datový objekt employeesTable, se kterým můžete pracovat, použijte vizuální editor pro přidání zdroje dat do vaší aplikace. Zdroj dat se připojí k serveru proxy ukázkové webové služby a objeví metodu webové služby, která je dostupná pro vaši aplikaci. Potom vyberete metodu služby getLightEmployeeRecord, která je k dispozici ze zdroje dat. Nakonec svážete tabulku employeesTable ve vaší aplikaci s poli, která se vrátí v objektu dat řádku (lightEmployeeRecordRows).

Můžete vytvořit všechny tyto zdroje dat a datové objekty rychle a snadno pomocí tříd vázacího programu vestavěných do vizuálního editoru Javy. Vizuální editor poskytuje sadu obecných rozhraní a tříd, které se generují do vašeho projektu, když svazujete vizuální komponenty s továrnami dat. Třídy vázacího programu se generují podle předvolby do balíčku jménem jve.generated. Vizuální editor poskytuje třídy vázacího programu jako generickou implementaci, kterou můžete dále upravovat a rozšiřovat, aby vyhovovala potřebám vaší aplikace. Tento výukový program ukazuje schopnosti a flexibilitu základního a snadného použití předvolených tříd vázacího programu.

Důležité: Než začnete toto cvičení, velmi doporučujeme, abyste si přečetli následující témata nápovědy. Tato témata vám mohou pomoci naučit se více o fungování a logice za datovými objekty, zdroji dat a vázacími programy, které vizuální editor Javy poskytuje:
  • Vázací programy dat - přehled
  • Odkaz rozhraní API vázacího programu

Pro tento výukový program budete používat zdroj dat webové služby, různé typy datových objektů a různé typy vázacích programů ve vaší aplikaci. Když přidáváte instance těchto objektů do aplikace, vizuální editor přidá potřebné třídy do balíčku jve.generated ve vašem projektu, kde můžete rozšiřovat, nahrazovat nebo přepisovat logiku vazeb dat. Vizuální editor Javy poskytuje vizuální podporu pro objekty vazeb tím, že na neformátované oblasti pohledu návrhu zobrazuje datové objekty, zdroje dat a vázací programy, které vaše aplikace používá. Vizuální editor vykresluje čáry mezi vizuálními komponentami a datovými objekty a zobrazuje tak aktuální vazby pro libovolný vybraný objekt.

Následující diagram je jednoduchým přehledem toho, jak jsou vizuální komponenty, vázací programy, datové objekty a zdroje dat v interakci. Aplikace, kterou sestavíte v tomto výukovém programu, ilustruje trochu komplexnější a kreativnější využití vázacích programů. Tento diagram nepředstavuje přímo vázací programy, datové objekty a zdroje dat ve vzorových aplikacích, které sestavujete.

Obrázek 1. Tento diagram uvádí ukázkový vztah mezi vizuálními komponentami, vázacími programy, datovými objekty a zdroji datTento diagram uvádí vztah mezi vizuálními komponentami, vázacími programy, datovými objekty a zdroji dat

V prvním kroku má každá vizuální komponenta vlastní vázací program, který ji přidruží k datovému objektu nebo, v případě tlačítka, k datovému zdroji. Vázací programy pro textová pole spojují pole s konkrétní vlastností datového objektu. Jak datový objekt řádku tak datový objekt v tomto diagramu získávají data z přímých volání služeb na zdroji dat. Datový objekt pro textová pole používá hodnotu klíče z vybraného řádku v tabulce jako argument pro volání služby Service2, která vrátí úplný záznam, který bude pravděpodobně zahrnovat více informací o vybraném řádku v tabulce. Tento úplný záznam se poté použije jako argument pro vázací program akcí tlačítka, když volá službu Service3, což může být metoda, která aktualizuje hodnoty zadané do polí. Podrobnější vysvětlení datových objektů, datových vázacích programů a zdrojů dat viz dříve uvedené odkazy.

Generování proxy prostředí Java pro webovou službu ve vašem projektu pomocí souboru WSDL

Abyste mohli pracovat s webovou službou spuštěnou na serveru, vyžaduje vaše aplikace Java proxy prostředí Java, nebo klienta, se kterým bude vzájemně reagovat. Pomocí souboru WSDL můžete generovat proxy prostředí Java ve vašem projektu Java pomocí průvodce klientem webové služby. Projekt MyDirectory zahrnuje soubor EmployeeDirectory.wsdl, který použijete pro vytvoření tohoto serveru proxy. Poté, co vytvoříte proxy prostředí Java, můžete vytvořit zdroj dat, který představuje webovou službu, a začít vytvářet vazby mezi vizuálními komponentami.

Důležité: Soubor WSDL, který se používá v tomto cvičení, předpokládá, že jste implementovali webovou službu na lokální instalaci serveru WebSphere Application Server a použili předvolený port pro lokálního hostitele (http://localhost:9080). Pokud jste soubor EAR implementovali jinak, musíte příslušným způsobem upravit soubor WSDL, než budete pokračovat.

Vytvoření proxy prostředí Java webové služby ve vašem projektu:

  1. V hlavní nabídce klepněte na Soubor > Nový > Další a vyberte průvodce Webové služby > Klient webové služby. Pokud se kategorie Webové služby nezobrazuje, vyberte Zobrazit všechny průvodce.
  2. Pomocí průvodce definujte klienta webových služeb:
    1. Jako Definici služby zadejte soubor WSDL, který je součástí projektu MyDirectory: /MyDirectory/EmployeeDirectory.wsdl
    2. V poli Typ klienta vyberte Proxy prostředí Java.
    3. Nastavte posuvný ovladač na Implementovat klienta.
    4. Ujistěte se, že server a běhová komponenta webové služby jsou pro váš server řádně nastavené. Tento výukový program byl testován na serverech WebSphere v6.0 a WebSphere v6.1 s běhovou komponentou IBM WebSphere JAX-RPC.
    5. Ujistěte se, že klient proxy prostředí Java je výstupem projektu MyDirectory.

    Průvodce Klient webové služby

  3. Klepněte na Dokončit. Průvodce Klient webové služby generuje proxy prostředí Java do nového balíčku (directory.service) ve vašem projektu.

Vazba tabulky employeesTable s objektem dat řádku vráceným webovou službou

Protože tabulka employeesTable je první vizuální komponenta, kterou svazujete v této aplikaci, musíte vytvořit zdroj dat, který odkazuje na ukázkový server proxy webové služby, který jste právě přidali do svého projektu. Až budete svazovat další vizuální komponenty v dalších cvičeních, znovu použijete tento zdroj dat. V tomto kroku přidáte zdroj dat webové služby a datový objekt lightEmployeeRecordRows.

Svázání tabulky zaměstnanců:
  1. V pohledu Java Beans nebo v pohledu návrhu vyberte employeesTable. (Ujistěte se, že jste nevybrali nadřazený JScrollPane.) V oblasti návrhu se nahoře od employeesTable zobrazí malá karta s názvem Vazba.

    Karta Vazba na JTable na oblasti grafického plátna

  2. Klepněte na kartu Vazba na employeesTable. Můžete případně klepnout pravým tlačítkem na tabulku eployeesTable a vybrat Vlastnosti vazeb.
  3. Protože ve vaší aplikaci nejsou žádné datové objekty, musíte přidat nový objekt. Klepněte na Nový datový objekt zdroje dat.
  4. V poli Typ zdroje vyberte Webová služba.
  5. Protože jste ještě nepřidali zdroj dat webové služby do vaší aplikace, budete ho muset přidat nyní. Vedle pole Zdroj dat klepněte na tlačítko ... a otevřete dialogové okno Přidat zdroj dat webové služby, které vyhledá dostupné klienty webové služby nebo servery proxy ve vašem projektu.
  6. Vyberte webovou službu EmployeeDirectory a klepněte na Dokončit. Do souboru DirectoryApp.java se přidá nový zdroj dat.

    Dialogové okno Přidat zdroj dat webové služby

  7. V dialogovém okně Nový datový objekt zdroje dat vyberte getLightEmployeeRecords() v poli Služba zdroje a akceptujte předvolené jméno pro nový datový objekt: lightEmployeeRecordRows. Pro tuto metodu služby nejsou požadované žádné parametry. Klepněte na OK. Nový datový objekt se vytvoří a zobrazí na neformátované oblasti pohledu návrhu.

    Dialogové okno Nový datový objekt zdroje dat

    Tip: Protože svazujete tabulku, zobrazí dialogové okno Nový datový objekt zdroje dat pouze ty služby, které vracejí objekty dat řádku. V tomto případě je metoda getLightEmployeeRecords() jediná dostupná služba, která vrací pole objektů.
  8. V dialogovém okně Vazby tabulkových dat vyberte datový objekt lightEmployeeRecordRows.
  9. Nyní musíte vybrat vlastnosti datového objektu lightEmployeeRecordRows, které chcete zobrazit v tabulce employeesTable:

    Dialogové okno Datové vazby tabulky

    1. Klepněte na tlačítko s obousměrnou šipkou Double arrow button a přidejte všechny vlastnosti objektů do seznamu Sloupce tabulky.
    2. Použijte šipky nahoru a dolů, abyste uspořádali sloupce do následujícího pořadí, odshora dolů: lastName, firstName, email, employeeID
    3. Přejmenujte názvy sloupců: Příjmení, Jméno, Email, ID zaměstnance
      Tip: Poté, co dokončíte svázání tabulky, můžete se kdykoliv vrátit do vlastností vazeb a přejmenovat sloupce nebo změnit jejich pořadí.
    4. Klepněte na OK.
Tabulka employeesTable je nyní svázána s datovým objektem lightEmployeeRecordRows pomocí JRowTableBinder. Když klepnete na datový objekt lightEmployeeRecordRows na neformátované oblasti, vizuální editor nakreslí čáru od datového objektu k tabulce. Na čáře je JRowTableBinder znázorněn ikonou vázacího programu tabulky Table binder icon. Další čára indikuje, že datový objekt používá jako zdroj dat webServiceDataSource.

Zobrazení čar vazeb pro tabulku JTable

Kontrolní bod lekce

Povšimněte si změn ve vašem projektu a aplikaci. Během této lekce jste přidali zdroj dat webové služby, objekt dat řádku a vázací program, který svazuje employeesTable s řádkovým datovým objektem.

Prozkoumejte nový balíček (jve.generated), který se vytvořil ve vašem projektu pro třídy vázacího programu vytvořené vizuálním editorem Javy. Také si všimněte nového balíčku (directory.service), který obsahuje proxy prostředí Java pro Web service.Describe a shrňte, co jste se naučili v této lekci.

Balíčky v projektu MyDirectory

Nyní, když spustíte aplikaci My Company Directory, obsadila webová služba tabulku zaměstnanců stávajícími záznamy zaměstnanců.

< Předchozí | Další >