3.8

Смотреть на английском

3.8 Совместимость и открытые стандарты

Обзор и мотивация

Совместимость (interoperability) это способность двух или более систем обмениваться информацией и использовать обменянную информацию, не заставляя ни одну из сторон знать внутреннее устройство другой. Открытый стандарт это спецификация, общедоступная, разрабатываемая и сопровождаемая через прозрачный процесс на основе консенсуса и свободная (или на справедливых, разумных и недискриминационных условиях) для реализации, так что любой может построить соответствующую систему без разрешения единственного поставщика. Проектирование под совместимость означает построение систем, соединяющихся через эти общие опубликованные спецификации, а не через самодельные интеграции: разовые заказные соединители, связывающие ровно две системы и подлежащие перестройке каждый раз, когда меняется любая сторона.

Для большой организации совместимость не любезность. Это субстрат, на котором работает всё остальное. Корпорации приобретают компании, заменяют поставщиков и сшивают десятки внутренних и сторонних систем, а открытые стандарты позволяют новому компоненту встать на место без переписывания. Для государства ставки ещё выше. Публичные услуги оказываются через многие ведомства, уровни власти и частных поставщиков, и ни один орган не контролирует всё хозяйство. Гражданин, подающий заявление на пособие, может затронуть системы идентификации, налогов, здравоохранения и социального обеспечения, принадлежащие разным ведомствам. Эти системы должны взаимодействовать, иначе услуга проваливается. Государственные органы также меняют поставщиков по циклам закупок, измеряемым годами, поэтому любая зависимость от проприетарных интерфейсов единственного поставщика становится долгой дорогой ловушкой.

Повторяющийся режим отказа противоположен совместимости: проприетарная привязка, когда данные и процессы организации настолько переплетены с нестандартными форматами и интерфейсами одного поставщика, что переключение, интеграция или даже последующее чтение данных становится запредельно дорогим. Открытые стандарты основная защита. Эта глава охватывает уровни, на которых системы должны взаимодействовать, стандарты, это делающие возможным, и как проектировать, закупать и сертифицировать под это. Она тесно связана с API и проектированием интерфейсов (глава 2.3), распределёнными системами (глава 3.3), стратегией данных и управлением данными (глава 7.1), закупками и открытым исходным кодом (глава 10.3) и соответствием и управлением (глава 4.6).

Ключевые принципы

  • Совместимость закладывается в проект, а не прикручивается. Определяйте стандарты до построения, потому что дооснащение ими означает переписывание интерфейсов и миграцию данных.
  • Предпочитайте открытые стандарты самодельным интеграциям. Соответствующий интерфейс обслуживает каждого нынешнего и будущего партнёра; заказной соединитель обслуживает ровно одного.
  • У совместимости есть уровни. Доставка байтов по проводу (технический уровень) бесполезна, если две стороны расходятся в том, что байты значат (семантический).
  • Смысл живёт в общих словарях. Идентификаторы, системы кодов и терминологии делают обмениваемые данные пригодными для использования, а не только передаваемыми.
  • Стандарты реальны, только если им соответствуешь. Заявление «поддерживает FHIR» без тестирования соответствия это маркетинг, а не совместимость.
  • Привязка это решение о совокупной стоимости владения. Дешёвый проприетарный вариант сегодня часто завтрашнее запертое хозяйство.
  • Государство умножает потребность. Публичные услуги пересекают организационные границы, которые никто не контролирует, поэтому открытые стандарты часто мандат, а не предпочтение.

Рекомендации

Проектируйте под все четыре уровня совместимости

Европейская рамка совместимости и родственные модели описывают четыре уровня, и система должна удовлетворять всем, чтобы действительно взаимодействовать. Техническая совместимость это сантехника: сети, протоколы и транспорт (например, HTTPS), перемещающие байты между системами. Синтаксическая совместимость это согласие о структуре и формате, грамматике сообщения, например JSON (JavaScript Object Notation, лёгкий текстовый формат данных) или XML (eXtensible Markup Language). Семантическая совместимость это согласие о значении: что поле с названием gender или код 250.00 означает одно и то же для обеих сторон. Организационная совместимость это согласованность процессов, управления, ролей и юридических соглашений: кому разрешено отправлять что кому, по какому соглашению об обмене данными и с какой целью. Большинство интеграционных проектов справляются с первыми двумя уровнями и проваливаются на третьем и четвёртом. Воспринимайте семантическую и организационную совместимость как первоклассную проектную работу, а не запоздалую мысль.

