Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Контракт




Интерфейс

Структура Сервиса

Public Enterprise Services

Такие сервисы предоставляют услуги уже не с точки зрения конкретного приложения, но с точки зрения предприятия (или организации) как такового. Т.е. если организация занимается продажей авиабилетов например через WebService, то пользователи, или клиенты организации, по большому счету индифферентны, по отношения к тому какая система отвечает за предоставление этой услуги. Всё что им интересно – это интерфейс сервиса и его контракт.

 

 

Являясь основополагающей абстракцией в SOA, сервис полезно рассматривать как нечто обладающее структурой. Последняя полезна как при академическом рассмотрении сервиса, так и при практическом проектировании, документировании и реализации сервисов.

В рамках курса будем считать, что сервис обладает следующими структурными элементами:

  • Интерфейс
  • Контракт
  • Реализация

 

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

 

Существует ряд общепринятых способов задания интерфейса при проектировании сервис-ориентированных систем. Одним из них является протокол WSDL для WebService’ов.

 

Очевидно, что при развитии сервиса, его интерфейс может со временем меняться, и как следствие, может быть не совместим с теми вызовами, которые использовались до внесения изменений. Поэтому, одном из важных аспектов при проектировании сервис ориентированных архитектур является поддержка версионности интерфейсов.

 

При этом разные версии одного и того же интерфейса могут быть несовместимыми друг с другом, однако важно то, что бы можно было удобно и однозначно определить версии сервисов и совместимость одних версий с другими.

Под контрактом часто понимают то описание сервиса, которое не может быть охвачено понятием интерфейс. В то время как интерфейс описывает синтаксис и семантику вызова сервиса (т.е. что делает и как этим воспользоваться, иными словами функциональные требования), контракт описывает нефункциональные требования. Т.е., например, требования к производительности сервиса или его доступности. Примером может служить служба (сервис) бронирования билетов, которая доступна по рабочим дням в рабочее время с 10 до 19 часов. При этом дополнительно в контракте задаётся то, что время обработки заказа не превышает 15 минут, после чего сервис должен либо сообщить о недоступности билета, либо выполнить бронирование.

 

Совершенно понятно, что такая информация не может содержаться в интерфейсе по ряду причин, некоторыми из них являются:

  • Практически неограниченный список контрактных ограничений на доступность и качество выполнения услуги. Т.называемый SLA – Service Level Agreement. Вообще SLA является важной и часто неотъемлемой частью контракта сервиса так как именно SLA определяет надлежащее качество обслуживания, и как следствие не только является решающим при выборе провайдера сервиса, но и служит своего рода защитным механизмом как потребителя от ненадлежащего обслуживания, так и провайдера сервиса от необоснованных претензий со стороны потребителя.
  • Слабая возможность унификации и стандартизации описания контрактных ограничений, хотя определённые параметры можно вполне успешно задавать в строго формальной форме. Например, доступность.
  • Тарификация. По понятным причинам многие услуги являются платными, и как следствие контракт должен включать такую информацию.

 




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 273; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.