Сервизно-ориентирани архитектури и Архитектурен подход

Сервизно-ориентирана архитектура СОА[1]

Сервизно-ориентираната архитектура (Service Oriented Architecture – SOA) е вероятно най-дискутираното приложение на едно от основните направления за развитие на технологиите на информационното общество. Как и кога се е появило това понятие е въпрос на лично мнение на различните изследователи. Някои казват, че то първоначално е било инициирано от анализатори на групата GARTNER. Други твърдят, че корпорацията SUN MICROSYSTEMS е развила тази концепция, за да подпомогне своя проект JINI. Съществува и твърдение, че сервизно-ориентираните архитектури представляват вторичен продукт (издънка) на компонентно базирания анализ. Може би са прави и тези, които намират появата на тази концепция, като определен вид еволюция на естественото развитие на структурното програмиране и обектно-ориентирания анализ. Като потвърждение на различните твърдения, в крайна сметка се налага мнението, че СОА се разбира в доста широк диапазон от различните изследователи.

Независимо от различните мнения относно същността на СОА, задължително трябва да се подчертае, че така както показва и нейното название става дума за една архитектура. Тя не е самостоятелно множество от процеси, процедури или добри практики. Това уточнение е необходимо, за да се разбере добре същността на СОА, особено ако желаем, без да правим нищо повече, ефективно и ефикасно да оперираме с различни приложения в рамките на една архитектурна мрежа.

СОА предлага структура, в рамките на която различните компоненти на приложенията (т.е. услугите) много близко наподобяват бизнес-процеси.

Най-често срещаните причини за да се прилага концепцията на СОА при управлението на информационните технологии могат да се резюмират до следните:

  • Развитие на архитектура, която може устойчиво да подпомага изискванията на бизнеса;
  • Използване на технологично-неутрални компоненти и услуги;
  • Ускоряване на времето за поява на пазара на нови  приложения и функционални разширения;
  • Редуциране на времето за развитие;
  • Рязко увеличаване на прозрачността при взаимодействията между вътрешните и външни компоненти и услуги;
  • Опростяване на интероперативността;
  • По ефективно използване на предимствата на ИТ-инфраструктурата.

Ако приемем, че всяка една архитектура се състои от компоненти, услуги и процеси, е възможно чрез три последователни стъпки да се направи опит за визуализация на сервизно-ориентираните архитектури:

  • Първа стъпка – ниво КОМПОНЕНТ: индивидуален, изпълним модул, който представя единично измерима задача;
  • Втора стъпка – ниво СЕРВИЗ/УСЛУГИ: множество (колекция от компоненти), което е уникално, прозрачно за потребителя бизнес приложение;
  • Трета стъпка – ниво ПРОЦЕС: множество от компоненти и услуги, подредени в естествена причинно-следствена поредица на отделен реален бизнес-процес.

Базовата структура на всяка една сервизно – ориентирана архитектура, се състои от следните елементи:

  • Потребители (консуматори) на услуги (Service Consumers) – това са хората, които използват услугите предоставени им от информационните технологии, за да представят реалните бизнес функции.
  • Приложна архитектура (Application Architecture) – с нейна помощ се дефинират последователности от услуги и/или компоненти. Този елемент е отговорен за разбиране на промените в бизнес-процесите, като на негова основа се използват подходящи знания за модифициране или разширяване на съществуващите и използвани IT-процеси;
  • Сервизна архитектура (Service Architecture) – адресира се структурата на услугите и тяхната подредба;
  • Междинен софтуер (Middleware) – специфична технология и протоколи, които разрешават безпрепятствено движение на данни и информация, обикновено във вид на съобщения в цялостната IT-инфраструктура;
  • Помощен софтуер за управление на работния поток (Workflow Utilities) – улеснява устойчивото изпълнение на бизнес процесите. По време на реализацията (стъпка по стъпка) на всеки един работен поток, дискретни, подредени и комплектувани последователности от работни процеси, се идентифицират с отделни хора, или бизнес екипи, отговорни за тяхното изпълнение. Когато отделни последователности от стъпки излизат извън определените им времеви интервали, полезния работен поток ескалира в специфични процедури с цел управление на закъсненията;
  • Конвертори (Convertors) – понякога те се наричат медиатори. Тяхното предназначение е да нормализират (да направят разбираеми) данните между различните инфраструктури.
  • Архитектура на компонентите (Component Architecture) – дефинира прецизната настройка както на самите компоненти, така и настройката между тях и инфраструктурата, в която те оперират.

