O privire asupra elementelor arhitecturii orientate spre servicii
Service-Oriented Architecture (SOA) este un stil de proiectare software în care serviciile sunt furnizate celorlalte componente de către componentele aplicației, printr-un protocol de comunicație reţea. Principiile sale sunt independente de furnizori și alte tehnologii. În arhitectura orientată spre servicii, o serie de servicii comunică între ele, într-unul din cele două moduri: prin trecerea datelor sau prin două sau mai multe servicii care coordonează o activitate. Aceasta este doar o definiție a arhitecturii orientate spre servicii. Un articol pe Wikipedia intră în mai multe detalii.
Caracteristicile arhitecturii orientate spre servicii
În timp ce conceptele definitorii ale arhitecturii orientate spre servicii variază de la o companie la alta, există șase principii cheie. care cuprinde conceptul larg de arhitectură orientată spre servicii. Aceste valori de bază includ:
Valoarea afacerii
Obiective strategice
Interoperabilitate intrinsecă
Servicii partajate
Flexibilitate
Rafinament evolutiv
Fiecare dintre aceste valori de bază poate fi văzută pe un continuum de la calculul distribuit în format mai vechi până la arhitectura orientată spre servicii până la calculul în cloud (ceva care este adesea văzut ca o ramură of Service-Oriented Architecture).
Service-Oriented Architecture Patterns
Există trei roluri în fiecare dintre elementele de bază ale arhitecturii orientate spre servicii: furnizor de servicii; broker de servicii, registru de servicii, depozit de servicii; și solicitant / consumator de servicii.
Furnizorul de servicii lucrează împreună cu registrul de servicii, dezbătând motivele și modalitățile serviciilor oferite, cum ar fi securitatea, disponibilitatea, ce trebuie să percepe și multe altele. Acest rol determină, de asemenea, categoria de servicii și dacă este nevoie să existe acorduri de tranzacționare.
Brokerul de servicii pune la dispoziția celor care o solicită informații cu privire la serviciu. Domeniul de aplicare al brokerului este determinat de oricine îl implementează.
Solicitantul de servicii localizează intrările în registrul brokerilor și apoi le leagă de furnizorul de servicii. Este posibil sau nu să poată accesa mai multe servicii; asta depinde de capacitatea solicitantului de servicii.
Implementarea arhitecturii orientate spre servicii
Când vine vorba de implementarea arhitecturii orientate spre servicii (SOA), există o gamă largă de tehnologii care poate fi utilizat, în funcție de obiectivul dvs. final și de ceea ce încercați să realizați.
De obicei, arhitectura orientată spre servicii este implementată cu servicii web, ceea ce face ca „elementele funcționale să fie accesibile prin internetul standard protocoale. ”
Un exemplu de standard de serviciu web este SOAP, care înseamnă Protocolul de acces la obiecte simple. Pe scurt, SOAP„ este o specificație a protocolului de mesagerie pentru schimbul de informații structurate în implementarea serviciilor web în retele de calculatoare. Deși SOAP nu a fost bine primit la început, din 2003 a câștigat mai multă popularitate și devine din ce în ce mai utilizat și acceptat. Alte opțiuni pentru implementarea arhitecturii orientate spre servicii includ Jini, COBRA sau REST.
Este important de reținut că arhitecturile pot „funcționa independent de tehnologii specifice”, ceea ce înseamnă că pot fi implementate într-o varietate de moduri, inclusiv mesagerie, cum ar fi ActiveMQ; Apache Thrift; și SORCER.
De ce este importantă arhitectura orientată spre servicii
Există multe avantaje arhitecturii orientate spre servicii, în special într-o afacere bazată pe servicii web. Vom prezenta câteva dintre aceste beneficii aici, pe scurt:
Utilizați Arhitectură orientată spre servicii pentru a crea cod reutilizabil: nu numai că reduce timpul petrecut în procesul de dezvoltare, dar nu există niciun motiv pentru a reinventa roata de codificare de fiecare dată când aveți nevoie pentru a crea un nou serviciu sau proces. Arhitectura orientată spre servicii permite, de asemenea, pentru utilizarea mai multor coduri Limbi străine, deoarece totul rulează printr-o interfață centrală.
Utilizați arhitectura orientată spre servicii pentru a promova interacțiunea: Cu Arhitectura orientată spre servicii, este pusă în aplicare o formă standard de comunicare, care permite funcționarea diferitelor sisteme și platforme. independente una de alta. Cu această interacțiune, Arhitectura orientată spre servicii poate, de asemenea, să lucreze în jurul firewall-urilor, permițând „companiilor să partajeze servicii care sunt vitale pentru operațiuni.”
Utilizați arhitectura orientată spre servicii pentru scalabilitate: este important să puteți scala o afacere pentru a satisface nevoile clientului, cu toate acestea anumite dependențe pot împiedica această scalabilitate. Utilizarea arhitecturii orientate către servicii reduce interacțiunea client-serviciu, ceea ce permite o scalabilitate mai mare.
Utilizați arhitectura orientată spre servicii pentru a reduce costurile: Cu arhitectura orientată spre servicii, este posibil să reduceți costurile în timp ce încă ” menținerea unui nivel dorit de ieșire. ” Utilizarea arhitecturii orientate spre servicii permite companiilor să limiteze cantitatea de analiză necesară atunci când dezvoltă soluții personalizate.
Cum funcționează împreună arhitectura orientată spre servicii și cloud computing
În primul rând, este important să rețineți că Arhitectura orientată spre servicii poate funcționa cu sau fără cloud computing, deși tot mai multe companii mută stocarea fișierelor în cloud, așa că este logic să folosim împreună cloud computingul și arhitectura orientată spre servicii.
Pe scurt, utilizarea cloud computing permite utilizatorilor să implementeze cu ușurință și imediat servicii adaptate la cerințele lor clienți, „fără a fi nevoie să consultați un departament IT”.
O deficiență a utilizării împreună a arhitecturii orientate spre servicii și a cloud computingului este că unele aspecte ale acesteia nu sunt evaluate, cum ar fi securitatea și disponibilitatea ilitate. Atunci când utilizează cloud computing, utilizatorii sunt adesea la mila furnizorului.
Există o provocare destul de importantă cu care se confruntă companiile atunci când fuzionează cloud computingul și arhitectura orientată spre servicii este integrarea datelor și sistemelor existente în cloud soluţie. Trebuie să existe continuitate de la început până la sfârșit pentru a exista o tranziție perfectă. De asemenea, este important să rețineți că nu toate aspectele IT pot fi externalizate în cloud – există câteva lucruri care trebuie încă făcute manual.
Puteți citi mai multe despre modul în care arhitectura orientată spre servicii și cloud calculul funcționează împreună chiar aici.
Diferența dintre arhitectura orientată spre servicii și SaaS
Am vorbit destul de mult despre ce este arhitectura orientată spre servicii și despre cum poate fi utilizată pentru a vă avansa afacerea. Dar există și SaaS (Software as a Service), care poate fi folosit și pentru a vă promova afacerea. Este posibil să vă întrebați ce este SaaS și cum diferă de arhitectura orientată spre servicii. Pe scurt, resursele disponibile prin SaaS sunt aplicații software. O componentă cheie este că infrastructura SaaS este „disponibilă, dar ascunsă, pentru utilizatori”. Un avantaj al SaaS este că utilizatorii nu trebuie să instaleze și să întrețină software, ceea ce elimină orice cerințe complexe. Cu SaaS, clientul nu necesită nici o licență inițială, ceea ce duce la costuri mai mici, deoarece furnizorii întrețin o singură aplicație.
Diferențele dintre arhitectura orientată spre servicii și microservicii
Microservicii, cunoscut și sub numele de Microservice Architecture, este un „stil arhitectural care structurează o aplicație ca o colecție de mici servicii autonome, modelate în jurul unui domeniu de afaceri”. în anumite privințe, diferențele cheie vin în funcționalitatea lor. Serviciile sunt, evident, componenta principală a ambelor. Există patru tipuri de servicii de bază:
Serviciu funcțional: acestea definesc operațiuni de bază
Serviciu întreprindere: acestea implementează funcționalitatea definită de serviciile funcționale
Aplicație serviciu: acestea sunt limitate la conținutul specific al aplicației
Serviciul de infrastructură: implementează sarcini nefuncționale precum autentificare, audit, securitate și înregistrare
După cum puteți vedea, fiecare dintre aceste servicii se bazează pe cel dinaintea sa, creând un sistem care nu numai că este ușor de utilizat, dar vă oferă o varietate de moduri de a vă gestiona afacerea. Ca și în cazul oricărei funcționalități, este o chestiune de a afla ce funcționează cel mai bine pentru dvs. și pentru afacerea dvs. Pe arhitectura orientată spre servicii
După cum vă puteți imagina, arhitectura orientată spre servicii poate fi un pic greu de spart, dar odată ce ați înțeles șuruburile și beneficiile pe care le poate oferi companiei dvs., veți fi încântați că ați descoperit-o.
Am furnizat mai multe resurse excelente de arhitectură orientate spre servicii de-a lungul acestui articol și mai avem încă câteva articole care vor face o adâncime mai profundă a conceptului și vă vor oferi și mai multe resurse pentru a vă ajuta să vă împingeți afacerea către nivelul următor.
Indiferent de direcția în care decideți să mergeți atunci când oferiți servicii clienților dvs., este important să rețineți că lucruri diferite vor funcționa pentru oameni diferiți. Deși nu puteți oferi servicii personalizate pentru fiecare client pe care l-ați preluat, puteți oferi o serie de servicii care se vor potrivi celor mai frecvente nevoi ale clienților dvs.
În articolele viitoare, vom căuta la Web 2.0 și adânciți-vă în microserviciile de arhitectură orientate spre servicii.