Diferența dintre SOA și serviciile Web

Anonim

SOA vs Web Services

Serviciile Web sunt folosite pentru a construi aplicații care pot trimite / primi mesaje utilizând SOAP prin HTTP. Un serviciu web este un pachet publicitar de funcționalitate oferit pe web. SOA este un set de concepte arhitecturale utilizate pentru dezvoltarea și integrarea serviciilor. Serviciile Web pot fi folosite pentru a implementa SOA. Dar este doar o singură metodă de realizare a aplicațiilor bazate pe SOA.

Ce sunt serviciile Web?

Un serviciu Web este o metodă de comunicare prin rețea. Potrivit W3C, un serviciu Web este un sistem dedicat pentru susținerea tranzacțiilor mașină-mașină prin intermediul unei rețele. Acesta este un API Web descris în WSDL (Web Service Language Language), iar serviciile Web sunt în mod obișnuit autonome și auto-descrie. Serviciile Web pot fi descoperite folosind protocolul UDDI (Universal Description, Discovery and Integration). Prin schimbul mesajelor SOAP (Simple Object Access Protocol) de obicei prin HTTP (cu XML), alte sisteme pot interacționa cu serviciile Web.

Serviciile Web sunt utilizate în numeroase moduri, cum ar fi RPC (Remote Procedure Calls), SOA (Service Oriented Architecture) și REST (Reprezentational State Transfer). Există două metode automatizate de proiectare pentru dezvoltarea serviciilor Web. Abordarea de jos în sus se referă la crearea mai întâi a claselor și apoi la utilizarea instrumentelor de generare WSDL pentru a compune aceste clase ca servicii Web. Abordarea de sus în jos se referă la definirea specificațiilor WSDL și apoi la utilizarea instrumentelor de generare a codurilor pentru a genera clasele corespunzătoare. Serviciile Web au două utilizări majore. Acestea pot fi utilizate ca componente de aplicații reutilizabile și / sau pentru conectarea aplicațiilor web care rulează pe diferite platforme.

Ce este SOA?

SOA (arhitectura orientată pe servicii) este un set de concepte arhitecturale utilizate pentru dezvoltarea și integrarea serviciilor. SOA tratează computerele distribuite, în care consumatorii consumă un set de servicii interoperabile. Consumatorii multipli pot consuma un singur serviciu și viceversa. Prin urmare, SOA este adesea folosit pentru a integra mai multe aplicații care utilizează diferite platforme. Pentru ca SOA să funcționeze corect, serviciile ar trebui să fie cuplate în mod liber cu sistemele de operare și tehnologiile aplicațiilor care stau la baza acestora. SOA dezvoltatorii creează servicii utilizând unități de funcționalitate și le fac disponibile pe internet. Serviciile Web pot fi folosite pentru implementarea arhitecturii SOA. În acest caz, serviciile web devin unitățile de funcționalitate ale SOA accesibile prin internet. Serviciile Web pot fi folosite de oricine fără a fi preocupate de platformele sau limbile de programare folosite pentru dezvoltarea acestora. SOA este construit direct pe principiul orientării serviciilor, care vorbește despre servicii cu o interfață simplă care poate fi accesată independent de utilizatori, fără a vă îngrijora de implementarea reală a serviciului.

Care este diferența dintre SOA și serviciile Web?

Există unele diferențe cheie între serviciile Web și SOA. Serviciile Web definesc o tehnologie web care poate fi utilizată pentru a construi aplicații care pot trimite / primi mesaje utilizând SOPA prin HTTP. Cu toate acestea, SOA este un model arhitectural pentru implementarea unor aplicații bazate pe servicii cu cuplare slabă. Serviciile Web pot fi utilizate pentru implementarea aplicațiilor SOA. Chiar dacă abordarea serviciilor web la SOA a devenit foarte populară, este doar o singură metodă de implementare a SOA. SOA poate fi implementată utilizând orice altă tehnologie bazată pe servicii (de ex., CORBA și REST).