Основна задача при подобряване на качеството на обслужване и на предоставянето на информационни услуги е съвместното използване на информацията от различните информационни системи. Основна задача на това съвместно използване е интеграцията на вече съществуващите приложения. Тази интеграция винаги е била дълъг и труден процес. И именно по тази причина все повече внимание се отделя на концептуалния модел за СОА. Този модел позволява да се осъществи интеграция на ниво процеси чрез автоматично взаимодействие на различните компоненти на разнородни системи, вместо само обмен на данни.

Модерните бизнес системи са изградени изцяло върху концепцията на уеб услугите. Дори стандартният потребителски интерфейс, с който работят потребителите, е отделна специфична уеб услуга. Погледнато от друг ъгъл, начинът на проектиране на софтуерни системи базиран на предоставянето на уеб услуги ще наричаме Сервизно Ориентирана Архитектура (СОА). СОА дава възможност за огромно количество уеб услуги – стотици, предоставяни от едно бизнес приложение. Действието на услугите може да бъде от елементарно печатане на фактура, проверка на валидността на пощенски адрес или форматиране на документ, до сложни информационни транзакции. Възможностите, които предоставят решенията основани на СОА се разглеждат като възможни решения на проблема за интеграция на различните приложения и системи.

В контекста на съвременните теоретични постановки за информационното общество като сервизно ориентирано общество с основание може да се твърди, че съвременните библиотеки са типични представители на сервизно-ориентираните архитектури. Тяхното изследване и изучаване създава благоприятна среда, както за нови теоретични обобщения, така и за получаване на реални резултати, представляващи по съществото на своята реализация добри практики.

Преминаването към сервизно-ориентирана архитектура на библиотечните системи осигурява по-добър достъп до информационните ресурси и улеснено общуване на потребителя със системата. Така например, използването на СОА при изграждане на консорциуми, дава възможност на библиотеките за съвместна работа, за да се изградят първо системи за споделяне на общи библиографски ресурси и данни и след това клиентски интерфейс и система за търсене, които изглеждат и работят по съвсем различен от досегашния начин. СОА може да позволи на библиотеките използване и подобряване на информационните ресурси, внесени от другите и персонализиране на доставката до клиента. Приемането на СОА модели в библиотеките дава възможност те да се развиват като силни организации във всеки един момент във времето, така че е да се превърнат в съставна част от съвременната информационна среда, първостепенен доставчик на информация за потребителите. Всички библиотечни специалисти, особено библиотечните мениджъри, трябва да разбират и познават възможностите, които предоставя СОА.

В частност, с помощта на СOA могат да бъдат постигнати няколко предимства:

  • Повишаване на ефективността на вече направените инвестиции посредством преобразуване на съществуващите активи в услуги с бизнес функции.
  • По-лесно интегриране и управление. Точката на интегриране в една архитектура, ориентирана към услугите представлява формулировката на услугата, а не изпълнението. Така се осигурява прозрачност в процеса на изпълнението и се свежда до минимум въздействието върху системата при настъпване на промени в инфраструктурата.
  • По-добра възможност за реакция и по-кратко време за реализация на нови услуги.
  • Намаляване на разходите и подобряване на възможностите за повторна употреба.
  • С повишаване на ефективността на съществуващите компоненти и услуги се намалява времето за преминаване през целия жизнен цикъл на софтуерната разработка, който включва формулиране на изисквания, проектиране, разработка и тестване.

Другият модел, който се използва при изграждане на цялостна архитектура е така наречената Архитектура, управлявана от събития (Event Driven Architecture, EDA) Тя е свързана със следене на процеса на доставка на информацията. Тази архитектура, предполага наличие на унифицирани входни точки в приложенията, реализирани в т.нар. ”цикли на съобщенията” (message loops), които не представляват нещо по-различно от постъпващите съобщения от т.нар. „процесори“. Поели управлението, те могат да инициират потоци от други съобщения, които да бъдат насочени към съответните приложения или подсистеми.

