Canonical schema
В программной инженерии, Canonical Schema – шаблон проектирования, применяемый в SOA для уменьшения преобразований модели данных за счёт использования общей унифицированной схемы[1].
Обоснование
Взаимодействие между сервисами часто требует обмена бизнес-документами. Чтобы сервис-потребитель мог отправить данные (относящиеся к определённой бизнес-сущности, например, заказу), ему необходимо знать правильную модель данных. Для этого сервис-провайдер декларирует формат данных, которые он ожидает получить от потребителя (например, в случае веб-сервиса это может быть XML-схема[2]). Зная схему данных, потребитель может правильно представить данные.
Тем не менее, в некоторых случаях потребитель может уже располагать необходимыми данными, но в другому формате, нежели требует провайдер, из-за чего данные перед отправкой приходится приводить к формату провайдера. При этом вполне возможно, что после получения обработанного документа от провайдера потребитель будет конвертировать его обратно в ту модель, которую он имел изначально.
Двойная конвертация повышает издержки и усложняет проектирование композиции сервисов[3]. Чтобы уменьшить необходимость в трансформациях, паттерн canonical schema предлагает использовать общую унифицированную модель данных для документов, которыми приходится часто обмениваться [4][5].
Применение
Этот раздел статьи ещё не написан. |
Ссылки
- ↑ Mauro. et al. Service Oriented Device Integration - An Analysis of SOA Design Patterns. Архивная копия от 9 октября 2012 на Wayback Machine [Online], pp.1-10, 2010 43rd Hawaii International Conference on System Sciences, 2010. Date accessed: 30 April 2010.
- ↑ Service can be implemented using any technology as long as it conforms to the service-orientation guidelines.
- ↑ Service Compositions (недоступная ссылка). Дата обращения: 9 января 2019. Архивировано 11 марта 2010 года.
- ↑ service inventory (недоступная ссылка). Дата обращения: 9 января 2019. Архивировано 13 марта 2010 года.
- ↑ Thomas Erl, Herbjörn Wilhelmsen.Canonical Schema Design Pattern Архивная копия от 9 января 2019 на Wayback Machine[Online]. Date accessed: April 8, 2010.
См. также
- Thomas Erl et al., (2009).SOA Design Patterns Архивная копия от 13 апреля 2014 на Wayback Machine. Prentice Hall. ISBN 0-13-613516-1.
- Thomas Erl (2008).SOA Principles of Service Design. Prentice Hall. ISBN 0-13-234482-3.
- SOA Terms Glossary Архивная копия от 24 июня 2013 на Wayback Machine
- SOA Design Patterns Архивная копия от 1 декабря 2018 на Wayback Machine
На эту статью не ссылаются другие статьи Руниверсалис. |