Мехедов И.С., компания Esri CIS, e-mail: imehedov@esri-cis.ru
ArcGIS for Developers
ArcGIS для разработчиков представляет собой набор SDK, API, отдельных библиотек, набор веб-сервисов ArcGIS Online и удаленное хранилище данных ArcGIS Online, а также ArcGIS for Server и ArcGIS for Desktop, которые можно использовать только для разработки и тестирования приложений.
Традиционно все продукты и технологии для разработки на платформе ArcGIS делятся на продукты для кастомизации ArcGIS for Desktop, продукты для разработки пользовательских приложений, продукты для разработки серверных компонентов, продукты для работы с базой геоданных из внешних приложений, продукты для автоматизации геообработки (рис. 1).
Выход версии ArcGIS 10.2 ознаменовался как появлением новых продуктов для разработчиков, так и изменением некоторых концепций разработки на платформе ArcGIS.
В статье уделяется внимание всем продуктам и технологиям ArcGIS, доступным разработчикам в версии 10.2, при этом отмечаются особенности каждого продукта, изменения, которые произошли с ними относительно предыдущих версий, и планы на будущее. Особое внимание уделено линейке продуктов ArcGIS Runtime, а также платформе ArcGIS Online для разработчиков.
Специально для разработчиков существует EDN (Esri Developer Network) – годовая подписка на комплект разработчика, содержащий ArcGIS for Server и набор SDK для разработки как пользовательских приложений, так и серверных компонентов (опционально в состав EDN может быть включен и ArcGIS for Desktop). Использовать ArcGIS for Server и ArcGIS for Desktop в составе EDN можно только в целях разработки и тестирования приложения одним разработчиком.
Рис. 1. Платформа ArcGIS для разработчиков. Сводная таблица продуктов.
Разработка настольных и мобильных приложений
Для разработки настольных приложений используются две различные технологии: ArcGIS Engine и ArcGIS Runtime.
Технология ArcGIS Engine позволяет разрабатывать традиционные «тяжелые» настольные приложения, функциональность которых может варьироваться вплоть до ArcGIS for Desktop Standard с дополнительными модулями. Технология ArcGIS Runtime, появившаяся с выходом версии 10.1, является относительной новой и позволяет создавать «легкие» настольные ГИС.
ArcGISEngine
В основе технология ArcGIS Engine лежит ArcObjects – написанная на C++ библиотека COM-компонентов, которые составляют ядро ArcGIS for Desktop. Для разработки настольного приложения на основе библиотеки ArcObjects используется продукт ArcGIS Engine Developer Kit.
Функциональность приложения, созданного с помощью ArcGIS Engine без дополнительных модулей, может варьироваться вплоть до функциональности ArcGIS for Desktop Basic. Дополнительный модуль Geodatabase Update увеличивает ее до уровня ArcGIS for Desktop Standard, а дополнительные модули 3D Analyst, Spatial, Network Analyst, Data Interoperability, Maplex for ArcGIS, ArcGIS Schematics, ArcGIS Tracking Analyst – до функциональности ArcGIS for Desktop Basiс/Standard с соответствующими одноименными модулями. Сказанное относится только к приложениям, созданным с помощью ArcObjects SDK for .NET. Два другие типа ArcObjects SDK (для Java и для C++) предоставляют меньшую функциональность, чем ArcGIS for Desktop.
В текущей версии продуктов 10.2 добавлена поддержка Microsoft Visual Studio 2012 для ArcObjects SDK for .NET. В то же время, версия 10.2 является последней версией платформы ArcGIS, в которой будет поддерживаться Windows Server 2003 и Java 6.
ArcGIS Engine Developer Kit входит в состав EDN.
ArcGISRuntime
Термин ArcGIS Runtime применяется не только к технологии разработки настольных приложений, но и к разработке мобильных приложений. В настоящий момент семейство продуктов ArcGIS Runtime включает:
- ArcGIS Runtime for WPF (для Windows)
- ArcGIS Runtime for Java (для Windows и Linux)
- ArcGIS Runtime for iOS
- ArcGIS Runtime for Android
- ArcGIS Runtime for Windows Phone
- ArcGIS Runtime for Windows Mobile
Первые два продукта из этого списка предназначены для разработки настольных и встроенных приложения, остальные четыре – мобильных приложений. Текущей для всех шести продуктов является версия 10.1.1. Что же объединяет все эти продукты в рамках общей технологии ArcGIS Runtime?
Все они ориентированы на общий принцип разработки приложений – обращение к ArcGIS Server / ArcGIS Online посредством веб-сервисов при наличии сетевого подключения. Кроме этого, ArcGIS Runtime SDK for WPF и ArcGIS Runtime SDK for Java имеют достаточно развитую Offline-функциональность за счет локального сервера (эдакий мини-ArcGIS Server, расположенный в одной директории с исполняемым файлом приложения). Обращение к этому локальному серверу также происходит посредством локальных сервисов (аналогов веб-сервисов ArcGIS for Server) по протоколу http, при этом способ передачи параметров и обработка ответа от сервера такие же, как и при обращении к удаленному серверу ArcGIS.
Функциональность приложений, созданных с помощью ArcGIS Runtime, сходна с функциональностью веб-приложений на платформе ArcGIS: отображение карты, пространственный анализ, поиск объекта по заданным пространственным и атрибутивным запросам, адресный поиск, геообработка, редактирование, отображение пользовательской графики, геометрические операции – всё посредством вызовов веб-сервисов корпоративного сервера ArcGIS (или ArcGIS Online). Сверх этого, технология ArcGIS Runtime позволяет на всех устройствах отображать локальный тайловый кэш, который хранится в тайловом картографическом пакете (.tpk), созданном в ArcGIS for Desktop.
Настольные ArcGIS Runtime SDK (для WPF и для Java) дополняют эту функциональность способностью приложения работать и в Offline-режиме благодаря локальному серверу. Локально может выполняться отображение карты, геообработка, адресный поиск, прокладка маршрута, геометрические операции (рис. 2). Благодаря этому, технология ArcGIS Runtime является альтернативой ArcGIS Engine в разработке настольных картографических приложений.
Рис. 2. Приложение, созданное с помощью ArcGIS Runtime SDK for WPF 10.1.1.
ArcGIS Runtime позволяет создавать «легкие» настольные ГИС. В чем же заключается их «легкость»?
Во-первых, это легкость установки на машину конечного пользователя. Как таковой установки нет вообще – разработчик готовит папку запуска, в которой находится главный исполняемый и поддерживающий файлы (в том числе, локальный сервер). Запуск исполняемого файла на машине конечного пользователя может быть произведен, в том числе, с внешнего носителя информации и не требует установки приложения. Все, что может потребоваться приложению в процесс работы, находится внутри папки запуска, объем которой зависит от функциональности приложения и начинается от 10 Мб.
Во-вторых, это легкость разработки. ArcGIS Runtime не построена на ArcObjects и никак не связана с этой библиотекой. По сравнению с ArcObjects, ArcGIS Runtime SDK содержит гораздо меньше классов, что облегчает разработку приложения. Кроме того, код приложения ArcGIS Runtime строится на вызове сервисов (как локальных, так и удаленных), и большая часть методов и свойств классов скрыта за этими вызовами.
«Легкость» – это не всё преимущество ArcGIS Runtime по сравнению с ArcGIS Engine. Надо отметить и такие особенные свойства этой технологии:
- приложение ArcGIS Runtime для настольных приложений может быть собрано как под 32-, так и под 64-битную платформу (ArcGIS Engine спроектирован под 32-разрядную систему);
- скорость отображения карты с помощью ArcGIS Runtime выше, чем с помощью ArcGIS Engine;
- приложение ArcGIS Runtime работает на машине конечного пользователя независимо от того, какие продукты ArcGIS и каких версий установлены на этой машине;
- общие асинхронные шаблоны программирования, основанные на вызове сервисов, унифицирующие принципы разработки настольных, мобильных и веб-приложений на платформе ArcGIS.
Все продукты семейства ArcGIS Runtime, как для разработки настольных приложений, так и для разработки мобильных приложений, в ближайшем будущем будут иметь общее ядро ArcGIS Runtime C++ Core, что позволит минимизировать изменения при переносе кода с одной платформы на другую.
Несмотря на то, что ArcGIS Runtime имеет ряд преимуществ перед ArcGIS Engine, эта новая технология не является заменой ArcGIS Engine, использование которой в ряде случаев является оправданным. По функциональности приложение ArcGIS Runtime уступает ArcGIS for Desktop и ArcGIS Engine (в некоторых случаях – значительно уступает) и не может служить АРМ профессионального ГИС-специалиста. Одним из главных недостатков ArcGIS Runtime версии 10.1.1 является невозможность автоматической синхронизации правок при Offline-редактировании.
Offline-редактирование присутствует в ArcGIS Runtime SDK for WPF и ArcGIS Runtime SDK for Java. Разработчик создает пакет карты, который загружается в приложение ArcGIS Runtime. Этот пакет карты содержит файловую базу геоданных («открепленную»), в которой можно править данные в Offline-режиме. Для синхронизации правок с другой базой геоданных («главной»), файловой или SDE, разработчику необходимо разработать механизм синхронизации. Эта задача не является сложной в случае простого разрешения конфликтов при многопользовательской работе («кто последний – тот и прав»). Можно обойтись и без программирования, а синхронизировать правки вручную – все зависит от задачи.
Кроме этого, не все инструменты геообработки, доступные в ArcGIS for Desktop и ArcGIS for Server, являются локально доступными в ArcGIS Runtime.
Несмотря на это, технология ArcGIS Runtime будет активно развиваться от версии к версии и рано или поздно уже не будет уступать ArcGIS Engine (ArcObjects) в функциональности, имея при этом ряд преимуществ относительно нее. О ближайших планах Esri по развитию ArcGIS Runtime – в следующем параграфе.
ArcGIS Runtime SDK for WPF и ArcGIS Runtime SDK for Java распространяются в составе EDN.
Приложение лицензируется следующим образом. Разработчик получает лицензию на основе ключа авторизации. Лицензия может быть двух типов: Testing (только для разработки и тестирования) и Deployment (для запуска приложения на стороне конечного пользователя). Лицензия позволяет сгенерировать строку с помощью инструмента Local Runtime License Viewer, которую затем разработчик вставляет в код приложения. Существует два уровня лицензии – Basic и Standard. Лицензия уровня Basic является бесплатной. Лицензия уровня Standard уже платная. Basic позволяет обращаться к ArcGIS Server (или ArcGIS Online) и отображать локальный кэш, а Standard позволяет использовать всю функциональность локального сервера.
ArcGIS Runtime SDK for Windows Mobile распространяется в составе EDN, а также вместе с ArcGIS for Mobile.
Версия 10.2 будет последней версией платформы ArcGIS, в которой приложения ArcGIS Runtime будет работать на Windows XP и Windows Vista. Кроме того, после 10.2 ArcGIS Runtime SDK for WPF не будет поддерживать .NET Framework 4.
Что ждет семейство продуктов ArcGISRuntime?
На конференции для разработчиков Esri Developer Summit в марте 2013г. было объявлено о скором выходе трех новых продуктов:
- ArcGIS Runtime SDK for OS X (для Mac OS) – рис. 3
- ArcGIS Runtime SDK for Windows Store Apps (для Windows 8 и Windows RT)
- ArcGIS Runtime SDK for Qt (для Windows и Linux)
Рис. 3. Приложение, созданное с помощью ArcGIS Runtime SDK for OS X beta.
Таким образом, ожидается поддержка новых платформ и графических библиотек.
Уже длительное время на портале ArcGIS Beta Community beta-версии этих трех новых SDK бесплатно доступны для скачивания, а выход окончательных версий продуктов запланирован до конца текущего года.
Стоит отметить, что ArcGIS Runtime SDK for OS X и ArcGIS Runtime SDK for Qt выйдут как самостоятельные продукты, в то время как ArcGIS Runtime SDK for Windows Store Apps выйдет как составная часть еще одного нового продукта – ArcGIS Runtime SDK for .NET.
ArcGIS Runtime SDK for .NET будет содержать внутри себя три практически идентичные SDK: для Windows Phone, Windows Store Apps и Windows Desktop. При этом ArcGIS Runtime for Windows Phone и ArcGIS Runtime for WPF в скором времени прекратят свое существование как отдельные продукты и перекочуют внутрь ArcGIS Runtime SDK for .NET. Такая интеграция трех SDK внутри единого продукта ArcGIS Runtime for .NET продиктована стремлением унифицировать разработку на ArcGIS Runtime для .NET для того, чтобы один и то же код с минимальными изменениями мог быть запущен на трех различных платформах Windows в среде .NET.
Что касается перехода от ArcGIS Runtime SDK for WPF к ArcGIS Runtime SDK for .NET (Windows Desktop API), то у этих двух SDK много общего, и переход не составит большого труда. Новый релиз ArcGIS Runtime SDK for WPF 10.2 будет являться переходным между текущим релизом ArcGIS Runtime SDK for WPF 10.1.1 и новым ArcGIS Runtime SDK for .NET 10.2.1 (рис. 4).
Рис. 4. Диаграмма изменений версий продуктов ArcGIS Runtime.
Изменения коснутся и других продуктов семейства ArcGIS Runtime как для разработки настольных и встроенных приложений, так и для разработки мобильных приложений. В новой версии 10.2.1 ArcGIS Runtime SDK for iOS, ArcGIS Runtime SDK for Android, ArcGIS Runtime SDK for Java, ArcGIS Runtime SDK for Qt и ArcGIS Runtime SDK for .NET получат новое общее ядро – ArcGIS Runtime C++ Core (отдельно пока будет развиваться только ArcGIS Runtime for Windows Mobile), в котором будет имплементирована новая Offline-функциональность, общая для всех перечисленных SDK. Частично эта функциональность для некоторых продуктов будет реализована уже в версии 10.2.
Что же включает новая Offline-функциональность продуктов семейства ArcGIS Runtime? Прежде всего, это новая модель Offline-редактирования, которая будет включать два различных сценария:
- открепление порции данных в режиме Online через сервисы ArcGIS Online / Portal for ArcGIS, правка данных в режиме Offline, автоматическая синхронизация правок с главной базой геоданных при появлении сетевого подключения (этот сценарий сейчас используется в ArcGIS Runtime SDK for Windows Mobile);
- подготовка картографического пакета, содержащего открепленные данные в файловой базе геоданных, загрузка пакета в приложение, правка данных в Offline-режиме, «ручная» синхронизация правок с главной базой геоданных либо доработка автоматизации такой синхронизации в приложении (этот сценарий сейчас используется в ArcGIS Runtime SDK for WPF и ArcGIS Runtime SDK for Java).
Кроме того, новая Offline-функциональность будет включать возможность открепления необходимого «куска» дорожного графа и необходимого «куска» локатора адресов в режиме Online для того, чтобы строить маршруты и геокодировать адреса уже в режиме Offline. Таковы планы на версию 10.2.1. В версии же 10.2 ArcGIS Runtime SDK for WPF, ArcGIS Runtime SDK for Java, ArcGIS Runtime SDK for iOS и ArcGIS Runtime SDK for Android для решения задач прокладки маршрута и геокодирования пока что будут использоваться только пакеты локатора адресов и пакеты геообработки, подготовленные в ArcGIS for Desktop.
Разработка веб-приложений
Начиная с версии 10.2, Esri полностью прекращает поддержку Web ADF – технологии разработки веб-приложений на платформе ArcGIS, в которой основная разработка приходилась на серверную часть веб-приложения.
С выходом 10-й версии платформы ArcGIS Esri активно продвигает идею перехода на разработку клиентской части веб-приложения, в которой веб-сервер исполняет роль транспортного шлюза для обеспечения взаимодействия между приложением и ArcGIS Server / ArcGIS Online.
Для разработки клиентской части веб-приложения Esri предлагает бесплатные API:
- ArcGIS Web API for JavaScript
- ArcGIS Web API for Silverlight
- ArcGIS Web API for Flex
Их бесплатное распространение окупается тем, что использоваться они могут только вместе с ArcGIS Server / ArcGIS Online.
Построенные на ArcGIS REST API, все три API имеют сходную функциональность: отображение карт посредством кэшированных и динамических картографических веб-сервисов ArcGIS, инструменты карты, запросы к данным – пространственные и атрибутивные, геокодирование, геообработка, редактирование данных – все за счет ArcGIS Server, клиентское приложение лишь отображает ответ от сервера. Браузер принимает на себя нагрузку только при отображении пользовательской графики и при отображении объектов карты через слой объектов.
На порталах developers.arcgis.com и resources.arcgis.com можно найти описания ArcGIS API for JavaScript, ArcGIS API for Silverlight, ArcGIS API for Flex (подробные описания классов, примеры кода, учебные статьи). Там же можно скачать сами API.
Версии ArcGIS Web API постоянно обновляются и выход новых версий обычно не привязан к выходу новых версией платформы ArcGIS. Текущая версия ArcGIS API for JavaScript – 3.6, ArcGIS API for Flex – 3.4, ArcGIS API for Silverlight – 3.1. В последних версиях в эти API были добавлены новые виджеты, построенные на использовании публичных аналитических сервисов ArcGIS Online. Кроме того, были добавлены классы для работы с ArcGIS Portal API, который является частью ArcGIS REST API. ArcGIS Portal API позволяет управлять группами, пользователями и элементами ArcGIS Online / ArcGIS Portal.
На основе перечисленных API сделаны готовые к использованию настраиваемые картографические приложения (вьюеры): ArcGIS Viewer for Flex и ArcGIS Viewer for Silverlight. Эти приложения настраиваются с помощью специальных клиентских программ или настроечных файлов. Дописать их функциональность можно с помощью разработки виджетов (для ArcGIS Viewer for Silverlight, ArcGIS Viewer for Flex) или доработки кода самого приложения (ArcGIS Viewer for Flex). Скачать приложения можно бесплатно с сайта resources.arcgis.com.
JavaScript Viewer for ArcGIS, разработанный компанией Esri CIS, значительно уступает в функциональности своим двум собратьям, однако имеет базовый набор функциональности: отображение карты, идентификация объектов, редактирование, основные виджеты (рис. 5). Скачать beta-версию можно будет в скором времени с сайта www.esri-cis.ru.
Рис. 5. JavaScript Viewer for ArcGIS beta.
Серверная разработка (расширение серверных объектов)
Расширение серверных объектов, или SOE (Server Object Extension), позволяет дополнить основную функциональность ArcGIS for Server. Разработка SOE ведется на основе библиотеки ArcObjects, которую включает ArcGIS for Server и которая устанавливается на машину вместе с сервером.
После того, как SOE написан, упакован в файл .soe и зарегистрирован на сайте ArcGIS for Server, он становится веб-сервисом ArcGIS for Server, доступ к которому из веб-приложения осуществляется через интерфейсы REST и SOAP.
Разработка SOE позволяет получить доступ к той функциональности ArcObjects, которая выходит за пределы стандартных сервисов ArcGIS for Server (в том числе, сервиса геообработки).
Для разработки SOE потребуется ArcObjects SDK for .NET, ArcObjects SDK for Java или ArcObjects SDK for C++ (это те же самые SDK, которые используются в разработке приложений ArcGIS Engine). Microsoft Visual Studio и Eclipse интегрируются с ArcObjects SDK и содержат шаблоны проектов SOE. Скомпилированный проект должен быть упакован в файл .soe и затем добавлен на сайт ArcGIS for Server.
Для создания SOE понадобятся знания в области разработки веб-сервисов и знание ArcObjects. Разработка SOE оправдана в одном из следующих случаев:
- Требуемая бизнес-логика не может быть реализована с помощью доступных сервисов ArcGIS Server;
- Требуемая бизнес-логика может быть реализована с помощью доступных сервисов, но для этого требуется выполнение большого количества обращений клиента к серверу ArcGIS;
- Требуемая бизнес-логика может быть реализована с помощью сервиса геообработки на основе модели геообработки, но время выполнения задачи является критичным параметром. SOE эффективно инкапсулирует логику ArcObjects, позволяя избежать временных потерь на инициализацию геообработки.
Кастомизация ArcGISforDesktop
Вместе с выходом версии 10.0 платформы ArcGIS был предложен новый способ кастомизации ArcGIS for Desktop – кастомизация с помощью надстроек, для разработки которых используется ArcObjects SDK for .NET, ArcObjectsSDK for Java и Python.
Версия 10.2 платформы ArcGIS является последней версией, которой поддерживается кастомизация ArcGIS for Desktop с помощью VBA.
Чтобы использовать VBA в ArcGIS for Desktop, необходимо установить ArcGIS for Desktop VBA Compatibility (поставляется вместе с дистрибутивом ArcGIS for Desktop) и запросить бесплатную лицензию на этот модуль у дистрибьютора.
API для работы с базой геоданных
Есть два варианта разработок для базы геоданных (БГД).
APIдля работы с файловой базой геоданных. ArcGIS File Geodatabase API является библиотекой для работы с файловой базой геоданных ArcGIS из сторонних приложений (без использования ArcObjects). Библиотека имеет интерфейс C++ и распространяется в виде dll.
ArcGIS File Geodatabase API позволяет:
- создавать новую файловую БГД;
- читать схему файловой БГД;
- создавать новые классы пространственных объектов;
- читать и редактировать данные в классах пространственных объектов, добавлять новые данные;
- выполнять атрибутивные и пространственные (с ограничениями) запросы.
ArcGIS File Geodatabase API поддерживается на 32- и 64-x битных Windows и Linux.
API для работы с базой геоданных SDE. Для работы с базой геоданных SDE используется бесплатно распространяемые ArcSDE Java API и ArcSDE C API. Обе библиотеки позволяют подключиться на чтение к базе геоданных SDE и выполнить простые операции над отдельными классами пространственных объектов. Версия 10.2 платформы ArcGIS является последней версией, в которой будут доступны эти библиотеки.
Платформа ArcGISOnline для разработчиков
Платформа ArcGIS Online для разработчиков предназначена для решения ряда задач.
Во-первых, это публикация сервисов. Разработчикам для публикации веб-сервисов не обязательно использовать ArcGIS for Server, для этих целей можно использовать платформу ArcGIS Online. С помощью ArcGIS for Desktop можно опубликовать сервис объектов и кэшированный картографический сервис (и только эти сервисы), которые затем будут использоваться в веб-приложении. В этом случае ArcGIS Online используется как удаленное хранилище данных и веб-сервисов (Cloud storage). При публикации сервиса данные будут скопированы с локальной машины и перенесены на удаленные сервера ArcGIS Online. Для публикации сервисов и доступа к ним, клиентское приложение должно подключаться к ArcGIS Online под учетной записью ArcGIS Online для организаций.
Во-вторых, это возможность для разработчика использовать в приложении базовые и тематические карты ArcGIS Online:
- набор базовых карт ArcGIS Online;
- набор спутниковых карт ArcGIS Online;
- набор карт ArcGIS Online с данными о демографии, образе жизни и экономических показателям с распределением по регионам (присутствуют данные и на Россию);
- набор специальных карт ArcGIS Online: карта исследования почв, карта загруженности автомобильных дорог в режиме реального времени и некоторые другие карты.
Часть таких карт (например, базовые и спутниковые карты) являются свободно доступными при условии доступа к ним с помощью продуктов Esri (включая SDK и API). Другие (карты с данными о демографии, образе жизни, экономических показателях и специальные карты) доступны только под учетной записью ArcGIS Online для организаций. При обращении к соответствующим сервисам из приложения будет необходим ввод логина и пароля такой учетной записи. Каждая карта идентифицируется определенным веб-сервисом ArcGIS Online. URL этих веб-сервисов можно найти на www.arcgis.com.
Наконец, это использование в приложении аналитических сервисов ArcGIS Online:
- сервис геометрии – публичный сервис ArcGIS Online, позволяющий проводить геометрические вычисления на удаленном сервере;
- сервис геокодирования – публичный сервис ArcGIS Online, позволяющий находить и отображать адреса на карте и соотносить их с объектами на карте; покрывает более 100 стран, в том числе и Россию;
- сервисы сетевого анализа – публичные сервисы ArcGIS Online, позволяющие решать различные задачи аналитической логистики (прокладывать маршрут между двумя точками, рассчитывать зоны транспортной доступности и некоторые другие) на основе дорожного графа; покрывают множество стран мира, в том числе и Россию;
- сервис пространственного анализа – публичный сервис ArcGIS Online, позволяющий решать задачи построение кластеров точек, расчет буферных зон, слияние слоев и многие другие.
При обращении к аналитическим сервисам ArcGIS Online (за исключением сервиса геометрии) из приложения необходимо будет вводить логин и пароль учетной записи ArcGIS Online для организаций. Сервис геометрии является свободно доступным при условии доступа к нему с помощью продуктов Esri (включая SDK и API).
Обращаться к картам и аналитическим сервисам ArcGIS Online можно с использованием любого SDK и API для разработки настольных, мобильных и веб-приложений.
Те сервисы, которые требуют ввода логина и пароля учетной записи ArcGIS Online для организаций, в общем случае являются платными (из-за платной подписки ArcGIS Online). Однако, для разработчиков предлагается специальный план подписки ArcGIS Online. При этом минимальный уровень плана позволяет использовать эти сервисы бесплатно (уровни различаются по количеству доступных кредитов), т.е. бесплатное использование этих сервисов в целях разработки и тестирования предоставляется в рамках определенного объема кредитов.
ArcGIS Server API
ArcGIS Server API состоит из ArcGIS REST API и ArcGIS SOAP API.
Можно сказать, что ArcGIS REST API – это основной язык, на котором общаются клиентские пользовательские приложения (веб-приложения, мобильные приложения, приложения ArcGIS Runtime) и ArcGIS Server / ArcGIS Online. Второй язык, ArcGIS SOAP API, используется реже. На нем разговаривают с сервером ArcGIS Desktop и приложения ArcGIS Engine, хотя они могут использовать и REST-интерфейс.
ArcGIS REST API включает в себя 5 разделов:
- ArcGIS REST API для доступа к публичным сервисам ArcGIS Online – к тем самым базовым, тематическим картам и аналитическим сервисам, про которые говорится в предыдущем разделе;
- ArcGIS REST API для доступа к пользовательским сервисам ArcGIS Online – к тем сервисам, которые разработчики размещают со своей локальной машины на ArcGIS Online, используя его в качестве удаленного хранилища данных и сервисов;
- ArcGIS Portal API или ArcGIS REST API для управления элементами ArcGIS Online / Portal for ArcGIS – позволяет управлять пользователями, группами и содержимым ArcGIS Online и Portal for ArcGIS;
- ArcGIS REST API для доступа к сервисам корпоративного ArcGIS Server – основная часть ArcGIS REST API, которая предоставляет программный интерфейс к ресурсам и операциям всех типов сервисов ArcGIS Server;
- ArcGIS REST API для администрирования корпоративного ArcGIS Server – позволяет запускать и останавливать сервер, управлять настройками безопасности сайта ArcGIS for Server, подключать машины в сайт и осуществлять другие подобные операции от лица администратора сайта.
В заключение хочется сказать, что в последнее время тенденция развития платформы ArcGIS для разработчиков была направлена на ее интеграцию с ArcGIS Online и разработку новых продуктов для тех платформ, для которых раньше либо ничего не было, либо чего-то не хватало (Windows 8, Windows RT, Mac OS, Linux). В то же время, поддержка уже привычных SDK и API будет продолжена (за исключением некоторых случаев, о которых было сказано в статье).
Все пользователи продуктов компании Esri, предназначенных для разработчиков, активно приглашаются принять участие в программах тестирования beta-версий продуктов, которые периодически появляются на портале ArcGIS Beta Community. Став участником такой программы, можно бесплатно скачать beta-версию продуктов.