СОА и АУС са съвместими архитектури, но с различни концепции, всяка от тях със своите предимства и недостатъци. Един от основните въпроси е намирането на ефективни способи за проектиране, разработка и внедряване на системи основани на уеб услуги. Важно условие за всяка организация и в частност за библиотеките е въвеждането на уеб услуги и сервизно ориентирана архитектура основани на модел, който да осигурява интеграция базирана на стандарти с използване на събитийно ориентирана архитектура. Това означава публикуването на уеб услугите на различни приложения да позволява на другите приложения да ги използват за свои цели. По този начин се създава впечатлението, че всички бизнес приложения са свързани в една обща информационна магистрала, по която те могат да взаимодействат едно с друго по предварително зададени алгоритми (чрез схемите на работните процеси) без намесата на оператор като си обменят информация, съобщения и команди.

Този модел на интеграция се нарича Корпоративна сервизна шина (Enterprise Service Bus, ESB). Физическият носител на ESB е системата, в която уеб услугите се регистрират и от която потребителите на услугите получават информация къде какви услуги има, какъв е форматът на входните данни и на резултатите и т.н. Самата концепция на SOA премахва границите между отделните приложения. Дизайнерът на бизнес процесите разполага с пълен списък на услугите и тяхната функционалност, без да се интересува кое точно приложение предлага всяка конкретна услуга. В такъв модел, средата за взаимодействие между библиотеките се изгражда на база на мрежа корпоративни информационни системи, която представлява всички електронни ресурси, мрежи, приложения и данни, които принадлежат на отделна библиотека. Управлението на взаимодействието се осъществява от ESB, която осигурява:

  • Обща стандартна инфраструктура за взаимодействие на приложенията и управление на процесите между различните участници.
  • Направлява запитванията към съответния доставчик на услуги.
  • Конвертира транспортните протоколи между потребители и получатели
  • Осигурява безопасна комуникация.

Накратко представения модел е една от възможностите, за реализация на интегрирана среда за предоставяне на услуги в случаи, когато съществуват множество обособени информационни системи, което е характерно за библиотеките в настоящия момент. В този случаи се налага интеграция, която да даде възможност за съвместно използване на данни и информация и съответно по оперативна работа. Моделът на интеграция използва единен стандартен интерфейс и единна точка за обединяване на системите чрез сервизната шина. Този подход позволява не само да се управлява съществуващите връзки между системите, но и бързо и ефективно да се организират нови връзки.

Основните компоненти на архитектурата на сътрудничеството се основава на проекти, при които предоставянето и обмена на информация са от първостепенно значение. Обикновено архитектурата на сътрудничество включва следните основни компоненти:

  • XML като универсален формат за информация/документи, както и обмен.
  • Среда гарантираща доставка и маршрутизация на информация и XML-документи, въз основа на стандартни Интернет протоколи.
  • Реализация на информационни системи под формата на уеб услуги, които представляват наличните софтуерни приложения на базата на отворени стандартни Интернет протоколи и дават възможност за осъществяване на някои бизнес функции.

На ниво една организация проблемът с интеграцията възниква веднага след въвеждане на редица корпоративни приложения. На ниво страна, регион или град, за да се предоставят услуги и да протичат различни бизнес процеси се изисква интегриране на системите и данните.

Може да се направи следната класификация на технологиите за интеграция:

  • Системи за интеграция на корпоративни приложения (Enterprise Applications Integration, EAI) – технологии, които са насочени към решаване на проблемите на интеграцията на различни системи, приложения и данни в рамките на една организация – A2A (Application-to-Application – приложение-приложение).
  • Системи интеграция между организациите (междуведомствена интеграция) бизнес-към-бизнес (бизнес-към-бизнес интеграция, B2Bi) – технологии, които са насочени към осигуряване на безопасен, сигурен обмен на информация между организациите и техните информационни системи. Тези технологии осигуряват движението на информацията и дава възможност за автоматизиране на бизнес процесите в рамките на една «разширена организация», която включва доставчици, партньори, потребителски продукти и услуги и т.н.
  • Технологии за управление на бизнес процеси (Business Process Management, BPM), които са резултат от естественото развитие на класическите системи за управление на работните процеси и документооборота (Workflow Systems) и системи от клас EAI и B2Bi. Традиционните системи за управление на документи са фокусирани предимно върху предаването на информация между хората, за да извършват определени действия. За разлика от технологията B2Bi, която се фокусира върху интеграция на данни, в междуведомствена среда, BPM е технология за интегриране на данни, приложения и хора в общи бизнес процеси. Това е отражение на съвременното мнение, че в основата на интеграцията трябва да бъдат бизнес процесите.

