Jump to content

Шаблон канонической схемы

В обеспечения разработке программного Canonical Schema — это шаблон проектирования , применяемый в рамках парадигмы сервисно-ориентированного проектирования , целью которого является уменьшение необходимости выполнения модели данных. [ 1 ] трансформация, когда услуги [ 2 ] обмениваться сообщениями, которые ссылаются на одну и ту же модель данных. [ 3 ]

Обоснование

[ редактировать ]

Взаимодействие между сервисами часто требует обмена деловыми документами. Чтобы потребитель услуги мог отправлять данные (относящиеся к конкретному бизнес-объекту, например, заказу на поставку), ему необходимо знать структуру данных, т.е. модель данных. Для этого поставщик услуг публикует структуру данных, которые он ожидает, во входящем сообщении от потребителя услуги. В случае реализации сервисов как веб-сервисов, [ 4 ] это будет документ схемы XML. Как только потребитель услуги узнает необходимую модель данных, он может соответствующим образом структурировать данные. Однако при некоторых условиях может оказаться возможным, что потребитель услуги уже обладает необходимыми данными, которые относятся к конкретному деловому документу, но эти данные не соответствуют модели данных, указанной поставщиком услуг. Это несоответствие между моделями данных приводит к необходимости преобразования модели данных, чтобы сообщение преобразулось в требуемую структуру, как того требует поставщик услуг. Основываясь на вышеупомянутом примере, вполне возможно, что после обработки полученного бизнес-документа поставщик услуг отправит обработанный документ обратно потребителю услуги, который еще раз выполнит преобразование модели данных, чтобы преобразовать обработанный бизнес-документ обратно в модель данных. который он использует в своей логике для представления бизнес-документа.
Такое преобразование модели данных во время выполнения увеличивает затраты на обработку и усложняет разработку композиций сервисов. [ 5 ] Чтобы избежать необходимости преобразования модели данных, шаблон канонической схемы требует использования стандартизированных моделей данных для тех бизнес-документов, которые обычно обрабатываются службами в реестре служб. [ 6 ] [ 7 ]

Использование

[ редактировать ]
Диаграмма А
Диаграмма А
Служба A использует другую модель данных по сравнению со службой B для того же бизнес-документа. При обмене сообщениями необходимо выполнить преобразование модели данных во время выполнения.
Диаграмма Б
Диаграмма Б
Обе службы используют одну и ту же модель данных для представления конкретного бизнес-документа. В результате при обмене сообщениями преобразование модели данных не требуется.

Этот шаблон проектирования полностью поддерживается применением принципа проектирования стандартизированного контракта на обслуживание . Принцип проектирования стандартизированных контрактов на обслуживание предполагает, что контракты на обслуживание основываются на стандартизированных моделях данных. Это достигается путем анализа плана инвентаризации услуг. [ 8 ] чтобы узнать часто встречающиеся деловые документы, которыми обмениваются между службами. Эти деловые документы затем моделируются стандартизированным образом. Например, в случае веб-сервисов бизнес-документы моделируются как схемы XML. Когда в инвентаре сервисов существует стандартизированный уровень представления данных, разные контракты на обслуживание могут использовать одни и те же модели данных, если им необходимо обмениваться одними и теми же бизнес-документами. Это устраняет необходимость в каком-либо преобразовании модели данных и снижает накладные расходы на обработку, связанные с преобразованием модели данных. Это также увеличивает потенциал повторного использования службы, поскольку теперь услугу можно использовать, не требуя какой-либо специальной логики преобразования модели данных. В некотором смысле, применение шаблона канонической схемы уменьшает необходимость применения преобразования модели данных. [ 9 ] шаблон дизайна.

Соображения

[ редактировать ]

Применение этого шаблона проектирования требует стандартов проектирования. [ 10 ] которые делают использование стандартизированных моделей данных обязательным, поскольку простое создание моделей данных не гарантирует их использование. [ 11 ] Несмотря на простоту в принципе, ее трудно реализовать, поскольку она требует участия различных проектных групп, что может повлечь за собой дополнительные усилия со стороны каждой команды с точки зрения разработки решений, учитывающих стандартизированные модели данных.
В некоторых случаях, либо из-за огромного размера организации, либо из-за сопротивления со стороны различных сегментов предприятия, может потребоваться применение шаблона проектирования Canonical Schema в пределах определенного реестра доменов, созданного с помощью инвентаризации домена дизайна . шаблон. [ 7 ]
Схемы необходимо разрабатывать отдельно от проекта контракта службы, чтобы между ними не было зависимости. [ 11 ]

См. также

[ редактировать ]
  1. ^ Структура данных, например, в базе данных, структура данных, содержащихся в таблице, представлена ​​схемой таблицы. В случае документов на основе XML соответствующий документ схемы XML содержит структуру документа XML.
  2. ^ "Услуги" . Архивировано из оригинала 1 мая 2012 г. Проверено 17 марта 2010 г.
  3. ^ Мауро. и др. Сервис-ориентированная интеграция устройств: анализ шаблонов проектирования SOA. Архивировано 28 марта 2010 г. в Wayback Machine [Онлайн], стр. 1–10, 2010 г., 43-я Гавайская международная конференция по системным наукам, 2010 г. Дата обращения: 30 апреля 2010 г.
  4. ^ Сервис может быть реализован с использованием любой технологии, если она соответствует принципам ориентации на сервис .
  5. ^ «Служебные композиции» . Архивировано из оригинала 11 марта 2010 г. Проверено 17 марта 2010 г.
  6. ^ «сервисный инвентарь» . Архивировано из оригинала 13 марта 2010 г. Проверено 17 марта 2010 г.
  7. ^ Jump up to: а б Томас Эрл , Хербьорн Вильгельмсен. Шаблон проектирования канонической схемы [онлайн]. Дата обращения: 8 апреля 2010 г.
  8. ^ «План инвентаризации услуг» . Архивировано из оригинала 11 мая 2010 г. Проверено 17 марта 2010 г.
  9. ^ «Трансформация модели данных» . Архивировано из оригинала 13 февраля 2010 г. Проверено 17 марта 2010 г.
  10. ^ «стандарты проектирования» . Архивировано из оригинала 17 марта 2010 г. Проверено 17 марта 2010 г.
  11. ^ Jump up to: а б Эбен Хьюитт. Книга рецептов Java SOA [ постоянная мертвая ссылка ] [Онлайн]. стр. 50. Дата обращения: 25 апреля 2010 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7df29569671e33d04a386ba9c3b808c7__1625305920
URL1:https://arc.ask3.ru/arc/aa/7d/c7/7df29569671e33d04a386ba9c3b808c7.html
Заголовок, (Title) документа по адресу, URL1:
Canonical schema pattern - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)