Стандартизируйте слой обмена данными и API

Принимайте открытые, широко реализованные стандарты для того, как системы описывают и открывают свои интерфейсы. Для веб-API (программных интерфейсов приложений, определённого контракта, через который одна система вызывает другую) используйте спецификацию OpenAPI, нейтральное к поставщикам машиночитаемое описание API REST (Representational State Transfer), и документирующее интерфейс, и порождающее клиентский код, серверы, тесты и имитации. Для форматов данных предпочитайте JSON за его повсеместность и читаемость человеком и используйте XML там, где экосистема уже стандартизировалась на нём. Там, где нужна высокопроизводительная строго типизированная связь между сервисами, рассмотрите gRPC (фреймворк удалённого вызова процедур) с Protocol Buffers (Protobuf), компактным бинарным форматом, определённым схемой, который сам является открытой спецификацией. Суть не в конкретной технологии. Она в том, что контракт опубликован, машиночитаем и независимо реализуем. Глубину проектирования интерфейсов см. в главе 2.3.

Принимайте признанный стандарт вашей области

В большинстве секторов сошлись предметные стандарты совместимости. Используйте их вместо изобретения своих. Здравоохранение ведущий пример. HL7 (Health Level Seven, орган по стандартам и его более старые стандарты обмена сообщениями) в значительной мере вытеснен для новой работы стандартом FHIR (Fast Healthcare Interoperability Resources), современным стандартом, моделирующим клинические понятия (пациент, наблюдение, лекарство) как веб-ресурсы, обмениваемые через REST API в JSON или XML. В финансах ISO 20022 открытый стандарт структурированного, богато аннотированного обмена платёжными и финансовыми сообщениями, теперь принятый платёжными системами по всему миру. В геопространственных данных OGC (Open Geospatial Consortium) публикует стандарты вроде WMS и WFS для сервисов карт и объектов. Другие примеры включают OASIS и UBL для деловых документов и IFC (BuildingSMART) для строительства. Выбор признанного стандарта покупает целую экосистему соответствующих инструментов, поставщиков и обученного персонала.

Закрепляйте смысл в идентификаторах, системах кодов и онтологиях

Семантическая совместимость требует общих словарей. Используйте стандартные идентификаторы, чтобы одна и та же вещь реального мира имела одну и ту же ссылку везде (например, код страны ISO, LEI для юридического лица или национальный идентификатор пациента). Используйте опубликованные системы кодов и терминологии (контролируемые списки закодированных понятий с определённым значением) вместо свободного текста: SNOMED CT и LOINC для клинических терминов, МКБ (ICD) (Международную классификацию болезней) для диагнозов, Unicode для текста. Там, где важны отношения между понятиями, используйте онтологию (формальную машиночитаемую модель понятий и их соотношений), выраженную в стандартах вроде RDF и OWL (Web Ontology Language консорциума W3C). Управление этими словарями ответственность управления данными; см. главу 7.1.

Интегрируйтесь через шаблоны на основе стандартов, а не соединение «точка-точка»

Отдавайте предпочтение архитектурным шаблонам, держащим число интеграций линейным, а не комбинаторным. N систем, соединённых «точка-точка», могут требовать до N×(N−1)/2 самодельных соединителей. Те же N систем, каждая из которых соответствует общему стандарту, требуют лишь N реализаций этого стандарта. Используйте шлюзы, опубликованные контракты API и канонические модели данных, чтобы новый участник интегрировался один раз со стандартом, а не с каждой существующей системой. Это же противоядие от привязки: поскольку контракт открыт, поставщика можно заменить, не трогая всех, кто с ним связан.

Требуйте соответствия и сертификации

Стандарт приносит ценность, только когда реализации действительно ему соответствуют. Настаивайте на тестировании соответствия (автоматических проверках того, что реализация удовлетворяет спецификации) с использованием опубликованных наборов тестов и валидаторов (например, валидаторов FHIR и тестирования Touchstone или проверки схем OpenAPI в вашем конвейере сборки). Там, где существует формальная программа сертификации (независимый орган, подтверждающий соответствие, как в национальных схемах сертификации медицинских ИТ), предпочитайте сертифицированные продукты и требуйте сертификации в контрактах. Встраивайте проверки соответствия в непрерывную интеграцию, чтобы отклонение от стандарта валило сборку, а не проявлялось в эксплуатации.