В таблицата е показна разликата между тези класове системи.

Технология Кой взима решение за използването   Цел на въвеждането
Workflow Ръководител   на отделно звено или отдел Управление   и пренос на документи
EAI   и B2Bi Ръководител   на отдел информационни технологии Интеграция   на данните
BPM Висше   ръководство Подобряване   на изпълнението на бизнес процесите и на работата с цел по-голяма гъвкавост   на процесите

На етапа на изпълнение на електронните услуги, които изискват сделки и обмен на информация, свързани между няколко организации, съществува необходимост от осигуряване на интеграция на информационните системи на различните участници, една с друга. Архитектурата на организацията, трябва да доведе до осезаеми ползи в процеса на нейното създаване и използване на инвестираните средства и усилия на специалисти. Много от ползите, които носи използването на архитектурния подход, не са много различни в различните области. Обобщението на основните принципи, функции и приложения на информационното общество го характеризира като интегрирана система от функции и процеси, базиращи се на информационните и комуникационни технологии, имаща за цел осъществяване на качествено нов тип организация и функциониране на обществените отношения. Разработката на неговата интегрирана архитектура неминуемо се основава на концепция и цялостна стратегия за изграждане и развитие, основани на “архитектурния подход”.

Архитектурен подход

Термините “архитектурен подход” и “организационна архитектура” „сервизно ориентирана архитектура” се използват в международната практика, когато става дума за метод за цялостно описание на организациите или на отделни техни инициативи. Широките възможности, които предоставя този метод за успешната реализация на организациите в насока на покриване изискванията на променящата се околна среда, го правят особено важен за разработката на инициативите за развитието на информационното общество. Трансформацията в организационните структури и дейности е свързана със създаването и използването на единна архитектура на промяната. Методологията на създаването й, представлява сама по себе си цялостна система (подходи, методи и логически схеми за прилагането им), за създаване и приложение на единна архитектура. Системата трябва да позволява стандартизирано извършване на цялата съвкупност от дейности по формиране, използване и развитие на единна архитектура с предварително прогнозирани резултати.

Основни стъпки при планирането на архитектура на една отделно взета организация са представени на фигурата по-долу.

SOA15

Планиране на архитектурата

Съществуват различни подходи за описание на архитектурите на промяната, но един от най популярните през последните години се базира на разработената от Джон Захман концепция. Популярността на походът на Захман се основава на простотата в представянето на обобщена схема на архитектурата на организацията във вид на матрица. В редовете (хоризонталите) на матрицата се показват различните перспективи на архитектурата на организацията като групи модели от различен тип. По вертикалите са представени основните аспекти на дейността:

  • обекти – “какво” се избира и обработва;
  • дейности – “как” се извършва;
  • местоположение – “къде” се извършват;
  • хора/организационни структури – “кой” го извършва;
  • време – “кога” се извършва;
  • мотивация – “защо” се извършва;

Шестте реда на матрицата отразяват шестте типа на представяне на организацията като система, като това не е ниво на детайлизация или зрялост, а едновременно съществуващи слоеве на архитектурното моделиране, свързани с различни типове проектни задачи:

  • Бизнес-среда на организацията.
  • Концептуален модел.
  • Логически модел.
  • Технологически (физически) модел.
  • Детайлна реализация – краен продукт.
  • Функционираща организация и нейните системи.

Предложената рамка на Захман показва възможностите за реинженеринг на организацията в съответствие с изискванията на околната среда и дава възможност да се осигури жизнения цикъл на промяната.

Изискванията за ефективна работа, налага цялостно преструктуриране на организациите и протичащите процеси. Разработката на модел на преструктурирането чрез изготвяне на архитектурна рамка включваща процесите, дейностите, отговорностите, времето, мястото и начините за извършването им дава възможност да бъдат постигнати реални резултати и предварително прогнозиран, желан ефект.

