SOA vs Veb Xidmətləri
Veb xidmətlər HTTP üzərindən SOAP istifadə edərək mesaj göndərə/qəbul edə bilən proqramlar yaratmaq üçün istifadə olunur. Veb xidməti internet üzərindən təklif olunan ictimailəşdirilmiş funksionallıq paketidir. SOA xidmətlərin inkişafı və inteqrasiyası üçün istifadə olunan memarlıq konsepsiyaları toplusudur. SOA-nı həyata keçirmək üçün veb xidmətlərdən istifadə edilə bilər. Lakin bu, SOA əsaslı tətbiqləri həyata keçirmək üçün yalnız bir üsuldur.
Veb Xidmətlər nədir?
Veb Xidməti şəbəkə üzərindən ünsiyyət üsuludur. W3C-ə əsasən, Veb xidməti şəbəkə üzərindən maşından maşına əməliyyatları dəstəkləmək üçün ayrılmış bir sistemdir. Bu, WSDL-də (Veb Xidmətinin Təsviri Dili) təsvir edilən Veb API-dir və Veb xidmətləri adətən öz-özünə əhatə olunur və özünü təsvir edir. Veb xidmətləri UDDI (Universal Təsvir, Kəşf və İnteqrasiya) protokolundan istifadə etməklə aşkar edilə bilər. SOAP (Sadə Obyekt Giriş Protokolu) mesajlarını adətən HTTP (XML ilə) üzərindən mübadilə etməklə digər sistemlər Veb xidmətləri ilə əlaqə saxlaya bilər.
Veb xidmətləri RPC (Uzaqdan Prosedur Zəngləri), SOA (Xidmət Yönümlü Arxitektura) və REST (Təmsilçilik Dövlətinin Transferi) kimi bir sıra üsullarla istifadə olunur. Veb xidmətlərinin inkişafı üçün iki avtomatlaşdırılmış dizayn metodologiyası mövcuddur. Aşağıdan yuxarıya yanaşma əvvəlcə siniflərin yaradılması və sonra bu sinifləri Veb xidmətləri kimi tərtib etmək üçün WSDL generasiya vasitələrindən istifadə etməklə məşğul olur. Yuxarıdan aşağıya yanaşma WSDL spesifikasiyalarının müəyyən edilməsi və sonra müvafiq sinifləri yaratmaq üçün kod yaratma vasitələrindən istifadə etməklə məşğul olur. Veb xidmətlərinin iki əsas istifadəsi var. Onlar təkrar istifadə edilə bilən proqram komponentləri kimi və/və ya müxtəlif platformalarda işləyən veb proqramları birləşdirmək üçün istifadə edilə bilər.
SOA nədir?
SOA (Xidmət yönümlü arxitektura) xidmətlərin inkişafı və inteqrasiyası üçün istifadə edilən memarlıq konsepsiyaları toplusudur. SOA paylanmış hesablama ilə məşğul olur, burada istehlakçılar bir sıra qarşılıqlı fəaliyyət göstərən xidmətlərdən istifadə edirlər. Birdən çox istehlakçı bir xidmətdən istifadə edə bilər və əksinə. Buna görə də, SOA tez-tez müxtəlif platformalardan istifadə edən çoxsaylı tətbiqləri inteqrasiya etmək üçün istifadə olunur. SOA-nın düzgün işləməsi üçün xidmətlər əməliyyat sistemləri və əsas tətbiqlərin texnologiyaları ilə sərbəst birləşdirilməlidir. SOA tərtibatçıları funksionallıq vahidlərindən istifadə edərək xidmətlər yaradır və onları internet üzərindən əlçatan edir. Veb xidmətlərindən SOA arxitekturasını həyata keçirmək üçün istifadə edilə bilər. Bu halda, veb xidmətləri internet üzərindən əlçatan olan SOA-nın funksional vahidlərinə çevrilir. Veb xidmətləri platformalar və ya onların inkişaf etdirilməsi üçün istifadə olunan proqramlaşdırma dillərindən narahat olmadan hər kəs tərəfindən istifadə edilə bilər. SOA bilavasitə xidmət yönümlülük prinsipi üzərində qurulub, o, xidmətin real platforma tətbiqindən narahat olmadan istifadəçilər tərəfindən müstəqil şəkildə əldə edilə bilən sadə interfeysli xidmətlərdən bəhs edir.
SOA və Veb Xidmətləri arasında fərq nədir?
Veb xidmətləri ilə SOA arasında bəzi əsas fərqlər var. Veb xidmətləri HTTP üzərindən SOPA istifadə edərək mesaj göndərə/qəbul edə bilən proqramlar yaratmaq üçün istifadə oluna bilən veb texnologiyasını müəyyən edir. Bununla belə, SOA sərbəst şəkildə birləşdirilən xidmətə əsaslanan proqramların həyata keçirilməsi üçün memarlıq modelidir. Veb xidmətlərindən SOA proqramlarını həyata keçirmək üçün istifadə edilə bilər. SOA-ya veb-xidmət yanaşması çox populyarlaşsa da, bu, SOA-nın həyata keçirilməsinin yalnız bir üsuludur. SOA istənilən digər xidmətə əsaslanan texnologiyadan istifadə etməklə həyata keçirilə bilər (məsələn, CORBA və REST).