< Zurück | Weiter >

Lerneinheit 2: Service konfigurieren

Sie haben nun bereits den Code für diesen Service geschrieben. Jetzt können Sie ihn anderen Anwendungen als Web-Service verfügbar machen. Wenn Sie den Service auf diese Weise verfügbar machen, müssen Service-Binding-Informationen vorhanden sein, die für andere Anwendungen angeben, wo der Service sich befindet und welche Funktionen im Service verfügbar sind. Der Service veröffentlicht diese Informationen als WSDL-Datei (WSDL - Web Services Description Language).

Als Alternative zu Web-Services können EGL-Clientanwendungen auf EGL-Serviceanwendungen auch als EGL-Services zugreifen. Dieses Verfahren bietet eine bessere Leistung als bei Web-Services, kann jedoch nur zwischen zwei EGL-Anwendungen angewendet werden. Damit die Kompatibilität möglichst groß ist, werden in diesem Lernprogramm Web-Services verwendet, die zwischen zwei EGL-Anwendungen, zwei Nicht-EGL-Anwendungen oder einer EGL-Anwendung und einer Nicht-EGL-Anwendung eingesetzt werden können. Weitere Informationen hierzu finden Sie in der EGL-Dokumentation. Klicken Sie dazu auf Hilfe > Inhalt der Hilfetexte.

Service-Binding-Informationen sind in einem EGL-Implementierungsdeskriptor enthalten. In den folgenden Schritten arbeiten Sie mit dem Implementierungsdeskriptor des Projekts und konfigurieren den Build-Deskriptor des Projekts so, dass dieser Implementierungsdeskriptor verwendet wird.

So geht's

Implementierungsdeskriptor und Build-Deskriptor prüfen

Wenn Sie das EGL-Projekt erstellt haben, haben Sie automatsich eine Implementierungsdeskriptordatei mit dem Namen EGLService.egldd erstellt. Anschließend haben Sie bei der Erstellung des Service das Kontrollkästchen Als Web-Service erstellen ausgewählt. Dadurch wurde der Service automatisch dem Implementierungsdeskriptor hinzugefügt. In diesem Abschnitt überprüfen Sie diese Einstellungen.
  1. Erweitern Sie in der Sicht 'Projektnavigator' das Projekt EGLService und den Ordner EGLSource. Öffnen Sie die Implementierungsdeskriptordatei, indem Sie doppelt auf die Datei EGLService.egldd klicken.
  2. Klicken Sie im EGL-Editor für Implementierungsdeskriptor auf die Registerkarte Web-Service-Implementierung.
  3. Stellen Sie sicher, dass der Service in der Liste der Services angezeigt wird, die als Web-Service implementiert werden sollen (siehe folgende Abbildung):
    EGL-Implementierungsdeskriptordatei mit den Web-Service-Binding-Informationen
  4. Schließen Sie die Implementierungsdeskriptordatei.
  5. Klicken Sie doppelt auf den Build-Deskriptor für das Projekt, um es im Buildabschnittseditor zu öffnen. Diese Datei heißt EGLService.eglbld und befindet sich im Ordner EGLSource des Projekts. Die Build-Deskriptordatei enthält Build-Deskriptoroptionen, die beschreiben, wie EGL das Projekt in der Ausgabesprache generiert.
  6. Suchen Sie in der Liste der Build-Deskriptoroptionen die Option mit dem Namen deploymentDescriptor. Beachten Sie, dass er auf den Namen des Implementierungsdeskriptors gesetzt ist, der standardmäßig denselben Namen wie das Projekt aufweist. Der Implementierungsdeskriptor muss auf diese Weise angegeben werden, damit er verwendet wird. Der Buildabschnittseditor sieht nun wie folgt aus:
    Buildabschnittseditor, in dem die Option deploymentDescriptor auf den Namen des Implementierungsdeskriptors gesetzt ist
  7. Schließen Sie den Build-Deskriptor.
  8. Generieren Sie das gesamte Projekt, indem Sie in der Sicht 'Projektexplorer' mit der rechten Maustaste auf das Projekt klicken und anschließend auf Generieren klicken.

WSDL-Datei generieren

WSDL-Dateien teilen Clients Informationen zu Services mit, indem sie die vom Service bereitgestellten Funktionen beschreiben und die Position des Service angeben. In diesem Abschnitt generieren Sie aus dem Service eine WSDL-Datei. Später importiert die Clientanwendung diese WSDL-Datei und verwendet die darin enthaltenen Informationen.

