Что такое расширение серверных объектов?

Дополнительные модули объектов сервера (SOE) позволяют вам расширить базовую функциональность картографических сервисов и сервисов изображений ArcGIS for Server. Никакие другие типы сервисов не поддерживаются. Большинство SOE добиваются этого, используя код ArcObjects для работы с данными и картами ГИС. ArcObjects – это основные компоненты ArcGIS, предоставляющие много гибких возможностей для написания ГИС-функций.

SOE следует использовать, если у вас определенная бизнес-логика, которую необходимо выполнить, но трудно реализовать с помощью веб-интерфейсов API ArcGIS. У SOE следующие преимущества:

Вы можете разработать SOE, если вам требуется получить доступ к недоступным каким-либо другим способом функциям ArcObjects или к функциям, которые должны выполняться очень быстро.

Расширения SOE предназначены для опытных разработчиков и для их применения необходимы знания различных платформ разработки. Пакеты ArcObjects SDK for Java и ArcObjects SDK for the Microsoft .NET Framework содержат несколько примеров SOE, которые вы можете изучить.

Что нужно знать для разработки SOE

Для разработки SOE необходимы знания по использованию ArcObjects в языках программирования Java или .NET. Для этого также требуется понимание принципов REST и SOAP.

Кроме того, если вы хотите создавать пользовательские страницы свойств для расширений SOE, помимо страниц, которые создаются автоматически, необходимо обладать опытом разработки форм Windows или Java Swing (для страниц ArcCatalog) или разработки веб-форм с помощью языка HTML и JavaScript (для страниц Менеджера).

Нужно ли вам расширение SOE?

Для создания SOE могут понадобиться знания в области разработки веб-сервисов и применению ArcObjects, а для предоставления доступа к расширениям необходимо выполнить их развертывание. Перед разработкой расширение объектов сервера следует рассмотреть некоторые более простые альтернативы.

Самая простая альтернатива – это создание модели геообработки, которая реализует вашу бизнес-логику, и ее публикация как сервиса. С помощью ModelBuilder можно интерактивно разместить и соединить нужные инструменты вместо того, чтобы писать код ArcObjects. Сервисы геообработки также поддерживают асинхронное выполнение, что позволяет вам запустить задание, сделать что-то другие и вернуться позднее для проверки результатов.

Одним из недостатков сервисов геообработки является то, что они используют относительно много памяти и работают медленнее, чем SOE. Если вы запускаете процесс всего несколько раз в день, это может не представлять проблемы. Однако, если процесс запускается часто или со множеством работающих параллельно пользователей, разработка SOE может стоить затраченного времени.

Многие разработчики писали код ArcObjects в прошлом для различных задач, которые теперь выполняются без ArcObjects. Подробное описание способов решения задач веб-картографии без применения ArcObjects см. в разделе Альтернативы расширениям серверных объектов.

5/16/2014