Облачные 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