
Soa за версією “Блакитного гіганта”
Ринок засобів реалізації SOA ще тільки формується, а тому жоден із сучасних постачальників програмного забезпечення поки не може запропонувати рішень з повним спектром необхідної функціональності [2]. Аналітики ZapThink виділяють кілька компаній, які вже мають солідний продуктовий багаж в тих областях, на базі яких розвивається перехід до SOA, і вже виконали чималу роботу з підтримки у своїх системах стандартів Web-сервісів і принципів SOA в цілому. Серед них компанії НР, IBM, Microsoft і Computer Associates, а також ряд гравців з більш сфокусованої спрямованістю, включаючи BEA Systems, Ascential Software, Sybase, Progress Software, webMethods, Software AG.
Особливу роль аналітики відводять IBM і Microsoft. Ці компанії своєю активною участю в процесах стандартизації Web-сервісів вже зробили дуже багато для становлення цього ринку, і зараз здатні задати індустрії потрібний вектор розвитку завдяки цілісним продуктовим стратегіям, які вони пропонують для підтримки SOA.
IBM пропонує чотирьохрівневий підхід до адаптації принципів SOA [3]. Кожен з рівнів може включати кілька етапів життєвого циклу сервісу, яких також чотири: створення (build), розгортання (deploy), використання (use), управління і захист (manage and secure).
Чотири етапи життєвого циклу сервісу
Створення сервісів увазі як побудова бізнес-моделі майбутнього програми в SOA, так і безпосередню розробку сервісів як багаторазово використовуваних компонентів із загальними, публікуються інтерфейсами. Для цього розробники повинні мати інструментарій, що забезпечує підтримку принципів SOA і необхідних стандартів для проектування моделі програми, розробки сервісу в цілому і входять до нього об’єктів, а також тестування програми в сервісно-орієнтованої середовищі. Для SOA необхідна модель компонентної розробки, яка дозволить створювати не тільки нові сервіси, але і включати в єдине сервісно-орієнтоване середовище вже існуючі на підприємстві програми і програмні моделі. Засоби розробки, пропоновані IBM, забезпечують інтеграцію в SOA програмних компонентів, реалізованих в архітектурі CORBA або в середовищі з проміжним шаром на базі WebSphere MQ, успадкованих додатків, керованих за допомогою монітора транзакцій CICS, і т.д.
Перспективною для SOA може бути нова архітектура розробки на базі моделей (Model-Driven Architecture, MDA), запропонована консорціумом OMG. У цій архітектурі, яка підтримується у ряді продуктів сімейства IBM / Rational, розробка програм починається зі створення незалежної від специфіки реалізації моделі програми, на базі якої потім автоматично генерується модель для конкретної платформи і коди програми. Високий рівень абстракції при проектуванні програм в MDA добре узгоджується з підходами SOA, що представляє програми як сервіси, взаємодіють для реалізації певного бізнес-процесу.
На етапі розгортання нові сервіси та існуючі ресурси, перетворені в сервіси, повинні бути поміщені в кероване середовище виконання. Стадія використання передбачає складання програми із сервісів відповідно до створеними на першому етапі моделями бізнесу і відповідної програмної системи, а також тестування за параметрами якості програмного забезпечення, продуктивність, масштабованість і т.д. І, нарешті, коли програма поміщено в працюючу сервісно-орієнтоване середовище і стає доступно користувачам, необхідний етап постійний моніторинг використання та безпечного доступу до критичних ресурсів, а також контроль відповідності параметрам, заданим в політиках для цього додатка або в угодах про рівень обслуговування.
Перехід до SOA – складний процес, який пов’язаний не тільки з серйозними трансформаціями ІТ-інфраструктури, але і зі змінами у взаємозв’язках між бізнес-процесами та ІТ. IBM пропонує виконувати такий перехід поетапно, беручи за відправну точку той рівень адаптації принципів SOA, який найбільш відповідає стану справ на підприємстві. Для кожного рівня пропонується не тільки відповідний набір інфраструктурних програмних рішень, а й комплекс консалтингових послуг, включаючи навчання.
Реалізація окремих Web-сервісів. Це початковий рівень розгортання SOA, на якому технології Web-сервісів використовуються для розробки нових програм або перетворення існуючих, наприклад, для інтеграції з допомогою WSDL-інтерфейсів систем, написаних на С + +, Cobol і Java. Тут компанії повинні реалізувати етапи створення та розгортання сервісів. Для створення пропонується інструментарій WebSphere Studio Application Developer, а також набір засобів Emerging Technology Toolkit, який дозволяє розробникам випробувати нові рішення в області Web-служб. Розгортання Web-сервісів підтримується сервером додатків WebSphere Application Server.
Разом з тим, SOA розглядається не тільки як архітектура для розгортання і виконання розподілених прикладних рішень, але і як модель програмування, в якій програми будуються виходячи з того, що вони повинні надавати в мережевому середовищі сервіси іншим додаткам за допомогою опису та публікації відповідних інтерфейсів. Таким чином, одним з основних вимог до реалізації SOA є включення до неї середовища розробки, яка буде базуватися на стандартній компонентної платформі, забезпечувати багаторазове використання створюваних програмних модулів і підтримувати інтеграцію успадкованих систем.