Программы
ЛИРА АВС-4 Антивирус Скачать AutoCAD Видео Архитектура Битрикс ZwCAD ФОК-ПК фундаменты STARK ES Firewall Дизайн Геодезия ArchiCAD Документооборот Microsoft AutoCAD Civil 3D САПФИР UserGate Сайт Проектирование CorelDRAW SANA Шкаф серверный МОНОМАХ Traffic Inspector Revit Механика MapInfo Adobe Windows СПДС Электрика ePochta Artlantis Consistent Software Помощь покупателю Источники бесперебойного питания PROMT UPS ЭСПРИ УПРЗА Эколог V-Ray GeoniCS Топоплан-Генплан-Сети-Трассы Стабилизатор Строительная лицензия Photoshop ZW3D KVM 3D Max Vault СпИн Office ЭЛЬФ Инвертор ОДИССЕЙ стать партнером Kerio iPad ABBYY Maya ПРУСК Allklima for AutoCAD Profilmaker НДС GeoniCS ЖЕЛДОР GeoniCS Изыскания ArCon БЕТА ElectriCS Рейтинг программ Еврокоды Borland ЧПУ Project StudioCS Водоснабжение ПК МОНОМАХ GeoniCS Инженерная геология КАД РЕЛЬЕФ EnergyCS Softimage 3DMax САПР ЦВК ЗЕМКАД CAD RTR Project StudioCS Конструкции ПК Металл ViTerminal TDMS iPfone ИНЖКАД Civil Project StudioCS Электрика ПЛАНИКАД HP WhatsApp Pagemaker GLASER -isb cad MechaniCS ИНФОКАД ЭЛЬФ проектирование IP модуль ТОПОКАД GeoniCS MechaniCS Express Инвент-ГРАД Revit MEP Inventor AutoCAD MEP Allplan Сервер MechaniCS Оборудование DEREK-INFO AutoCAD Revit Architecture Project StudioCS Доставка
Авторизация
Логин:
Пароль:
Забыли свой пароль?
Войти как пользователь:
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Получать новости
Статистика сайта

Hits
1387253
2330

Hosts
123736
335

Visitors
416006
1740
1

Основы программирования Autodesk Vault

Основы программирования Autodesk Vault

