Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Характеристики SOA




Наведемо формальне визначення сервісно-орієнтованої архітектури, яке сформульовано фахівцями корпорації IBM [1]: “SOA – це прикладна архітектура, в якій усі функції визначені як незалежні сервіси з викликуваними інтерфейсами. Звернення до цих сервісів в певній послідовності дозволяє реалізувати той чи інший бізнес-процес “. З точки зору розробників, ту ж думку можна передати дещо іншими словами: SOA – це компонентна модель, в якій різні функціональні одиниці додатків, звані сервісами, взаємодіють по мережі за допомогою інтерфейсів. Розшифруємо дані визначення.

1. Всі функції додатків визначені як сервіси.

2. Сервіс може виступати як цілий додаток, так і окремі його функціональні модулі.

3. Сервісами можуть бути прикладні функції, що реалізують певну бізнес-логіку, бізнес-транзакції, що складаються з декількох функцій більш низького рівня, і системні функції, що відбивають специфіку різних операційних платформ.

4. Всі сервіси незалежні один від одного. Вони виконують певні дії за запитами, отриманими від інших сервісів, і повертають результати. Всі деталі цього повністю сховані: в концепції SOA сервіси – це “чорні ящики”.

5. В інтерфейсі сервісу визначені параметри і описаний результат. Іншими словами, інтерфейс визначає суть сервісу, а не технологію його реалізації. На архітектурному рівні для звернення до сервісу не має значення, чи він локальним (реалізований у даній системі) або віддаленим (зовнішній по відношенню до неї), який протокол використовується для передачі виклику, які компоненти інфраструктури при цьому задіяні. SOA припускає наявність єдиної схеми поводження до сервісу незалежно від того, чи перебуває вони в тому ж самому додатку, в іншому адресному просторі багатопроцесорної системи, на іншій апаратній платформі в корпоративній intranet-мережі або в додатку до системі партнера.

6. Інтерфейси – ключові елементи SOA. Вони повинні бути нейтральними до специфіки реалізації сервісу, які визначаються апаратної платформою, операційною системою, мовою програмування. Подібний нейтралітет забезпечує універсальність взаємодії сервісів в різнорідної середовищі, а сервіси, інтегровані за допомогою таких інтерфейсів, є слабко зв’язаними (loose coupling). Слабка зв’язаність забезпечує просту і швидку адаптацію системи в цілому до змін у структурі та принципах реалізації сервісів.

7. Для SOA характерна гнучкість, здатність реагувати на зміни в бізнес-процесах динамічно і без складних трансформацій на інтеграційному рівні.

8. Сервіси в SOA можуть являти собою прості або складні об’єкти, процеси, що охоплюють певну множину об’єктів, процеси, які в свою чергу складаються з декількох процесів, або навіть якийсь комплекс програм, які в сукупності призводять до отримання єдиного результату. Важливо, що з точки зору архітектури сервіс (незалежно від внутрішньої структури і мови реалізації) виглядає як єдине ціле. Можливо, що з міркувань продуктивності краще виявиться реалізація сервісів, більш складних по організації, ніж прості об’єкти.

Багато авторів підкреслюють, що ідея SOA не нова і, по суті, не пов’язана з конкретними технологіями реалізації, що її зачатки вгадуються вже в CORBA і в програмному забезпеченні проміжного шару на базі обміну повідомленнями (message oriented middleware), що її не можна ототожнювати з Web-сервісами, які представляють собою сукупність технологій і стандартів. Все це вірно, однак саме поява Web-сервісів зробило SOA реальністю. Мова опису інтерфейсів у CORBA не забезпечує тієї незалежності від платформ, яка потрібна для побудови SOA, а тому дана модель дозволяє реалізувати тільки сильно пов’язану інтеграцію компонентів. З появою XML був відкритий шлях до створення нейтральних до платформи реалізації інтерфейсів. Заснований на XML мова опису Web-сервісів WSDL і використання XML для обміну повідомленнями між сервісами забезпечують той універсальний механізм взаємодії різнорідних компонентів, без якого неможливо реалізувати SOA.

Однак вірно і те, що Web-сервіси – це сукупність технологій для опису сервісів, взаємодії між розподіленими сервісами та створення каталогів сервісів, які дозволяють будувати приватні рішення по інтеграції додатків. Ці технології, еволюціонуючи, можуть у перспективі виявитися витісненими іншими, більш прогресивними рішеннями, що не змінить загальної сутності SOA, хоча, можливо, внесе корективи у підходи до її реалізації. SOA – концепція, яка не дає точного опису, як саме повинні взаємодіяти сервіси, але говорить про те, як домогтися того, щоб вони розуміли один одного і могли бути інтегровані. Різниця між SOA і Web-сервісами – це відмінність між стратегічним підходом до процесів інтеграції додатків і конкретної тактикою цієї інтеграції (з тією лише застереженням, що на даний момент саме ця тактика, по всій видимості, є оптимальною).

Разом з тим, SOA розглядається не тільки як архітектура для розгортання і виконання розподілених прикладних рішень, але і як модель програмування, в якій програми будуються виходячи з того, що вони повинні надавати в мережевому середовищі сервіси іншим додаткам за допомогою опису та публікації відповідних інтерфейсів. Таким чином, одним з основних вимог до реалізації SOA є включення до неї середовища розробки, яка буде базуватися на стандартній компонентної платформі, забезпечувати багаторазове використання створюваних програмних модулів і підтримувати інтеграцію успадкованих систем.




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


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


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



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




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