Разликата в целите и структурата на комерсиалните организации и държавната администрация или библиотеките води до различни цели на реинженеринга на процесите. Държавата, например, притежава уникални характеристики и свойства, които отсъстват при отделните ведомства и административни структури като съставни елементи на системата „държава”. Това си проличава особено ясно, когато в рамките на националните и регионалните инициативи в областта на създаване например на е-Правителство, възниква задачата за изграждане на система от интегрирани административни услуги за гражданите и бизнеса, на принципа на „единна входна точка за достъп”. Независимо, че принципите и постановките, отнасящи се до бизнес архитектурата на ниво организация се отнасят в голяма степен и до държавната организация има множество особености, които налагат отделно разглеждане на приложението на архитектурния подход при изграждане на интегрирана ИКТ инфраструктура в държавната администрация. Ако се приеме терминът „организационна архитектура” (бизнес архитектура) по отношение на държавата (правителството) на национално, регионално и местно ниво, то терминът „организация” от практическа гледна точка означава съвкупност от министерства, администрации, агенции, т.е. всички които си взаимодействат помежду си и чийто бизнес процеси (административни процеси) имат общи характеристики. При това всички ведомства включени в такава структура си взаимодействат и с външни субекти като граждани, бизнес и други администрации. Тъй като тези взаимодействия все по-често се осъществяват в електронна форма, се налага да бъдат създадени единни стандарти за прилаганите информационни технологии, за да се постигне цялостност, надеждност и гъвкавост при изпълнение на функциите на държавната администрация.

Традиционната „организационна архитектура” е насочена към приложението на информационната инфраструктура с цел осигуряване на онлайн транзакции, реализирани по инициатива на потребителите и създаване на система за взимане на решения. При тази архитектура, когато става дума за държавната администрация се отделя основно внимание на осигуряването на различни канали за предоставяне на услуги на гражданите и бизнеса. Фокусът се измества от вътрешните потребности на администрациите към потребностите на крайните потребители на административни услуги.

Използването на единни стандарти и принципи при разработката на архитектура на административните органи, като интегрална част от информационното общество трябва да е насочено към:

  • Повишаване на качеството на работа на отделния административен орган, чрез осигуряване на единни стандарти в областта на ИКТ.
  • Резултатна и ефективна координация и интеграция на бизнес процесите и информационните системи, както и планирани инвестиции във всички органи на властта, управлението и публичната администрация.

Преходът към единна архитектура на административните или бизнес процеси, реализирани в административните органи, както и информационните системи на тези органи, осигурява тяхното функциониране на база единен модел и стандарти на информационните услуги. Реализацията на такава архитектура условно може да бъде разделена на два съставни процеса:

  • Разработка на методология за описание на архитектурата.
  • Разработка на методология за описание на архитектурата.

Трябва да се подчертае, че тези процеси протичат паралелно. Разработката на методика на описание на архитектурата се съпровожда от практически процеси, които от своя страна дават възможност за развитие и разширяване на методиката.

Експертите на Gartner предлагат ефективността на ИТ – инвестициите в публичния сектор да става на базата на 3 основни критерии: необходимост на осигуряваните услуги, оперативна ефективност (намаляване на разходите чрез пренасяне на транзакциите в реално време), политическа възвращаемост.

Най-честите причини, които водят до различия във въведените системи и съответно липсата на ефективност могат да бъдат обобщени в следните:

  • Липса на стратегия и визия за целите и етапите на промяната.
  • Въвежданите системи не приемат модулен подход както на изграждане така и на изготвяне на прототипи.
  • Невъведената технология не се интегрира със съществуващата система.
  • Липса на достатъчно средства.

Могат да бъдат определени различни критични фактори, оказващи влияние върху инвестициите и реализацията на информационни системи в публичния сектор. Основни критерии за успех могат да се обобщят в следните:

  • Ясна визия и стратегия за промените, които ще се извършват.
  • Предварителна оценка и подбор на технологичните решения, което да е съобразено с възможностите и крайната цел.
  • Поетапност на въвеждане и модулност на технологичните решения.
  • Възможност за интеграция със съществуващите приложения.

