Архитектуру ArcGIS для разработчиков можно представить как серию клиентов различных типов (рабочих столов, мобильных устройств, веб-браузеров и т. д.) и серверных подключений через простую сервисную модель. Технология разработчика для ArcGIS основана на данной концептуальной схеме отношений между клиентом и сервером.
ArcGIS включает богатый набор клиентов (клиентов сервисов), разработанный для различных платформ — от мобильного интернета до полнофункциональных настольных рабочих станций. ArcGIS также включает набор серверов для ГИС-сервисов. Эти серверы разработаны так, что на них запускаются "облачные" сервисы, корпоративные сервисы или локальные оперативные ГИС. Настольные ГИС также можно использовать для получения доступа и работы с файлами ГИС в их локальных сетях.
API клиента ArcGIS
ArcGIS включает в себя несколько приложений клиентов для настольных компьютеров, интернета и мобильных сред, обеспечивающих доступ и применение данных и сервисов ГИС, расположенных в облаке или на корпоративных серверах. Кроме того, для каждого типа клиента доступны API разработчика, позволяющие внедрять собственные приложения и рабочие алгоритмы пользователя. Здесь приведено описание нескольких опций для разработчика.
"Родные" приложения среды выполнения ArcGIS Runtime
ArcGIS имеет в своем составе среду выполнения, которая используется разработчиками для написания высокопроизводительных и простых в развертывании "родных" приложений, работающих с картами и географической информацией, управляемой и распространяемой посредством ArcGIS. Мы зовем ее ArcGIS Runtime.
Приложения ArcGIS Runtime могут быть построены для нескольких развертываемых сред (настольные компьютеры и мобильные устройства). Они предоставляют в совместный доступ общую модель объектов, и используют географическую информацию следующими двумя основными способами:
- Путем подключения и использования доступных в сети карт и поддерживаемых ГИС-сервисов
- Путем развертывания ГИС-пакетов, которые используются локально на устройстве (данные размещены на том же устройстве, что и ваше приложение), а также путем использования локальных возможностей ГИС.
Пакеты являются эффективным способом распределения данных при помощи приложений ArcGIS Runtime. Так как пакет представляет собой один файл на диске, то он объединяет все интегрированные функции GIS, к которым вы хотите предоставить доступ. Кроме того, легко выбрать устройства для использования с вашим приложением Runtime.
ArcGIS поддерживает автономную локальную среду выполнения для следующих платформ:
Сведения об использовании пакетов см. в разделе документации Runtime WPF Пакеты, используемые средой выполнения ArcGIS Runtime.
Веб-приложения ArcGIS
При помощи ArcGIS разработчики могут получать доступ и работать с рядом Web API для JavaScript, Adobe Flex и Microsoft Silverlight, чтобы строить пользовательские веб-приложения для использования с сервисами ArcGIS. Инфраструктура этих веб-приложений подключается и использует картографические и прочие службы ГИС, опубликованные при помощи ArcGIS for Server, ArcGIS Online и открытых пользовательских картографических серверов в Интернете. Эти API используют открытую архитектуру на основе REST, подчиняющуюся стандартам индустрии, которая позволяет содержанию ArcGIS и сервисам быть использованным, как составная часть ArcGIS, а также вне ArcGIS.
ArcGIS for SharePoint
Содержимое ArcGIS и сервисов можно использовать на сайтах Microsoft SharePoint для создания и развертывания полезных ГИС приложений при помощи средства написания сайтов SharePoint для ArcGIS. Дополнительную информацию см. на веб-странице ArcGIS for SharePoint.
Настройка и расширение ArcGIS for Desktop
Вы можете настроить или расширить ArcGIS Desktop с помощью:
- Конфигурации интерфейса пользователя для настройки меню, инструментов и кнопок в ArcGIS for Desktop;
- Использования геообработки и Python для автоматизации обработки данных и множественных рабочих процессов ГИС;
- Создания надстройки для версии Desktop с использованием Python, .NET и Java;
- Использования всеобъемлющей библиотеки ArcObjects для написания пользовательского программного обеспечения и дополнительных модулей;
Использование ArcObjects и ArcGIS Engine
API разработчиков ArcGIS Engine и ArcObjects для .NET, Java и C++ могут использоваться для создания автономных пользовательских приложений, а также дополнительных модулей для ArcGIS Desktop с использованием библиотеки компонентов ArcObjects.
Дополнительную информацию см. на следующих веб-страницах ArcGIS Engine:
Сервисы ArcGIS
ArcGIS for Server и ArcGIS Online разворачивают функциональные возможности ГИС в основанной на сервере архитектуре. ГИС-карты, объекты, изображения, модели геообработки, локаторы и наборы данных можно разворачивать как веб-сервисы, виртуальный доступ к которым может получать любой клиент, используемый как специалистами ГИС, так и другими пользователями. ГИС-сервисы могут работать на разных уровнях, используя множество компьютеров – как в вашей организации, так и в "облачных" серверах в Интернете.
Пользователи создают в ArcGIS for Desktop важные ГИС-карты и информацию и публикуют их как веб-сервисы с помощью ArcGIS for Server и ArcGIS Online. Таким образом, ArcGIS предоставляет доступ к информации и возможность масштабировать вашу ГИС в соответствии с любой конфигурацией или ситуацией.
Поддерживаемые API веб-сервисов: протоколы REST, SOAP и OGC (например, WMS, WFS и WCS).
ArcGIS предлагает открытый API сети Интернет для обмена картографическими и ГИС-сервисами, который соответствует шаблонам проектирования REST для увеличения возможностей адаптации и использования. Это позволяет разработчикам и создателям приложений всех типов комбинировать и смешивать сервисы ArcGIS с любой другой информацией из сети, поступающей из различных ресурсов. Это также обеспечивает доступ потребителей к огромному богатству географических знаний, созданных в ГИС-средах.
Дополнительную информацию см. здесь:
Прочие ключевые API
ArcGIS включает в себя множество дополнительных API для работы с географической информацией. В том числе:
- Python – модель создания скриптов с открытым кодом, используемая научным сообществом для проведения расчетов, а также другими разработчиками источников. Python используется в ArcGIS в качестве языка написания скриптов для геообработки и анализа с использованием ArcPy – собственной библиотеки Python для ArcGIS. Дополнительную информацию см. в разделе Что такое ArcPy?
- SQL – при помощи ArcGIS выполняется управление и хранение многопользовательских баз геоданных в реляционных базах данных (СУБД) различного типа, включая Oracle, SQL Server, IBM DB2, PostgreSQL и Netezza. Для каждой СУБД в поддержку базы ArcGIS включен SQL API со специальными функциями и поддержкой базы данных.