Soa архітектурні особливості та практичні аспекти

Soa архітектурні особливості та практичні аспекти


За допомогою SOA реалізуються три аспекти ІТ-сервісів, кожен з яких сприяє отриманню максимальної віддачі від ІТ в бізнесі:

  • Сервіси бізнес-функцій. Суть цих сервісів полягає в автоматизації компонентів конкретних бізнес-функцій, необхідних споживачеві.
  • Сервіси інфраструктури. Дані сервіси виконують провідну функцію, за допомогою платформи, через яку поставляються сервіси бізнес-функцій.
  • Сервіси життєвого циклу. Ці сервіси є свого роду «обгорткою», яка в більшості випадків поставляє ІТ-користувачам «настояшие сервіси». Сервіси життєвого циклу відповідають за дизайн, впровадження, управління, зміна сервісів інфраструктури та бізнес-функцій.

Світовий ринок SOA

Середня вартість СОА-проекту оцінюється AMR Research приблизно в 500 тис. Дол. При цьому великі платформи, які є повнофункціональним інструментом для ведення бізнесу, представляють на ринку всього кілька фірм - IBM. Oracle. Tibco. Sun Microsystems. Software AG. Microsoft. SAP AG. Читати статтю "SOA (світовий ринок)"

Російський ринок SOA

розвиток SOA

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

Свого роду попередницею SOA стала технологія Enterprise Service Bus. надавала уніфікований механізм взаємодії додатків. Доповнена рядом інших технологій, ESB дозволила сформувати єдину інтеграційну платформу. Мабуть, якісний перехід до SOA почався в той момент, коли з'явилася можливість створювати поверх цього інтеграційного шару нові прикладні рішення з використанням вже існуючого функціоналу.

Ще недавно ми користувалися традиційними веб-ресурсами, не припускаючи, що в цьому плані можна що-небудь кардинально поміняти. Виявилося - можна, і з'явився веб-два-нуль. Тренд виявився настільки вдалим і привабливим, що моментально був узятий на озброєння маркетологами. Ярлик 2.0 з'явився на багатьох програмних рішеннях і в більшості випадків його використання дуже суперечливе. Такий загальної тенденції не вдалося уникнути і сервісно-орієнтованої архітектури. Читати статтю "SOA 2.0"

Сервісно-орієнтоване і об'єктно-орієнтоване програмування

Soa архітектурні особливості та практичні аспекти

Зв'язок між сервісно-орієнтованими і об'єктно-орієнтованими структурами

Поява сервісно-орієнтованого підходу справило чергову реформу в теорії розробки програмного забезпечення, залишивши в минулому концепцію об'єктно-орієнтованого програмування.

Як відомо, повторне використання програмного коду спрощує розробку великих інформаційних систем. До недавнього часу з цією метою традиційно застосовувався об'єктно-орієнтований підхід, що припускає жорстке об'єднання компонентів і об'єктів додатки в одне ціле. У парадигмі ООП від розробника потрібне знання прикладного програмного інтерфейсу, в якому об'єднані атрибути і методи, спільно реалізують необхідний функціонал. Але оскільки об'єктні системи зазвичай створюються на основі якогось одного мови програмування (Delphi. C Яик програмування ++. C Яик програмування #. Java і ін.) І фіксованих механізмів обміну інформацією між об'єктами і модулями інформаційної системи, то і в ООП зберігаються всі залежності та обмеження. Такий підхід зручний не завжди - зокрема, він не дозволяє оперативно реагувати на зміну ситуації і, наприклад, проектувати новомодні системи, що спираються на концепцію «ресурси на вимогу». Крім того, для модифікації об'єктних систем нерідко доводиться переписувати коди пов'язаних об'єктів і методів.

Cвесті ці обмеження до мінімуму дозволяє технологія SOA, яка багатьма вже визнана як революція в технології програмування.

Аналітики про сервісно-орієнтованої архітектури

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

Архітектурні особливості SOA

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

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

Архітектура веб-сервісів також є сервісно-орієнтованої. Більш того, веб-сервіси - це суть SOA c двома додатковими обмеженнями: інтерфейси базуються на інтернет-протоколах (HTTP. FTP. SMTP. TCP), а всі повідомлення описуються в форматі XML. Детальні описи стандарту веб-сервісів і специфікацій SOA наводяться на сайтах консорціуму W3C і організації OASIS.

Практичні аспекти застосування SOA

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

Грамотне і повноцінне керування неможливо без цілісного розуміння тих компонентів, або стовпів, які підтримують зрілий SOA-проект. Звичайно, SOA-проект можна будувати тільки на основних механізмах (механізмі) підтримки, проте зрілий проект має на увазі більший рівень підтримки з ростом рівня відповідальності, яка лягає на SOA-проект. Кожна предметна область вимагає різного підходу до управління SOA, що, відповідно, різним чином відбивається на «політиці».

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

Ось шість механізмів, за допомогою яких підтримується SOA-політика:

  • Операційна модель життєвого циклу SOA
  • організація SOA
  • SOA-процес
  • Портфель активів для сервісної інтеграції в SOA
  • інструментарій SOA
  • SOA-технології

Ці механізми використовуються обома підходами до розробки та управління SOA. Перший підхід - це управління SOA за типом «зверху вниз». Він має на увазі, що управління за своєю суттю є стратегічним і починається з моделі і певних проектів. Просуваючись вниз, «стратегічне управління» визначає людей, процеси, сервіси, інструменти і технології, які будуть залучатися для підтримки корпоративного SOA-проекту. Другий підхід - «знизу вгору» - відповідно на увазі «тактичне управління», яке, навпаки, будує SOA-проект на основі створюваних технологій, інструментів і сервісів. Більшість підприємств йде по шляху «від низу до верху», починаючи з конкретних сервіс-орієнтованих кроків, спрямованих на певні предметні області. Дуже рідко зустрічаються організації, в яких створення стратегії первинно по відношенню до створення необхідних відділів і бізнес-підрозділів, первинних SOA-технологій і інструментарію. Такий підхід в цілому тільки ускладнює процес налагодження управління SOA.