Компромиссы: плюсы и минусы

ПодходПлюсыМинусы / цена
Открытый стандартМного поставщиков, нет привязки, инструменты экосистемы, будущие партнёры интегрируются дёшевоСтандарт может быть широк/сложен, медленнее принятие нишевых функций, эволюция темпом комитета
Самодельная интеграция «точка-точка»Быстро для первого соединения, точное соответствие, минимум предварительного обученияСтоимость растёт комбинаторно, хрупко, переделывается при каждом изменении, порождает привязку
Проприетарный формат/API поставщикаБогатые функции, поддержка поставщика, быстрый старт в одной экосистемеПривязка, стоимость переключения, данные трудно извлечь позже, ценовая власть переходит к поставщику
Предметный стандарт (FHIR, ISO 20022)Общий смысл, обученный персонал, согласованность с регуляторомКривая обучения, сопоставление унаследованных данных, накладные расходы на версии и профили

Главный компромисс это краткосрочное удобство против долгосрочной вариативности. Самодельная или проприетарная интеграция почти всегда быстрее поднимается для самого первого соединения, поэтому организации сползают в привязку по одному разумному решению. Открытые стандарты выносят стоимость вперёд (изучение спецификации, сопоставление существующих данных, построение тестов соответствия) и возвращают её каждый раз, когда новый партнёр, поставщик или система присоединяется без переписывания. Для системы с долгой жизнью и многими участниками, что описывает почти каждую корпоративную и государственную платформу, путь на основе стандартов побеждает решительно. Для действительно одноразового соединения «один-к-одному» самодельное может быть рациональным. Ошибка в том, чтобы воспринимать долгоживущие платформы как одноразовые соединения.

