Erstellen von Java-Webanwendungen
Wenn Sie Webanwendungen erstellen möchten, die Java Enterprise Edition nutzen, oder wenn die Anforderungen die Funktionen der JavaScript-APIs übersteigen, erwägen Sie, das ArcGIS Server Web Application Developer Framework (ADF) zu verwenden. Das Web ADF stellt Werkzeuge und Vorlagen zum Entwickeln von Webanwendungen in der Java Enterprise Edition-Umgebung bereit.
Sobald Sie das Web ADF installiert haben, können Sie auf die Entwickler-Plug-Ins für Eclipse und NetBeans zugreifen, die Folgendes bieten:
- Vorlage für Web Mapping-Anwendungen im Dialogfeld "Neues Projekt"
- ArcGIS Java Enterprise Edition-Websteuerelemente
- Entwicklerbibliotheken mit dem Präfix com.esri.adf
Die unterstützten Entwickler-IDEs schließen Eclipse und NetBeans ein. Dies sind ausgezeichnete Produktivitätswerkzeuge, mit denen Sie die Web Mapping-Anwendung erweitern können. Mit dem Web ADF können Sie (zusätzlich zum Hinzufügen von Textfeldern und Schaltflächen) Elemente wie z. B. eine Karte und ein Inhaltsverzeichnis direkt zur Webanwendung hinzufügen. In der Entwickler-Hilfe wird davon ausgegangen, dass Sie bereits mit dieser Entwicklungsumgebung vertraut sind und sich mit standardmäßigen Java Enterprise Edition JSF-Steuerelementen auskennen.
Erste Schritte mit der Web Mapping-Anwendung
Das Web ADF wird mit der Web Mapping-Anwendung ausgeliefert, die eine einsatzbereite Anwendungsvorlage ist. Die Web Mapping-Anwendung kann ganz einfach in der Manager-Anwendung oder mit einem der IDE-Plug-Ins erstellt werden. Sie können die Web Mapping-Anwendung direkt im Manager ausführen und sie unverändert bereitstellen, ohne zusätzlichen Code zu schreiben, oder sie als Ausgangspunkt zum Erstellen einer benutzerdefinierten Anwendung verwenden, indem Sie sie in die Entwickler-IDE importieren. In einigen Fällen möchten Sie den Code oder die Dateien verwenden, die als Richtlinien für eigene Projekte in die Web Mapping-Anwendung integriert sind.
Erstellen einer neuen Webanwendung
Sie können die im Web ADF bereitgestellten Werkzeuge verwenden, um in einer Java Enterprise Edition-Entwickler-IDE eine neue Webanwendung ohne die Verwendung einer Vorlage oder einer zuvor im Manager erstellten Anwendung zu erstellen. Wenn Sie Eclipse oder NetBeans mit den installierten Plug-Ins verwenden, können Sie die Websteuerelemente des ADF nutzen, indem Sie sie den Klassenpfaden der jeweiligen Projekte hinzufügen.
Wenn Sie die Websteuerelemente nicht verwenden oder Sie über deren Standardfunktionalität hinausgehen möchten, können Sie die mit ArcGIS Server bereitgestellten Bibliotheken verwenden, um programmgesteuert eine Verbindung mit einem Server herzustellen und mit den darauf ausgeführten Services zu arbeiten. Jede der Bibliotheken hat ein Objektmodelldiagramm, das Ihnen helfen kann, die Klassen in der Bibliothek und ihre Beziehungen zu visualisieren. Sie finden die Objektmodelldiagramme im Bibliotheksreferenz-Abschnitt der Entwickler-Hilfe.
Nutzen des Web ADF
Das Web ADF ist konzipiert, um Verbindungen zu mehreren Typen der GIS-Services in Webanwendungen und Web-Services zu unterstützen. Zu diesen zählen folgende:
- ArcGIS Server-Services (lokal und Internet)
- ArcIMS-Services
- ArcGIS Online-Services
- OGC WMS-Services
Sie können nicht nur auf mehrere Typen von GIS-Servern zugreifen, sondern auch die GIS-Services, die auf diesen Servern ausgeführt werden, in einer Karte kombinieren. Das Web ADF unterstützt das Hinzufügen von mehreren Karten-Services zu einer einzelnen Kartenanzeige und ermöglicht es Ihnen, Karten-Services, die auf dem gleichen Server oder auf verschiedenen Servern mit unterschiedlichen Typen ausgeführt werden, nahtlos zu integrieren. Sie können beispielsweise einen Karten-Service, der auf einem ArcIMS Server ausgeführt wird, mit einem auf ArcGIS Server ausgeführten Service kombinieren. Diese Multiservice-Architektur ermöglicht es Ihnen, Karten-Services transparent zu überlagern.
Jeder Service-Typ, den das Web ADF unterstützt, hat eine eigene API. Wenn also eine Karte mehrere verschiedene Typen von Services enthält, kann es sein, dass Sie mit mehreren APIs arbeiten müssen. Wenn die Karte z. B. einen ArcGIS Server-Service und einen ArcIMS-Service kombiniert, müssen Sie möglicherweise sowohl mit ArcObjects als auch der ArcIMS-API programmieren. Glücklicherweise stellt das ADF eine allgemeine API zum Navigieren und Abfragen einer Karte, die mehrere Service-Typen enthält, bereit. Dies bedeutet, dass Sie für Vorgänge, die die ganze Karte einschließen – z. B. zu einer bestimmten Ausdehnung zoomen – den Code bequem mit den Web ADF-Klassen schreiben können, statt den Code in der API jedes Service-Typs zu schreiben.
Wenn Sie erweiterte Features mit einem bestimmten Service-Typ entwickeln möchten, bietet das ADF eine Möglichkeit, in einer Java-Umgebung auf die Service-API zuzugreifen. Sie können beispielsweise mithilfe der ArcIMS-API unter Verwendung von Java-Klassen mit ArcIMS-Services arbeiten. Die Entwickler-Hilfe enthält Informationen zum Programmieren mit mehreren Service-Typen und wie auf die einzelnen APIs zugegriffen wird.
Zusätzlich zu den oben aufgelisteten Service-Typen unterstützt das Web ADF das Hinzufügen von Grafiken zu einer Karte. In vielen Fällen bietet die Verwendung eines Web ADF-Grafik-Layers eine einfache Alternative zu anderen komplexeren Methoden zur Datenspeicherung, wie z. B. das programmgesteuerte Erstellen einer Feature-Class.
Erweitern des Web ADF
Das Web ADF ist flexibel konzipiert, damit Sie Folgendes anpassen können:
- Werkzeuge und Befehle
- Tasks
- Datenquellen
Das im ADF enthaltene Werkzeugleisten-Steuerelement enthält einen Standardsatz von Werkzeugen und Befehlen, die für die Kartennavigation und Abfragen verwendet werden. Sie können Code für eigene Werkzeuge und Befehle schreiben und sie einer Werkzeugleiste hinzufügen. Eine verbreitete Methode ist, den benutzerdefinierten Code in eine Klassenbibliothek zu schreiben, die Sie dem Entwickler-IDE-Projekt hinzufügen. Sie können dann jedes Werkzeug und jeden Befehl konfigurieren, um Code in der Klassenbibliothek auszuführen.
Das Web ADF schließt eine Reihe von Standard-Tasks ein, die Sie den Anwendungen hinzufügen können. Diese umfassen Tasks für Abfragen, Netzwerkanalyse und Bearbeitung. Die Tasks werden alle aus einem gemeinsamen Framework in der Websteuerelemente-Bibliothek erstellt. Sie können mithilfe des gleichen Frameworks einen eigenen Task entwickeln.
Das Web ADF unterstützt die Anzeige und Abfrage mehrerer Typen von Services, z. B. ArcGIS Server-Services, ArcIMS-Services und WMS-Services. Im ADF-Kontext wird ein Service als Datenquelle bezeichnet. Das ADF enthält ein Framework zum Entwickeln der Unterstützung eigener Typen von Datenquellen zusätzlich zu denen, die oben aufgelistet sind.
Aufrufen der Hilfe
Wenn Sie das Web ADF installieren, wird die Entwickler-Hilfe automatisch installiert. Sie können die Entwickler-Hilfe über den Desktop, unter Linux/Solaris über die Befehlszeile oder innerhalb der unterstützten Entwickler-IDE starten.
So starten Sie die Entwickler-Hilfe über den Desktop:
- Navigieren Sie zu Start > Alle Programme > ArcGIS > Developer Help > Open Java Help.
- Klicken Sie auf "Developing Applications".
So öffnen Sie die Entwickler-Hilfe über die Befehlszeile unter Linux/Solaris:
Öffnen Sie (als Zuständiger für die Installation) unter Linux/Solaris die Java-Entwickler-Hilfe, indem Sie
- % <ArcGIS Server-Installationsverzeichnis>/arcgis/scripts/startJavaHelp ausführen.
Um die Entwickler-Hilfe in Eclipse zu öffnen, gehen Sie wie folgt vor:
- Klicken Sie im Menü Hilfe auf Inhalt.
- Klicken Sie auf ArcGIS Server.
- Klicken Sie auf "Developing Applications".
Die Bibliotheksreferenz
Die Bibliotheksreferenz enthält kurze Beschreibungen von jeder Klasse und jedem Element im Web ADF. Einige Klassen und Elemente verfügen über zusätzliche Hinweise und Codebeispiele. Wenn ein Paket außerdem ein Objektmodelldiagramm aufweist, können Sie es in der Bibliotheksreferenz finden.
Sie gelangen zur Bibliotheksreferenz, indem Sie die oben beschriebenen Schritte zum Öffnen der Entwickler-Hilfe ausführen. Wenn Sie auf ArcGIS Server klicken, wird der Knoten Referenz im Inhaltsverzeichnis angezeigt.