EGL verwendet die Informationen in der Implementierungsdeskriptordatei und den Serviceabschnitt selbst, um eine WSDL-Datei zu erstellen, muss jedoch außerdem den Port des Servers kennen, der Host für den Service sein soll. Der Standardwert für den Port lautet 9080. Gehen Sie wie folgt vor, um die Portnummer des Servers zu ermitteln:

  1. Öffnen Sie die Sicht 'Server'. Wenn die Sicht 'Server' nicht angezeigt wird, klicken Sie auf die Optionen Fenster > Sicht anzeigen > Server.
  2. Klicken Sie mit der rechten Maustaste auf den Server mit dem Namen WebSphere Application Server Version 6.1, und starten Sie diesen, indem Sie im Kontextmenü auf Starten klicken. Der Server benötigt eine gewisse Zeit für den Start. Diese Zeitdauer hängt von Ihrem System ab.
  3. Warten Sie, bis der Server den Status Gestartet im entsprechenden Feld Status anzeigt (siehe folgende Abbildung):
    Sicht 'Server' mit gestartetem Server
  4. Klicken Sie, wenn der Server gestartet ist, in der Sicht 'Server' mit der rechten Maustaste darauf, und klicken Sie anschließend auf Administrationskonsole ausführen (nicht auf 'Verwaltungsscript ausführen'). Die Administrationskonsole wird im Editor geöffnet.
  5. Erweitern Sie auf der linken Seite der Administrationskonsole den Eintrag Server, und klicken Sie auf Anwendungsserver. Ihr Server wird nun als Liste unter Anwendungsserver angezeigt (siehe folgende Abbildung):
    Liste von Servern in der Administrationskonsole
  6. Klicken Sie in der Spalte Name auf den Servernamen.
  7. Klicken Sie auf der Seite mit der Beschreibung Ihres Servers auf die Registerkarte Konfiguration.
  8. Klicken Sie auf der Registerkarte Konfiguration unter Übertragungen auf den Link Ports.
  9. Klicken Sie in der Liste der Ports auf den Port, bei dem unter Port-Name der Name WC_defaulthost steht.
  10. Geben Sie auf der Seite mit der Beschreibung dieses Ports die Portnummer in das Feld Port ein. In dieser Abbildung lautet die Portnummer 9082.
    Administrationskonsole mit der Anzeige der Portnummer
  11. Schließen Sie die Administrationskonsole, ohne Änderungen vorzunehmen.
  12. Klicken Sie im oberen Menü auf Fenster > Einstellungen.... Erweitern Sie im linken Teilfenster EGL und klicken Sie auf Services.
  13. Wenn der Einrag für das Feld Port nicht mit der Server-Portnummer in der Verwaltungskonsole übereinstimmt, geben Sie die Portnnummer von der Konsole hier ein. Das Fenster sollte nun wie folgt aussehen:
    Die Serviceeinstellung zeigt die gleiche Portnummer für die WSDL-Generierung wie der Server an.
  14. Klicken Sie auf Fertig stellen.
  15. Klicken Sie in der Sicht 'Projektexplorer' mit der rechten Maustaste auf die Datei HelloService.egl, die sich im Paket 'Services' des Ordners EGLSource befindet, und klicken Sie anschließend auf die Optionen EGL-Services > WSDL-Datei generieren.
  16. Klicken Sie im Fenster WSDL-Datei erstellen auf Fertig stellen. EGL erstellt eine WSDL-Datei im Paket wsdl des Ordners EGLSource und zeigt diese im WSDL-Editor grafisch an.
  17. Sehen Sie sich die grafische Darstellung der WSDL-Datei an, und schließen Sie diese, wenn Sie damit fertig sind.
Nun haben Sie den Service so konfiguriert, dass er von anderen Anwendungen zur Laufzeit verwendet werden kann. Die WSDL-Datei beschreibt den Service, so dass Clients zu ihm zur Laufzeit eine Verbindung herstellen können, und die Implementierungsdeskriptordatei ermöglicht EGL, den Service zur Laufzeit verfügbar zu machen.

In einer realen Umgebung werden Services unabhängig von den Clients, die sie verwenden, ausgeführt. Um diese Situation zu simulieren, können Sie eine neue Instanz des Anwendungsservers erstellen und den Service dort ausführen. Zum Zweck dieses Lernprogramms liegt kein Vorteil darin, diese zusätzlichen Ressourcen zu verbrauchen; Sie führen den Service auf dem vorhandenen Anwendungsserver zu dem Zeitpunkt aus, an dem Sie Ihren Client testen.

< Zurück | Weiter >