Вопросы для обсуждения с командой

  1. Кто владеет организационной совместимостью (соглашениями об обмене данными, моделями согласия и согласованностью процессов), от которой зависит ваша техническая интеграция? Большинство проектов справляются с техническим и синтаксическим уровнями и застревают на организационном: байты приходят и разбираются, но никакое соглашение не определяет, кто может отправлять что кому, с какой целью, по какому согласию. В государстве данные гражданина пересекают ведомства, каждое из которых владеет своими системами и отвечает по разным правовым основаниям, поэтому идеальный интерфейс FHIR бесполезен, пока не появятся соглашение об обмене и модель согласия. Принесите ваш важнейший межграничный обмен и назовите правовой инструмент и ответственного владельца с каждой стороны, а не только API. Если владелец не назван, интеграция пройдёт все технические тесты и всё равно будет заблокирована в эксплуатации. Воспринимайте эти соглашения как проектные артефакты с той же строгостью, что и схема сообщения.

  2. Насколько сильно вы опираетесь на проприетарные расширения стандарта и могла бы другая соответствующая реализация всё ещё общаться с вами? В стандартах есть аварийные люки, и их чрезмерное использование это фактическая привязка в открытом значке: вы заявляете FHIR или ISO 20022, но ни один независимый поставщик не может на самом деле взаимодействовать с вашим диалектом. Это подкрадывается по одной разумной настройке, поэтому большое хозяйство должно измерять это намеренно. Принесите настоящее сообщение и сосчитайте, какая часть его смысла опирается на стандартные поля против заказных расширений; чем выше заказная доля, тем слабее ваша переносимость и сильнее ценовая власть действующего поставщика. Предпочитайте профилирование в рамках правил стандарта и возврат пробелов в стандарт приватным расширениям. Вся суть открытого пути в том, что поставщика можно заменить, не трогая всех, кто связан, а расширения тихо это подтачивают.

  3. На какой версии и профиле каждого стандарта вы находитесь и кто управляет этим выбором по хозяйству? «Поддерживает стандарт» ничего не значит без дисциплины версий и профилей, потому что две системы могут обе заявлять FHIR или ISO 20022 и всё же не общаться, если реализуют разные версии или профили. В большой организации со многими поставщиками и долгими циклами закупок версии молча расходятся, пока интеграция не ломается. Принесите опись каждого интерфейса, его стандарта, версии и профиля и назовите, кто отвечает за их согласование и планирование обновлений. Встройте версию и профиль в тесты соответствия в конвейере, чтобы дрейф валил сборку, а не проявлялся в эксплуатации. Без этого управления номинально соответствующие системы всё равно не могут взаимодействовать, а это именно тот отказ, который открытые стандарты должны были предотвратить.

  4. Когда контракт или поставщик говорит «поддерживает стандарт», какой независимый тест это доказывает и где этот тест работает? Заявление о соответствии без теста за ним маркетинг, и он проваливается в худшем месте: в эксплуатации, после того как деньги перешли из рук в руки, а система уже в работе. Для большой организации, закупающей у многих поставщиков, есть соблазн принять галочку в анкете, потому что настаивание на проверенном соответствии замедляет закупки и сужает круг претендентов. Принесите опубликованный валидатор или набор тестов для каждого стандарта, от которого вы зависите (например, валидаторы FHIR и Touchstone или проверка схем OpenAPI), выборку настоящих сообщений, прогнанных через него, и пункт вашего контракта, привязывающий приёмку и оплату к его прохождению. Противоположное тяготение это скорость против доказательства: сертифицированный продукт может стоить дороже и дольше подключаться, но непроверенный перекладывает отказ на вашу команду интеграции. В государственной и регулируемой среде, где существуют национальные схемы сертификации медицинских ИТ или платежей, требуйте сертификации в контракте и подключайте валидатор к непрерывной интеграции, чтобы дрейф валил сборку, потому что утверждение, которое вы никогда не тестировали, это обязательство, которое вы обнаружите при аудите или сбое.

  5. Сколько ваших интеграций всё ещё «точка-точка» и какова истинная комбинаторная цена того, чтобы оставить их так? Самодельные соединители «один-к-одному» быстрее всего строятся для первого соединения и дороже всего во владении по хозяйству, потому что счёт растёт к N×(N−1)/2, тогда как общему стандарту нужно лишь N реализаций. В большой организации это расползание нарастает по одному разумному решению, пока карта интеграций не становится несопровождаемой, а каждое изменение системы расходится рябью по дюжине хрупких соединителей. Принесите опись ваших интеграций, классифицированных как «точка-точка» против основанных на стандартах, число соединителей, затронутых вашей последней крупной заменой системы, и оценку инженерного времени, потраченного на сопровождение заказных связей. Напряжение в том, что перенос живой проводки «точка-точка» за шлюз или каноническую модель реальная работа без немедленной отдачи в функциях, поэтому она проигрывает дорожной карте, если никто не оценил стоимость содержания количественно. Для корпоративных и государственных платформ, живущих десятилетиями и непрерывно добавляющих участников, путь «точка-точка» медленный налог; назовите владельца архитектуры интеграции и план направлять новых участников через стандарт, а не против каждого действующего.

  6. Где вы передаёте смысл свободным текстом, который должна нести опубликованная система кодов или терминология, и кто управляет этими словарями? Семантическая совместимость то место, где большинство интеграций тихо проваливается: байты приходят и разбираются, но диагноз, валюта или страна, хранимые как неограниченная строка, означают одно для отправителя и нечто тонко иное для получателя. Для большой организации стоимость невидима, пока отчётность, аналитика или регулятор не обнаруживают, что одно и то же понятие кодировалось тремя способами в трёх системах. Принесите примеры полей, сейчас хранимых как свободный текст, стандартные идентификаторы и системы кодов, которые могли бы их заменить (SNOMED CT и LOINC для клинических данных, коды ISO для стран и валют, LEI для юридических лиц), и доли ошибок или усилия по сверке, которые скрывает свободный текст. Противоположное соображение в том, что сопоставление унаследованных данных с контролируемыми словарями кропотливо и никогда не демонстрируется, поэтому хронически недофинансируется относительно транспортного слоя. В государстве, где запись гражданина собирается из многих независимых систем, а несовпавший код может отказать в пособии или испортить медицинскую запись, воспринимайте управление словарями как названную ответственность управления данными (глава 7.1), а не деталь реализации, оставленную каждой команде.

Взгляд по секторам

