Описание:
Целта на този материал е да разгледаме ориентираната към услуги архитектура (Service-Oriented Architecture - SOA) и основните й концепции, които представляват интерес за широк кръг специалисти: ръководители на технологични звена, разработчици на приложения, системни администратори, архитекти, бизнес-аналитици и ръководители на бизнес звена.
Ориентираната към услуги архитектура (на английски: Service-oriented architecture – SOA) е начин за асемблиране на софтуерни приложения, инженеринг и бизнес процеси чрез свързване на софтуерни услуги. Програмистите разработват тези услуги използвайки традиционни езици като Java, C, C++, C#, Visual Basic, COBOL или PHP. Ориентираната към услуги архитектура представлява начин на дизайн на софтуер, при който услуги се предоставят на други компоненти, чрез портове за комуникация в мрежата. Основните принципи на Ориентираната към услуги архитектура са независими от конкретен доставчик, продукт или технология.[1] Услугата е малка част преодставяща функционалност, която може да се достъпи от разстояние, да се използва и да се обновява независимо от останалите.
Една услуга има четири свойства според една от многото дефиниции на SOA:[2]
Услугата представлява бизнес активност със специален изход/резултат.
Услугата е самостоятелна, самосъдържаща се.
Услугата е черна кутия за ползвателите.
Услугата може да се състои от други скрити отдолу услуги.[3]
Различни услуги могат да се използват заедно, за да се предостави функционалност на голямо софтуерно приложение.[4] Дефиницията на Ориентираната към услуги архитектура е модуларна програма още от 70-те години на миналия век. Ориентираната към услуги архитектура е свързана не толкова с правенето на модуларно приложение, колкото с как да съставим приложение чрез интеграция на отдалечени, отделно поддържащи се и отделно инсталирани компоненти. Това се предлага от технологии и стандарти, които правят комуникацията между отделните компоненти в мрежата лесна, особено в IP адресирана мрежа.