Різниця між SOA та веб-сервісами

SOA проти веб-сервісів

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

Що таке веб-сервіси?

Веб-сервіс - це метод зв'язку по мережі. За даними W3C, веб-сервіс - це система, призначена для підтримки транзакцій машина-машина через мережу. Це веб-API, описаний у WSDL (Мова опису веб-служби), а веб-сервіси, як правило, є автономними та самоописуються. Веб-сервіси можна виявити за допомогою протоколу UDDI (Universal Description, Discovery and Integration). Обмінюючись повідомленнями SOAP (Simple Object Protocol Protocol), зазвичай через HTTP (з XML), інші системи можуть взаємодіяти з веб-службами.

Веб-сервіси використовуються різними способами, такими як RPC (віддалені виклики процедур), SOA (архітектура, орієнтована на обслуговування) та REST (передача представницької держави). Існують дві автоматизовані методології проектування для розробки веб-сервісів. Підхід знизу вгору стосується спочатку створення класів, а потім використання інструментів генерації WSDL для складання цих класів як веб-служб. Підхід зверху вниз стосується визначення специфікацій WSDL, а потім використання інструментів генерації коду для створення відповідних класів. Веб-сервіси мають два основних напрямки. Вони можуть використовуватися як багаторазові компоненти додатків та / або для підключення веб-додатків, що працюють на різних платформах.

Що таке SOA?

SOA (Service-орієнтована архітектура) - це сукупність архітектурних концепцій, що використовуються для розвитку та інтеграції послуг. SOA має справу з розподіленими обчисленнями, в яких споживачі споживають набір сумісних послуг. Кілька споживачів можуть споживати одну послугу і навпаки. Тому SOA часто використовується для інтеграції декількох додатків, які використовують різні платформи. Щоб SOA правильно працювала, сервіси повинні бути слабко поєднані з операційними системами та технологіями базових програм. Розробники SOA створюють сервіси, використовуючи одиниці функціональності, і роблять їх доступними через Інтернет. Веб-сервіси можна використовувати для реалізації архітектури SOA. У цьому випадку веб-сервіси стають одиницями функціональності SOA, доступними через Інтернет. Веб-сервісами може користуватися будь-хто, не переймаючись платформами або мовами програмування, які використовуються для їх розробки. SOA безпосередньо побудований на принципі орієнтації на сервіс, який говорить про сервіси з простим інтерфейсом, до якого користувачі можуть звертатися самостійно, не турбуючись про фактичну реалізацію послуги на платформі.

Яка різниця між SOA та веб-сервісами?

Існують деякі ключові відмінності між веб-сервісами та SOA. Веб-сервіси визначають веб-технологію, яка може використовуватися для створення додатків, які можуть надсилати / приймати повідомлення за допомогою SOPA через HTTP. Однак SOA є архітектурною моделлю для реалізації слабко пов'язаних додатків на основі послуг. Веб-сервіси можна використовувати для реалізації програм SOA. Незважаючи на те, що підхід веб-сервісу до SOA став дуже популярним, це лише єдиний метод впровадження SOA. SOA може бути реалізований за допомогою будь-якої іншої технології на основі послуг (наприклад, CORBA та REST).