Стартап. Побеждает скорость, а открытые стандарты это то, как крошечная команда достигает многих клиентов, не строя многих соединителей. Говорите на форматах, которые уже поддерживает каждый партнёр (OAuth для входа, iCalendar для планирования, веб-хуки для событий, JSON по контракту OpenAPI), чтобы одна интеграция достигала тысяч клиентов, а смена поставщика затрагивала один адаптер. Избегайте изобретения собственного формата или ручной проводки к стеку каждого клиента; это будущее сопровождение, которое вы не можете укомплектовать. Путь стандартов стоит чуть дороже заранее и держит переключение дешёвым на рынке, который вы пока не можете предсказать.

Малый бизнес. Без специалистов по интеграции и при ограниченном бюджете воспринимайте совместимость как решение о покупке, а не проект построения. Предпочитайте инструменты, уже говорящие на открытом стандарте вашего сектора и открывающие документированный API, чтобы ваши данные оставались переносимыми при смене поставщиков. Спросите потенциального поставщика, как вы получите свои данные и в каком формате, прежде чем подписывать, потому что дешёвый проприетарный вариант сегодня запертое хозяйство завтра. Вы редко будете запускать тест соответствия сами, поэтому опирайтесь на сертифицированные или широко совместимые продукты.

Крупная организация. Трудность в управлении совместимостью между многими командами, поставщиками и долгими циклами закупок. Предписывайте предметный стандарт (FHIR, ISO 20022, OGC) и опубликованный контракт OpenAPI, затем ведите опись каждого интерфейса с версией, профилем и ответственным владельцем, чтобы номинально соответствующие системы не расходились. Направляйте новых участников через шлюзы и канонические модели, а не проводку «точка-точка», встраивайте проверку соответствия в непрерывную интеграцию и измеряйте, какая доля вашего трафика опирается на стандартные поля против проприетарных расширений. Управляйте привязкой и переносимостью как намеренной позицией по совокупной стоимости владения, а не случайностью.

Государственный сектор. Открытые стандарты часто мандат, потому что публичные услуги охватывают ведомства, которые не контролирует ни один орган, а поставщики меняются по многолетним циклам. Требуйте тестирования соответствия и, где есть схемы, национальной сертификации в каждом контракте и требуйте переносимости данных, чтобы уходящий поставщик не мог держать общественные данные заложником. Закрепляйте смысл в национальных идентификаторах и опубликованных терминологиях, чтобы запись гражданина означала одно и то же в разных ведомствах, и обрабатывайте организационную совместимость явными соглашениями об обмене данными и моделями согласия с названными ответственными владельцами. Прозрачность и казна обе говорят в пользу открытого, независимо реализуемого пути перед любым проприетарным удобством.

Примеры

Стартап. Небольшой стартап, строящий приложение для командной продуктивности, подключается к существующим инструментам клиентов через открытые стандарты, а не самодельные соединители: OAuth для входа, iCalendar для планирования и веб-хуки для событий. Поскольку он говорит на форматах, которые уже поддерживает каждый календарь и провайдер идентификации, одна интеграция достигает тысяч клиентов вместо одного, а смена платёжного или почтового поставщика позже затрагивает один адаптер. Если бы он вручную строил заказную связь со стеком каждого клиента, каждый новый логотип означал бы ещё один соединитель для написания и сопровождения.

Крупная организация. Международный банк модернизирует трансграничные платежи, мигрируя с унаследованного проприетарного формата сообщений на ISO 20022. Поскольку стандарт несёт структурированные, богато аннотированные данные (плательщик, получатель, назначение, регуляторные поля), а не свободный текст, нижестоящие системы проверки мошенничества, сверки и отчётности потребляют один канонический формат вместо дюжины самодельных парсеров. Когда банк позже заменяет поставщика платёжного шлюза, новый поставщик уже говорит на ISO 20022, так что переход затрагивает шлюз, а не сотню систем за ним. Открытый стандарт превратил миграцию поставщика из многолетней перестройки в ограниченную замену.

