Komponenten eines ArcGIS Server-Systems
Die ArcGIS-Produktfamilie – ArcGIS Desktop, ArcGIS Engine und ArcGIS Server – basiert komplett auf ArcObjects. Gelegentliche Benutzer von ArcGIS Desktop wissen wahrscheinlich nichts über ArcObjects und müssen sich auch keine Gedanken darum machen. Sie führen z. B. einfach ArcMap aus und bearbeiten ihre Karte. Erst wenn sie anfangen, ArcGIS Desktop anzupassen oder eigene Anwendungen zu erstellen, werden sie vertrauter mit ArcObjects.
Der Hauptunterschied zwischen dem Ausführen einer Desktop-Anwendung und einer Anwendung auf Grundlage eines GIS-Servers besteht darin, wo sich die ArcObjects-Komponenten befinden. Für Desktop-Anwendungen werden die für die Anwendung benötigten Objekte instanziiert und in der Anwendung selbst auf dem lokalen Computer ausgeführt. Wenn Sie beispielsweise ArcMap starten und ein Kartendokument öffnen, instanziiert die ArcMap-Anwendung die Objekte, die Ihnen ermöglichen, die Karte zu zeichnen, Layer hinzuzufügen, das Layout zu bearbeiten usw. Im Grunde werden alle im Kartendokument gespeicherten Objekte zur Verwendung während dieser ArcMap-Sitzung wiederverwendet. Wenn Sie die Karte speichern, wird der aktuelle Status der Objekte, die während der Sitzung verwendet wurden, zur späteren Verwendung in das Kartendokument geschrieben.
Im Gegensatz zu Desktop-Anwendungen haben Clients einer auf dem GIS-Server basierenden Anwendung Remote-Zugriff auf die ArcObjects-Komponenten. Sie können den GIS-Server wie einen Container betrachten, der die benötigten Objekte für alle Client-Anwendungen hostet, etwa auf die gleiche Weise wie eine ArcMap-Sitzung die Objekte für einen einzelnen Benutzer hostet. Beim GIS-Server werden die Objekte jedoch von den Clients gemeinsam genutzt. Deshalb ist die Art und Weise, wie Clients die GIS-Ressourcen verwenden, die auf dem Server ausgeführt werden, ein wenig anders. Wenn Sie eine Anwendung erstellen, die auf einen GIS-Server zugreift, müssen Sie die vorgeschriebenen Coderichtlinien zum Zugriff auf die Objekte, die auf dem Server ausgeführt werden, einhalten. Diese Richtlinien werden im Entwickler-Hilfesystem vorgestellt und beschrieben.
Wenn Sie mit ArcGIS Desktop vertraut sind, dann kennen Sie auch die GIS-Ressourcen, mit denen Sie in der Desktop-Umgebung arbeiten. Wenn Sie z. B. die GIS-Daten anzeigen möchten, erfolgt dies mittels Karten und Globen. Wenn Sie Standorte nach ihrer Adresse suchen möchten, verwenden Sie einen Adressen-Locator. Wenn Sie eine Analyse ausführen möchten, verwenden Sie die Geoverarbeitungswerkzeuge in der Toolbox. Jedes dieser Elemente kapselt eine Ebene der GIS-Funktionalität. Im Grunde ist die GIS-Funktionalität durch einen bestimmten Satz von ArcObjects-Komponenten verfügbar, die die Funktionalität implementieren.
Auf dem GIS-Server arbeiten Sie nicht mit Kartendokumenten, Globe-Dokumenten und Adressen-Locators, sondern mit Karten-Services, Globe-Services und Geokodierungs-Services. GIS-Ressourcen, die auf dem Server zur Verfügung gestellt wurden, werden allgemein als Services bezeichnet. Eigentlich verwenden Sie trotzdem Kartendokumente, Globe-Dokumente und Adressen-Locators, da dies die Quellen für die Services sind, die Sie auf dem GIS-Server bereitstellen. Wenn Sie also eine Karte freigeben möchten, die Sie auf dem GIS-Server erstellt haben, definieren Sie den Karten-Service, der auf dem Server ausgeführt wird, mithilfe des Kartendokuments.
Der Hauptzweck eines GIS-Servers ist es, Services zu hosten und sie an Client-Anwendungen zu verteilen, die sie benötigen. Darüber hinaus stellt der GIS-Server einen Satz von Werkzeugen bereit, der Ihnen ermöglicht, die Services zu verwalten. Sie können z. B. die Anwendung ArcGIS Server Manager verwenden, um Services hinzuzufügen und zu entfernen.
Es ist nützlich, zu verstehen, wie ein GIS-Serversystem zusammengesetzt ist, damit Sie Anwendungen erstellen können, die effektiv ArcObjects verwenden, die in einer Serverumgebung ausgeführt werden. Dieses Thema dient als Einführung in die Komponenten, aus denen sich ein GIS-Server zusammensetzt.
Das folgende Bild veranschaulicht die ArcGIS Server-Systemarchitektur:
Ein ArcGIS Server-System besteht aus einigen der folgenden Komponenten:
- GIS-Server – Der GIS-Server hostet die GIS-Ressourcen, z. B. Karten, Globen und Adressen-Locators, und stellt sie Client-Anwendungen als Services zur Verfügung.
Der GIS-Server selbst besteht aus zwei verschiedenen Teilen: Server Object Manager (SOM) und Server Object Container (SOCs). Wie der Name schon sagt, verwaltet der SOM die Services, die auf dem Server ausgeführt werden. Wenn eine Client-Anwendung die Verwendung eines bestimmten Services anfordert, ist es der SOM, der diesen für den Client zur Verwendung bereitstellt.
Der SOM stellt eine Verbindung mit einem oder mehreren SOCs her. Auf den SOC-Computern werden die vom SOM verwalteten Services gehostet. Abhängig von der Konfiguration können Sie den SOM und den SOC auf verschiedenen Computern ausführen und sogar mehrere SOC-Computer haben. In der Abbildung sehen Sie einen SOM-Computer, der mit zwei SOC-Computern verbunden ist.
- Webserver – Hostet Webanwendungen und Web-Services, die die auf dem GIS-Server ausgeführten Ressourcen verwenden.
- Clients – Clients sind Web-, Mobil- und Desktop-Anwendungen, die mit ArcGIS Server Internet-Services oder lokalen ArcGIS Server-Services verbunden sind.
- Datenserver – Der Datenserver enthält die GIS-Ressourcen, die als Services auf dem GIS-Server veröffentlicht wurden. Diese Ressourcen können Kartendokumente, Adressen-Locators, Globe-Dokumente, Geodatabases und Toolboxes sein.
- Manager- und ArcCatalog-Administratoren – ArcGIS Server-Administratoren können ihre GIS-Ressourcen mithilfe von Manager oder ArcCatalog als Services veröffentlichen.
Manager ist eine Webanwendung, die das Veröffentlichen von GIS-Ressourcen als Services, das Verwalten des GIS-Servers und das Erstellen der Webanwendungen auf dem Server unterstützt.
ArcCatalog beinhaltet einen GIS-Server-Knoten, der verwendet werden kann, um Verbindungen zu GIS-Servern für die allgemeine Serververwendung oder die Verwaltung der Eigenschaften und Services eines Servers hinzuzufügen.
- ArcGIS Desktop-Autoren von Inhalt – Um die GIS-Ressourcen zu erstellen, z. B. Karten, Geoverarbeitungswerkzeuge und Globen, die auf dem Server veröffentlicht werden, müssen Sie ArcGIS Desktop-Anwendungen wie ArcMap, ArcCatalog und ArcGlobe verwenden. Wenn Sie einen gecachten Karten-Service erstellen, müssen Sie außerdem den Cache mithilfe von ArcCatalog erstellen.