SOA срещу уеб услуги
Уеб услугите се използват за изграждане на приложения, които могат да изпращат / получават съобщения чрез SOAP през HTTP. Уеб услугата е рекламиран пакет от функционалности, предлагани по мрежата. SOA е набор от архитектурни концепции, използвани за разработване и интегриране на услуги. Уеб услуги могат да се използват за внедряване на SOA. Но това е само един метод за реализиране на приложения, базирани на SOA.
Какво представляват уеб услугите?
Уеб услугата е метод за комуникация по мрежата. Според W3C, уеб услугата е система, предназначена за поддържане на транзакции от машина на машина през мрежа. Това е уеб API, описан в WSDL (Език за описание на уеб услугата), а уеб услугите обикновено са самостоятелни и самоописващи се. Уеб услугите могат да бъдат открити с помощта на UDDI (Universal Description, Discovery and Integration) протокол. Чрез обмен на съобщения SOAP (Simple Object Access Protocol) обикновено през HTTP (с XML), други системи могат да взаимодействат с уеб услуги.
Уеб услугите се използват по много начини, като RPC (отдалечени процедурни обаждания), SOA (ориентирана към услуга архитектура) и REST (представителна трансфера на държавата). Има две автоматизирани методологии за проектиране за разработване на уеб услуги. Подходът отдолу нагоре се занимава с първо създаване на класове и след това използване на инструменти за генериране на WSDL за съставяне на тези класове като уеб услуги. Подходът отгоре надолу се занимава с определяне на WSDL спецификациите и след това използване на инструменти за генериране на код за генериране на съответните класове. Уеб услугите имат две основни употреби. Те могат да бъдат използвани като компоненти за многократна употреба и / или за свързване на уеб приложения, работещи на различни платформи.
Какво е SOA?
SOA (Service-ориентирана архитектура) е набор от архитектурни концепции, използвани за разработване и интегриране на услуги. SOA се занимава с разпределени изчисления, при които потребителите консумират набор от оперативно съвместими услуги. Множество потребители могат да консумират една услуга и обратно. Следователно SOA често се използва за интегриране на множество приложения, които използват различни платформи. За да работи SOA правилно, услугите трябва да са в съчетание с операционните системи и технологиите на основните приложения. Разработчиците на SOA създават услуги, използвайки единици на функционалност, и ги правят достъпни по интернет. Уеб услугите могат да се използват за внедряване на SOA архитектура. В този случай уеб услугите се превръщат в единици на функционалност на SOA, достъпни по интернет. Уеб услугите могат да се използват от всеки, без да се притесняват от платформите или програмните езици, използвани за разработването им. SOA е изграден директно на принципа за ориентация към услугата, който говори за услуги с опростен интерфейс, до който потребителите могат да бъдат достъпни независимо, без да се притеснявате за реалното внедряване на услугата в платформата.
Каква е разликата между SOA и Web Services?
Има някои ключови разлики между уеб услугите и SOA. Уеб услугите дефинират уеб технология, която може да се използва за изграждане на приложения, които могат да изпращат / получават съобщения, използвайки SOPA през HTTP. SOA обаче е архитектурен модел за внедряване на слабо свързани приложения, базирани на услуги. Уеб услугите могат да се използват за прилагане на SOA приложения. Въпреки че подходът на уеб услуги към SOA стана много популярен, това е само единен метод за прилагане на SOA. SOA може да бъде приложен с помощта на всяка друга технология, базирана на услуги (например CORBA и REST).