Государственный сектор. Национальной службе здравоохранения нужно, чтобы больницы, клиники, лаборатории и пациентское приложение (построенные разными поставщиками за два десятилетия) безопасно обменивались записями. Она предписывает FHIR для обмена данными: каждая система открывает данные о пациенте, наблюдении и лекарстве как ресурсы FHIR по REST API, используя стандартные идентификаторы (национальный идентификатор пациента) и клинические терминологии (SNOMED CT для состояний, LOINC для результатов анализов), чтобы коды значили одно и то же везде. Поставщики должны пройти валидацию соответствия FHIR и иметь национальную сертификацию медицинских ИТ до подключения. Новая система клиники интегрируется один раз со стандартом FHIR, а не строит самодельные связи с каждым действующим участником, а гражданин видит единую запись, собранную из многих независимых систем. Организационная совместимость обеспечивается соглашениями об обмене данными, определяющими, кто и к чему может иметь доступ и зачем, удовлетворяя обязательствам соответствия (глава 4.6).

Бизнес-обоснование: мотивы, ROI и TCO

Финансовый аргумент в пользу открытых стандартов это аргумент о совокупной стоимости владения (TCO) на протяжении жизни системы, а не о цене первой интеграции. Стоимость самодельной интеграции растёт с числом соединений и платится заново при каждом изменении. Стоимость интеграции на основе стандартов платится один раз на участника и амортизируется по всему хозяйству. Отдача (ROI) проявляется как сокращение трудозатрат на интеграцию, более быстрое подключение новых партнёров и поставщиков, более низкие издержки переключения, когда поставщики не справляются, и избегание классического налога привязки, когда единственный поставщик повышает цены, потому что ни один конкурент не может участвовать в торгах.

Для руководства формулируйте обоснование вокруг вариативности и конкуренции. Открытые стандарты сохраняют закупки конкурентными (глава 10.3). Когда интерфейсы опубликованы и проверены на соответствие, несколько поставщиков могут участвовать в торгах на равных условиях, что снижает цену и повышает качество в последовательных контрактах. Они также снижают риск будущего, потому что регуляторные изменения, слияния и программы модернизации становятся дешевле, когда данные и интерфейсы переносимы. Самая большая скрытая цена игнорирования стандартов это вынужденная миграция в итоге: извлечение данных из проприетарного формата постфактум, когда исходный поставщик ушёл или не сотрудничает, регулярно стоит во много раз больше, чем стоил бы проект на основе стандартов заранее. Государства всё чаще это признают и предписывают открытые стандарты именно чтобы защитить казну от привязки на десятилетия.

Антипаттерны и ловушки

  • Техническая совместимость, принятая за всю работу. Сообщение приходит и разбирается, но стороны расходятся в значении поля, поэтому данные молча неверны.
  • «На основе стандартов» только по названию. Продукт заявляет поддержку стандарта, но никогда не проходил тестирование соответствия и на практике отклоняется.
  • Свободный текст там, где существует система кодов. Хранение диагнозов, валют или стран как неограниченных строк разрушает семантическую совместимость.
  • Проприетарные расширения, поглощающие стандарт. Использование аварийных люков стандарта настолько сильно, что никакая другая реализация не может взаимодействовать: фактическая привязка в открытом значке.
  • Расползание «точка-точка». Добавление одного самодельного соединителя каждый раз, пока карта интеграций не становится несопровождаемой комбинаторной неразберихой.
  • Хаос версий и профилей. Нет управления тем, какая версия или профиль стандарта используется, поэтому номинально соответствующие системы всё равно не могут общаться.
  • Игнорирование организационной совместимости. Идеальный технический обмен заблокирован, потому что нет ни соглашения об обмене данными, ни модели согласия, ни согласованности процессов.
  • Построение собственного стандарта. Изобретение самодельного формата, когда уже существует зрелый принятый предметный стандарт, с наследованием его сопровождения навсегда.