Основы программирования Autodesk Vault
Когда перед вами стоит вопрос внедрения PDM-системы, важно чтобы у неё был открытый интерфейс
программирования приложений (API), так как практически невозможно получить систему, полностью
соответствующую требованиям производственного процесса, пользуясь только её базовым функционалом.
Особенно, если стоит задача совместной работы с другими бизнес-системами.
Autodesk Vault является системой с открытым API. Система построена на основании тех же функций, которые
доступны пользователю. В программировании подобная ситуация обозначается термином “dogfudding” – так
разработчики шутливо говорят: «мы едим то, чем кормим нашу собаку». Так, Vault Explorer и надстройки Vault
для CAD построены на основании этого же API.
Для удобства разработчиков и в целях стандартизации программирования, API представлены в виде
динамически подключаемых библиотек (DLL), подробной справочной системой и примерами программ на
нескольких языках программирования. Все это объединено в комплект средств разработки (SDK)
автоматически устанавливается вместе с Vault. В соответствии с политикой Autodesk, не обязательно быть
членом Autodesk Development Network для того, чтобы писать приложения с использованием Vault API.
Модель Vault
Autodesk Vault представляет собой клиент-серверную систему, которая состоит из нескольких подсистем. Для
удобства понимания, опишем данную структуру, используя понятные образы (Рисунок 1).
Ключевой узел системы – «Робот» (ADMS), который расположен на сервере. Управление им осуществляется
при помощи полнофункционального «Пульта управления» (Vault Explorer), возможности которого могут
расширяться «Дополнительными модулями» (Пользовательские надстройки), либо при помощи
«Малогабаритных раций» (Пользовательские приложения) по сетевому каналу.
Рисунок 1Системная модель Autodesk Vault
Доступ к системному меню происходит через «Системное меню» (ADMS Console). Для обработки запросов
клиента, «Робот» имеет доступ к «Картотеке» (База данных), и «Библиотеке» (Файловое хранилище).
Веб-сервер
Autodesk Data
Management Server
Console
Autodesk Data Management
Server
(ADMS)
База
данных
Файловое
хранилище
Vault
Explorer
Расширения
интерфейса
Autoloader
Надстройки
САПР
Job Processor
Сервер Клиент
«Картотека» «Библиотека»
САПР
«Инструментарий»
«Дополнительные
модули»
«Пульт
управления»
Пользова-
тельские
приложения
«Рации»
Область
использования
API
Серверные
коммуникации
Условные обозначения
Прямой доступ
запрещен
«Робот»
«Системное меню» «Погрузчик»
«Пресса»
«Микропроцессор»
«Имя» Неофициальное
обозначение
«Картотека» содержит в себе ссылочную информацию о файлах, а также дополнительную служебную
информацию.
Звучит, согласитесь, как минимум, странно. Однако, довольно удобно для понимания архитектуры Vault, что
пригодится нам впоследствии.
Vault использует технологию веб-служб, что значительно упрощает клиент-серверное взаимодействие. По
сути, Vault API позволяет программам взаимодействовать с компонентом Vault Server (ADMS).
Серверная часть Autodesk Vault
Серверные коммуникации – позволяют открыть собственное подключение к серверу для получения и
выгрузки данных, запуска серверных операций. Данные передаются по HTTP в XML-формате. Операции
рекомендуется производить посредством динамических .NET библиотек (DLL) из Vault SDK.
Серверная структура является неизменной даже при помощи API. Однако, при наличии разрашений,
пользоватлеь имеет право на чтение и запись данных, размещенных на сервере.
Autodesk Data Management Server (ADMS) – также известный как сервер Vault, этот компонент содержит
большую часть бизнес-логики для системы Vault. Он является посредником между слоем хранения данных
(база данных и файловое хранилище) и клиентом. Как отмечено выше, ADMS использует веб-службы для
предоставления API связи с сервером. Это единственный способ подключения клиентов Vault к серверу.
Файловое хранилище – этот компонент представляет собой иерархию папок, которая хранит все файлы,
загруженные в хранилище. Изменение вручную текущего и следующего компонентов запрещено. Сеть
разработчиков Autodesk и служба поддержки Autodesk не предоставляет никакой поддержки при
обнаружении таких изменений.
База данных – этот компонент хранит всю не-файловую информацию.
Клиентская часть Autodesk Vault
Напротив, является гибко настраиваемой структурой.
Vault Explorer – это приложение является основным инструментом для просмотра и управления хранилищем
данных. Технически существует 4 типа Vault Explorers, 1 для каждого вида продукта. Так что есть "Vault Basic",
"Vault Workgroup", "Vault Collaboration" и "Vault Professional" версии Vault Explorer. Для удобства все их будем
называть "Vault Explorer". API позволяет: добавлять команды, добавить вкладки просмотра, подписываться на
события команд (Рисунок 2).
Гибкая настройка Vault Explorer доступна во всей продуктовой линейке Vault, за исключением Vault Basic, и
реализуется «надстройкой» – динамической .NET библиотекой (DLL). Данный формат позволяет использовать
все возможности платформы .NET, в частности: изменять пользовательский интерфейс, диалоги, и пр. по
своему желанию; подключаться к внешней базе данных; использовать другие API (например, Inventor
Apprentice); подгружать элементы управления (COM Interop); использовать WPF.
При этом надстройка может быть написана на любом языке .NET (C#, VB.NET, PowerShell)
Рисунок 2Возможности настройки Vault Explorer
САПР – например: AutoCAD, Inventor и Civil 3D. Фактически это приложения CAD с плагином, который
взаимодействует с сервером Vault. Эти плагины отправляют на сервер не только файлы, а и соответствующие
мета-данные файлов.
Job Processor – утилита, которая получает рутинные задания из очереди и выполняет их. Несмотря на то, что
технически это не служба Windows, Job Processor ведет себя подобным образом. Она разработана для
непрерывной работы практически без вмешательства пользователя. API позволяет: добавлять собственные
типы работ и нестандартные обработчики работ.
В Vault Workgroup/Collaboration/Professional есть возможность распределить работу посредством
использования централизованной очереди. Работа – это элемент очереди, и он представляет хорошо
определенную единицу работы. Очередь обслуживается сервером Vault. Взаимодействие с очередь
производится посредством веб-служб.
JobProcessor.exe – приложение для размещения обработчиков работ. Работа – это элемент очереди, и он
представляет хорошо определенную единицу работы. Очередь обслуживается сервером Vault.
Взаимодействие с очередью производится посредством веб-служб.
Описание работы выглядит следующим образом:
class IJob {
Long Id; { get; }
String VaultName; { get; }
String JobType; { get; }
String Description; { get; }
System.Collections.Generic.Dictionary<String, String> Params; { get; }
}
JobType – строка, которая отображает потребности для обработки задачи. Обработчик работ настроен для
обработки определенных типов работ, которые позволяет JobProcessor направлять работы нужным
обработчикам. Не существует обязательной структуры строки, однако рекомендуется добавлять имя вашей
фирмы перед любым типом работ.
Определять меню
Связь с другими
командами/
представлениями/
свойствами
Создавать
подменю
Вызывать
другие
команды
Задавать
контекст
видимости
Вызывать обновление по
завершению команды
Выбирать элементы
Скрывать
существующие
меню
Менять
существующие
команды
Params – это коллекция пар Имя-Значение, которые предоставляют дополнительную информацию о задаче.
Не существует фиксированного набора параметров – он зависит от типа работы. Другими словами,
интерпретация – это ответственность за организацию очередей и обработку клиентов.
Сервер Vault разрешит вам добавить работу в очередь, даже если отсутствуют обработчики для данного типа.
Администратор должен обеспечить проверку соответствия поставщиков и обработчиков работ. Иначе вся
очередь будет заполнена работами, которые нельзя обработать.
Время и место обработки работы не гарантировано, равно как и порядок обработки. Если работа А находится
перед работой Б в очереди, это не означает, что вначале будет обработана работа А. Если вам необходимо
гарантировать порядок, вы можете запрограммировать обработчик работы А на добавление работы Б.
Пользовательские приложения – веб-службы API является общедоступными, следовательно, каждый может
написать Vault-клиент. Теоретически, пользовательское приложение может делать все, что и Vault-клиент, так
как они используют один и тот же API для связи с ADMS.
Глобальные настройки – позволяют изменять бизнес-логику для всех клиентов. Обработчики событий могут
быть написаны для определенных операций в веб-службах API. Эти события будут срабатывать для всех
клиентов. Например, если вы пишите обработчик для файлов на событие получения, обработчик будет
получать уведомления всякий раз, когда AutoCAD получает файл и всякий раз, когда Vault Explorer получает
файл. API позволяет расширить существующие команды посредством пред- и пост-обработки.
Специальные вызовы веб-службы будут запускать события, в которые может внедриться пользовательский
код.
Глобальные настройки позволяют: осуществлять операции до и после вызова веб-службы; блокировать
вызовы веб-службы до того, как они отправляются на сервер; встраиваться в конкретный клиент Vault, либо
во все клиенты Vault на заданном компьютере.
Рисунок 3Процесс бизнес-логики
Так, можно перехватывать события, которые сопутствуют вызову службы и выполняются в следующей
очередности (Рисунок 3):
· GetRestrictions – Позволяет пользовательскому коду блокировать вызовы веб-служб
· Pre – Позволяет пользовательскому коду выполняться до вызова веб-службы
· Вызов веб-службы – собственно, выполнение запроса к серверу
· Post – Позволяет пользовательскому коду выполняться после вызова веб-службы
Глобальная настройка доступна во всей продуктовой линейке Vault, за исключением Vault Basic. Надстройки
представляют собой динамические .NET библиотеки (DLL).
GetRestrictions Pre Вызов веб-службы Post
Ход вызова
Службы Autodesk Vault
Все описанные выше операции осуществляются путём вызова функций. В API функции сгруппированы в
коллекции (службы) по признаку их функциональности и уровня продукта.
На диаграмме (Рисунок 4) представлено сравнение служб по степени доступности (0 – недоступна, 1 –
функции частично доступны, 2 – доступна в полном объеме) и версии клиента по убыванию
«распространенности» (сумма доступностей для всех версий).
Рисунок 4Распространенность и доступность служб
Каждый вызов функции является транзакцией и автономен. Для вызова большинства функций требуется
авторизация. В объектах содержатся только структурированные данные, а не методы. Так что мы имеем дело
не с Объектно-Ориентированной среда, в полном понимании этого термина.
Описанные ниже (Таблица 1) службы содержатся в сборке Autodesk.Connectivity.WebServices, которая
представляет собой DLL. Помимо неё в SDK представлены также следующие сборки:
Autodesk.Connectivity.Explorer.Extensibility – содержит необходимые перехватчики событий для написания
расширений Vault Explorer.
Autodesk.Connectivity.Explorer.ExtensibilityTools – предоставляет доступ к бизнес-логике Vault Explorer. Она
предоставляет простой интерфейс для вызова комплексной функциональности путём повторного
использования компонентов Vault Explorer.
Autodesk.Connectivity.Extensibility.Framework – содержит общие классы и утилиты, которые доступны во всех
расширениях Vault.
Autodesk.Connectivity.JobProcessor.Extensibility – содержит необходимые перехватчики событий для
написания расширений Job Processor.
Vault Basic
Vault Workgroup
Vault Collaboration
Vault Professional
0
1
2
ChangeOrderService
CustomEntityService
ForumService
ItemService
WinAuthService
DocumentServiceExtensions
ReplicationService
BehaviorService
CategoryService
JobService
LifeCycleService
PropertyService
RevisionService
SecurityService
AdminService
DocumentService
InformationService
KnowledgeVaultService
PackageService
8 7 6 4 2
Степень доступности службы
Название и распространенность службы
Таблица 1Службы Vault API
Операция Служба Объект Примечание
Вход/выход в
хранилище
SecurityService Аутентификация Установка
безопасности
на
определенные
объекты
WinAuthService Аутентификация Windows
Импорт/экспорт
данных
PackageService Элементы
Передача между
группами
ReplicationService Права владения
Получение
информации
InformationService Сервер и поддерживаемые
продукты
KnowledgeVaultService Расположенные на сервере
хранилища
Публикация ForumService Сообщения Для запросов
на изменение
Управление AdminService Пользователи и группы
BehaviorService Объекты. Поведение
CategoryService Категории
ChangeOrderService Запросы на изменение
CustomEntityService Пользовательские объекты
DocumentService Файлы и папки в хранилище
DocumentServiceExtensions Файлы и папки в хранилище Доп. Методы
ItemService Элементы
JobService Очередь работ
LifeCycleService Объекты. Жизненные циклы
PropertyService Объекты. Свойства
RevisionService Объекты. Значения и схемы
ревизий.
Правила разработки приложений под Autodesk Vault
При разработке приложений обязательно надо учитывать приведенные ниже Правила разработки.
Vault не бесплатен. Vault Workgroup, Collaboration и Professional используют сетевое лицензирование, которое
основано на клиентах. Для подключения к серверу, клиент должен иметь лицензию.
Соответствующее CAD-приложение должно быть установлен на той же машине, что и клиент. Список
приложение приведен в документации к Vault.
API не должен использоваться для получения доступа к Vault без лицензии Vault.
Требования к CAD-приложениям отсутствуют: любое приложение может работать с Vault, пока есть
свободные лицензии. Лицензиями управляет сервер. Все лицензии однородны: регистрация в Vault
Collaboration всегда потребляет лицензию Collaboration. Лицензия всегда потребляется при обычной
регистрации, даже если клиент осуществляет операции Vault Basic.
Лицензии Vault Office не настраиваются.
Лицензия потребляется, как только вы войдете, и освобождается при выходе. Через 30 минут отсутствия API
вызовов, сервер автоматически производит отключение пользователя. Если вы имеете несколько
подключений с одним именем пользователя с одного компьютера (Inventor и Vault Explorer запущены
одновременно), потребляется одна лицензия. Если у вас несколько подключений с различным именем
пользователя, каждое подключение потребляет отдельную лицензию.
Есть возможность подключиться только для чтения. Для этого не требуется сетевой лицензии. Vault Basic
требуется соответствующее CAD -приложение, даже для подключения только на чтение.
Пользовательские надстройки изолированы от прочих команд/представлений/свойств: невозможно
изменить другие команды, за исключением скрытия их, либо добавления пре- или пост- обработки. Также
невозможно вызвать другие команды, выбирать элементы, менять виды, и пр.
Развертывание приложений
Готовую программу можно установить на компьютер:
· простым копированием в каталог расширений (%ProgramData%/Autodesk/Vault 2013/Extensions/),
· при помощи установочной программы, в которой приложение и поставляется пользователю
· посредством диспетчера приложений Autodesk Exchange, который встроен в Vault Explorer (Рисунок 5).
· посредством инструментария развертывания Project Thunderdome (ниже по тексту)
Рисунок 5Диспетчер приложений Autodesk Exchange
Примеры
Использование Vault API очень многогранно, ниже приведены лишь некоторые примеры его использования.
DECO. Приложение позволяет определить свой собственный диалог, который будет вызываться при создании
нового пользовательского объекта (Рисунок 6). В том числе, определить свой собственный диалог
редактирования. А также позволяет получить пользовательские вкладки для просмотра данных объектов.
Рисунок 6Диалог пользовательского объекта, разработанный при помощи DECO
vLogic. Приложение для настройки Vault посредством скриптов. За основу взят PowerShell, для написания
скриптов используется PowerShell ISE. Для выполнения скриптов не требуется Visual Studio, компиляция и
развертывание. Применение изменений при редактировании скриптов осуществляется без перезагрузки Vault
Explorer (Рисунок 7).
Рисунок 7vLogic в интерфейсе Vault Explorer
Project Thunderdome. Приложение позволяет сохранять и централизованно развертывать настройки Vault на
клиентских машинах (Рисунок 8): пользовательские; папки поиска; расширения; файлы DECO; скрипты vLogic.
Рисунок 8Интерфейс Project Thunderdome
Drawing Compare. Производит сравнение версий чертежа в Vault, либо двух различных чертежей. Основана
на Design Review (Рисунок 9).
Рисунок 9Интерфейс Drawing Compare
Заключение
Получить SDK Вы можете в каталоге [Путь установки Сервера/Клиента Vault]\SDK после установки Vault.



Заголовок окна браузера:  Основы программирования Autodesk Vault

Возврат к списку


Материалы по теме:


Поиск
Новости
Статьи

Инструкция по установке “SANA-2015”

ЛИРА-САПР 2018. Предварительный анонс.

Новое в АВС-4 2018.1 2 квартал 2018 г.

АВС 2018 дополнения и изменения.

Связь Tekla Structures — ЛИРА-САПР — Tekla Structures

Экспертиза проектов строительства передана в частный сектор

ЛИРА САПР 2016 новые возможности и функции

В РК внедряются Еврокоды взамен устаревших СНиПов

WebSite X5 Professional

Office 2016

ParticleShop добавит физические кисти в Photoshop

Скачать ArchiCAD

Forefront TMG миграция

Traffic Inspector Enterprise

АВС-5.3.2 по вопросу внедрения ресурсного метода ценообразования

ЛИРА 10.4

AutoCAD под ОС Windows 8 и 8. 1

AutoCAD 2015 for Mac

Autodesk постепенно переходит от реализации бессрочных лицензий AutoCAD к схеме Подписки.

УПРЗА Эколог 4.0. ПДВ-ЭКОЛОГ 4.60

Corel VideoStudio X8 — пакет для редактирования видео

55% пользователей смартфонов забывают о бэкапах

Новые возможности системы ГРУНТ для определения параметров жесткости грунтового и свайного оснований

ЛИРА-САПР 2015 новая система документирования.

SANA обновлена часть Выпуска 15 к СНиР.

Недорогой аналог АвтоКАД

facebook-logo.png v_k_logo.jpg odnoklassniki_logo.jpg mail_ru_logo.jpg tweeter_logo.jpg