ADN Open CIS
Сообщество программистов Autodesk в СНГ

05/12/2013

Облачные API для PLM 360

Отличается ли использование облачного API от использования любого другого клиент-серверного API?  Если ранее вы разрабатывали приложения с Vault API, значит вы уже быть знакомы с большинством ключевых понятий.  Такие вещи, как задержка, пользовательские разрешения, многопользовательская среда применимы также к облаку.  Итак, является ли облако всего лишь более масштабной версией клиент/серверного программирования?

Нет, есть несколько ключевых различий.  Различия, которые должны быть учтены в вашем программном коде.

Частые обновления. Принять и смириться 

Когда новая версия PLM 360 выходит в онлайн, клиенты не имеют другого выбора, кроме как принять новую версию.  Для конечного пользователя обычно это хорошо.  На уровне API это вносит определенную составляющую нестабильности.  Ушли в прошлое те дни, когда вы наконец запускаете пользовательское расширение и с со спокойной душой знаете, что все работает как надо, и будут стабильно в течение следующего года или двух - до следующего обновления.

PLM 360 обновляется примерно каждые 4 недели и каждый получает обновление.  Эти обновления не являются чем-то таким, что вы можете запланировать, как в случае в установленным ПО.  Например, типичное обновление Vault включает в себя тестирование новой версии, затем планирование сроков применения обновлений.  В PLM 360 всё вообще не так.  Он обновляется без предупреждений, так что вы не можете спланировать обновление.  И определенно вы не можете выбрать сроки.

Иногда обновление Vault происходит неправильно - тогда пользователь решает остаться на более старой версии чуть дольше.  Как же обстоят дела с PLM 360?

Вы не можете откатиться

Произошло обновление PLM 360. Точка.  Вы не можете возвратиться к более старой версии.  Фактически, старая версия даже более не существует.

Этот факт добавляет дополнительную сложность в отладку.  Если вы заметили новую ошибку, сложно определить, возникла ли она из-за обновления PLM, либо всегда тут присутствовала и вы только её заметили.  В настольных приложениях вы всегда можете установить предыдущую версию и точно идентифицировать сбойное место, но в облаках такое не получится.

Иногда случается не ошибка в программе, но приложение - как бы точней сказать - другое.  Например, данные отображаются по-другому, либо операция приводит к другому результату, нежели ранее. Есть над чем поразмыслить.  Опять-таки сложно понять, связано это с обновлением PLM, либо возникло ранее.

Советы по работе в облаках

Вот некоторые советы по работе с облачным API.

  • Восходящая совместимость - ваш код всегда должен быть готов к неожиданностям  Избегайте присвоений везде где только можно.  Например, PLM 360 сейчас имеет 6 типов рабочих пространств.  На следующей неделе может стать уже 7.  Ваш код не должен давать сбой при работе с типами рабочих пространств, которых ранее он не видел.
  • Дымовое тестирование (Smoke Tests) - создавайте автоматизированные тесты для ваших приложений.  У такого подхода есть много плюсов.  Так, у вас есть простой способ определить проблемы, прежде чем это сделали пользователи.  У вас есть механизм выявления однозначного сбоя.  Сохранение результатов дымового тестирования даёт вам понимание того, как всё работало в предыдущей версии PLM 360.
  • Документирование - будьте внимательны при документировании поведения вашего приложения.  Записывайте видео, если есть возможность.  Если нет - делайте много снимков экрана.  Опять же, цель в том, чтобы иметь на что ссылаться, если вы считаете что в этом месте произойдет изменение в поведении.

Положение дел со стороны Autodesk

Очевидно, что в Autodesk также хотят, чтобы ваши приложения были как можно более стабильным.  Итак, что вы можете ожидать от производителя.

  • Обратная совместимость - так же как ваше приложение нуждается в восходящей совместимости, API PLM 360 должен быть обратно совместим.  Несмотря на то, что в REST v2 будет добавлено новое содержимое, существующие содержимое не будет изменено или удалено.  Если возникает ситуация, когда модель данных необходимо изменить, эта новая модель перейдет в REST v3.
  • Устранение ошибок - если вы считаете, что в API есть ошибка, сообщите в Autodesk.  Одним из основных преимуществ облака является возможность для Autodesk быстрого исправления ошибок.
  • Услуги разработчиков - Autodesk работает над рядом инициатив, которые должны облегчить некоторые из болевых моментов, которые упомянуты выше. 

Источник: http://justonesandzeros.typepad.com/blog/2013/10/cloud-based-apis.html

Обсуждение: http://adn-cis.org/forum/index.php?topic=383

Опубликовано 05.12.2013
Отредактировано 05.12.2013 в 11:54:19