Модель зрелости

  • Уровень 1: Начальный. Интеграция стихийна и «точка-точка». Форматы проприетарны или недокументированы. Смысл передаётся свободным текстом и племенным знанием. Замена любой системы или поставщика крупный проект. Привязка повсеместна и в значительной мере непризнана.
  • Уровень 2: Развитие. Появляются общие форматы вроде JSON или XML, и некоторые API документированы, но практика различается по командам. Совместимость по-прежнему в основном синтаксическая; семантическое согласие непоследовательно и по проекту. Стандарты выбираются реактивно, а соответствие заявляется, но не тестируется.
  • Уровень 3: Стандартизация. Открытые стандарты обмена данными (OpenAPI и соответствующий предметный стандарт, такой как FHIR или ISO 20022) документированы и предписаны по организации. Общие идентификаторы, системы кодов и терминологии обеспечивают семантическую совместимость. Тестирование соответствия часть конвейера поставки, а интеграция следует шаблонам на основе стандартов, а не проводке «точка-точка».
  • Уровень 4: Управление. Совместимость измеряется и контролируется относительно базовых значений. Отслеживаются и пересматриваются метрики: доля интеграций на основе стандартов против «точка-точка», доля смысла сообщения на стандартных полях против проприетарных расширений, доли прохождения тестов соответствия в конвейере, дрейф версий и профилей по хозяйству, время выполнения интеграции и доля дефектов при подключении нового участника. Версиями и профилями управляют, сертификация требуется от поставщиков и проверяется, а риск привязки измеряется количественно, а не ощущается. Решения принять, обновить или вывести интерфейс принимаются на этих свидетельствах.
  • Уровень 5: Оркестрация. Совместимость непрерывно улучшается и интегрирована по организации. Организационная совместимость (соглашения, согласие, согласованность процессов) обрабатывается системно рядом с техническими слоями, организация вносит вклад обратно в стандарты, от которых зависит, а переносимость постоянное проектное ограничение. Хозяйство адаптируется по мере эволюции стандартов и прихода и ухода участников, перебалансируя архитектуру интеграции и управление словарями на измеренных свидетельствах, а не по инциденту.

Идеи для обсуждения

  1. Для вашего самого критичного обмена данными на каком из четырёх уровней (технический, синтаксический, семантический, организационный) он сегодня слабее всего?
  2. Если бы ваш основной поставщик удвоил цену при продлении, как долго и как дорого было бы переключиться и что делает это таким?
  3. Какие из ваших интеграций «точка-точка» и что потребовалось бы, чтобы перенести их за общий открытый стандарт?
  4. Где вы храните свободный текст, который могла бы заменить опубликованная система кодов или терминология, и какие ошибки он скрывает?
  5. Требует ли «поддерживает стандарт» в ваших контрактах прохождения независимого теста соответствия или сертификации или это лишь заявлено?
  6. Какие мандаты открытых стандартов (национальные или отраслевые) уже применимы к вам и выполняете ли вы их на самом деле или лишь заявляете?

Главные выводы

  • Совместимость означает использование обменянной информации, а не только её передачу; проектируйте под все четыре уровня: технический, синтаксический, семантический и организационный.
  • Предпочитайте открытые, опубликованные, независимо реализуемые стандарты самодельным интеграциям и проприетарным форматам, порождающим привязку и комбинаторную стоимость.
  • Стандартизируйте слой API и обмена данными (OpenAPI, JSON/XML, gRPC/Protobuf) и принимайте признанный стандарт вашей области (FHIR в здравоохранении, ISO 20022 в финансах, OGC в геопространственных данных).
  • Закрепляйте смысл в общих идентификаторах, системах кодов, терминологиях и онтологиях; семантическая совместимость то место, где большинство интеграций тихо проваливается.
  • Требуйте тестирования соответствия и, где доступно, сертификации; стандарт реален, только когда реализации демонстративно ему соответствуют.
  • Оценивайте выбор по совокупной стоимости владения и вариативности на протяжении жизни системы; для долгоживущих многосторонних платформ (почти всех корпоративных и государственных систем) побеждают открытые стандарты, а государство всё чаще их предписывает.

Источники и дополнительное чтение

  • HL7 International, FHIR (Fast Healthcare Interoperability Resources) specification (hl7.org/fhir)
  • ISO 20022, Universal financial industry message scheme (iso20022.org)
  • OpenAPI Initiative, OpenAPI Specification (Linux Foundation)
  • Open Geospatial Consortium (OGC) standards (WMS, WFS, and successors)
  • European Commission, European Interoperability Framework (EIF) and the Interoperable Europe Act
  • UK Government, Open Standards Principles and the Technology Code of Practice (GOV.UK)
  • W3C, RDF, OWL (Web Ontology Language), and semantic-web standards
  • SNOMED International (SNOMED CT), Regenstrief Institute (LOINC), and WHO (ICD) terminologies
  • gRPC and Protocol Buffers specifications (Cloud Native Computing Foundation / open source)
  • NIST and IEEE literature on systems interoperability and conformance testing