Меня часто спрашивают как ORCID удается постоянно обновлять реестр для добавления новых функций, но при этом поддерживать многие системы корпоративного уровня, принадлежащие и управляемые ORCID Членские организации, использующие наши API. Главный ответ - гибкость. Но, конечно, это немного сложнее.
Немного истории
Когда мы впервые запустились в октябре 2012 года, мы начали с API версии 1.0.1. (Нашим предыдущим прототипом была версия 1.0.) Как вы понимаете, в течение того первого года мы внесли много улучшений и добавили важные новые функции, такие как возможность подключения финансирования и партнерских связей к ORCID Записывать. Для каждого из этих улучшений мы сохранили обратную совместимость, что позволяет организациям обновлять их на досуге. Спустя год (и 23 обновления!) Мы обнаружили, что активно поддерживаем 23 версии нашего API. Это требовало значительных кадровых ресурсов для управления и означало, что у нас было меньше времени на добавление дополнительных функций и улучшений, которые требовались нашим участникам и пользователям. Что еще хуже, почти все пользователи API использовали версию 1.0.7 или более раннюю, что означает, что они не получали преимуществ от новых функций, которые мы внедряли и поддерживали. Ясно, что этот процесс ни у кого не работал!
Сосредоточение нашего подхода
В ноябре 2013 года мы разработали подход, преследующий следующие цели:
- Держите количество одновременно поддерживаемых API на управляемом уровне для нашей небольшой команды.
- Предоставьте пользователям API более подробную информацию о том, какие основные и второстепенные обновления API.
- Обслуживайте пользователей API, которые хотели бы иметь доступ к последним обновлениям и функциям, а также тех, кому требуются долгосрочные и стабильные корпоративные API.
- Обеспечьте гибкость для пользователей API, которые активно переходят на новые версии, но нуждаются в дополнительной поддержке или времени для перехода.
Корпоративный стабильный API
Теперь мы выпускаем новую корпоративную стабильную версию API один раз в год, обычно в январе. Эта версия включает в себя все новые функции, обновления и улучшения по сравнению с предыдущим годом.
- Хотя предыдущая стабильная корпоративная версия все еще работает, она считается «устаревшей».
- Пользователи API информируются за 3-6 месяцев до даты прекращения действия различий между двумя версиями, а также получают документацию и поддержку для обновления их системы. Мы также отправляем уведомление нашим техническим контактам, которые интегрировали с членским API.
- По прошествии некоторого времени старая версия перестает быть активной, после чего она перестает активно поддерживаться. В конце концов старая версия перестанет работать.
- Время, в течение которого обе версии активно поддерживаются, зависит от степени изменений и усилий, необходимых для выполнения обновления.
- Мы преданы нашим членам. Мы ВСЕГДА проверяем, что они успешно перешли на новую версию, прежде чем прекращать поддержку устаревшей версии API.
API инноваций
Для наших участников, которым нужен ранний доступ к новым функциям и улучшениям, мы предоставляем более частые API-интерфейсы кандидатов на выпуск, которые включают последние инновации.
- Эти версии обеспечивают ранний обзор обновлений, которые, вероятно, появятся в следующей стабильной корпоративной версии.
- Они включают функции, которые мы тестируем, и позволяют пользователям API опробовать новые функции раньше.
- Релиз-кандидаты обычно не поддерживаются и имеют ограниченную документацию. В ORCID команда разработчиков очень заинтересована в совместной работе с участниками, использующими релиз-кандидаты для улучшения предварительной функциональности.
Мы предоставляем подробную информацию о текущих версиях, датах внесения изменений и многом другом в нашем документация по версии. Мы также рекомендуем всем, кто использует API, стать членом Группа пользователей API где мы делимся последней информацией об API.