Архитектурният модел включва три елемента (достъп, технологични стандарти и средства осигуряващи взаимодействието) и представя възможностите различни организационни структури със собствени инициативи по използване на информационни технологии, да предоставят услуги на потребителите, вписвайки се в общ концептуален модел. Достъпът е първия основен елемент в модела. Като пример за реализация на такъв модел може да се представи реализацията на единна архитектура в държавната администрация. В този случай от всички възможности най-голямо значение се отделя на услугите предоставяни от порталите на дадените администрации като крайната цел е интеграция в общ портал. В частност, в тази си версия порталите трябва да използват единни национални стандарти за идентификация и сигурност и ограничения за достъпа до информация. Необходимо е да се предоставят и възможности за достъп за конкретни групи от граждани. Като част от архитектурния модел на управление порталите предоставят два типа услуги:

  • Услуги за достъп, т.е. услуги за клиента.
  • Инфраструктурен компонент, т.е. услуги за администрациите.

Порталите трябва да предоставят на отделните ведомства и региони, единен и стабилен набор от интерфейси за развитие на техните собствени системи. Вторият елемент са т.нар. компоненти на е-бизнеса. Компонентите на е-бизнеса в архитектурния модел са определените стандарти по отношение на следните елементи:

  • Осигуряване на сигурността на информацията.
  • Удостоверяване (за удостоверяване на клиента).
  • Използването технологията на смарт картите.
  • Централизирано развитие и използвани тези компоненти, предполага спестяване на огромни ресурси.

Трети основен елемент на модела са инструментите за взаимодействие. Важна роля в реализирането на архитектурен модел играе приемането на общи стандарти и инфраструктура, която трябва да даде възможност за взаимодействие и обмен на информация между правителствените организации, агенции, граждани и фирми. Основните компоненти, които позволяват това взаимодействие са:

Сигурна Интранет мрежа (GSI), която предоставя средства за обмен на информация между различните отдели в рамките на централното администрация, както и чрез външни портали – с други обществени услуги и Интернет като цяло. Включва се използването на IP мрежи и приложения в държавни агенции, както и използването на уеб браузър като основно средство за достъп на повечето служители в областта на обществените информационни системи, електронна поща и Интернет. Обезпечаването на сигурен и надежден интранет е в основата за обмен на електронна поща и електронни документи с други държавни органи, граждани и бизнес общността.

Правителствен шлюз (Government Gateway), на базата на междинен слой от софтуер, който позволява да се комбинират помежду си различните съществуващи информационни системи и осигурява достъп до тях през Интернет. В портала осигурява комуникация между отделните услуги, включително и изпращането на информация/документация. Порталния шлюз предлага удостоверителни услуги, които не само могат да идентифицират потребителя, но дават възможност точно да се определи правото му на достъп до разнообразна информация и информационните системи.

Политика на постепенно въвеждане. Същността на този подход е първо да изградят основните градивни елементи на инфраструктурата, след което да се стартира нова услуга.

Архитектура основана на такъв подход се състои от три нива:

  • Клиентска част
  • Софтуер на междинния слой.
  • Сървърна част

Порталът трябва да осигурява:

  • Централната точка за достъп за гражданите;
  • Достъп до интерактивно сътрудничество с държавата по различни канали;
  • Възможности за партньорство на публични и частни организации, в предоставянето на информация и услуги;
  • Сигурна среда, в която гражданите могат да осъществяват транзакции с държавата.

Представения пример подчертава основното предназначение на една сервизно-ориентирана архитектура – предоставянето на достъп до услуги и информация. Тя трябва да осигурява електронна входна точка към широкия спектър от онлайн ресурси. При разработката и реализацията и, осигуряването на достъп до информация, която е комплектувана, не е по организационен принцип (в съответствие със структурата на администрациите), а на принципа на осигуряване на удобство за потребителите.



[1] В превод на български се използва както понятието Сервизно-ориентирана архитектура, така също и Архитектура ориентирана към услугите.

[2] Източник: Steven Spewak. Enterprise Architecture Planning. Developing a Blueprint for Data, Applications and Technologies (CIO Council. Federal Enterprise Architecture Framework. Version 1.1, 1999 September)