Veb Xidmətlərinin İnkişafı Metodologiyaları – Mobil Tətbiqlərin, Veb Xidmətlərin, SOA Arxitekturasının İnkişafı - Texnologiya
Məzmuna keçin

Veb Xidmətlərinin İnkişafı Metodologiyaları – Mobil Tətbiqlərin, Veb Xidmətlərin, SOA Arxitekturasının İnkişafı

  • tərəfindən

Reklamlar

Coulouris paylanmış sistemləri “kompüter şəbəkəsində mövcud olan aparat və/yaxud proqram komponentlərinin mesaj mübadiləsi yolu ilə əlaqə saxladığı və hərəkətlərini əlaqələndirdiyi sistemlər” kimi müəyyən etmişdir.

Bu konsepsiya son illərdə bir sıra amillərə görə populyarlaşdı. Paylanmış sistemlərin inkişafına təkan verən ilk amil yüksək sürətli lokal şəbəkələrin yaranması oldu. Digər mühüm amil fərdi kompüterlərin performansında texnoloji irəliləyişlər və paylanmış proqramları dəstəkləmək üçün proqram təminatının hazırlanması idi. Paylanmış sistemlər Veb və İnternet anlayışı ilə əlaqələndirilir. Vebin təkamülü və yeni sahələrin, qarşılıqlı əlaqələrin, ehtiyacların və tətbiqlərin meydana çıxması ilə Web 2.0 anlayışı ortaya çıxır. Bu termin 2004-cü ildə Tim O'Reilly tərəfindən istifadəçi icmalarına və əməkdaşlığa və çevikliyə təşviq edən sosial şəbəkələr, bloqlar, vikilər və ya folksonomiyalar kimi xüsusi xidmətlər spektrinə əsaslanan İnternet tarixində ikinci nəslə istinad etmək üçün istifadə edilmişdir. istifadəçilər arasında məlumat mübadiləsi.

Xidmət yönümlü hesab edilə bilən ilk arxitekturalar (SOA) arxitekturanın müxtəlif elementlərini bir-birinə bağlamaq və xidmətlərin qurulması üçün abstraksiya təbəqəsi kimi çıxış edən CORBA-ya (Ümumi Obyekt Sorğu Broker Arxitekturasına) əsaslanırdı. Digər erkən texnologiyalar DCOM (Paylanmış Komponent Obyekt Modeli) və ya RPC (Uzaqdan Prosedur Protokolu) idi. İnternetdə paylanmış sistemlərin səmərəli şəkildə layihələndirilməsi və həyata keçirilməsi zərurəti ilə bir sıra problemlər yaranır, bəziləri inkişafın özünə (performans, istifadəçi təcrübəsi və s.), digərləri isə xidmətlərin təkrar istifadə edilə bilməsi və uyğunluğuna əsaslanaraq bir-birini tamamlayır. Bu ehtiyaclardan müxtəlif istifadəçiləri informasiya serverləri ilə əlaqələndirmək üçün standartlaşdırılmış mexanizmləri təmin edən Veb Xidmətləri yaranır.

XİDMƏT YÖNLƏMƏLİ MEMARLIKLAR

SOA-ya (Service Oriented Architecture) görə, onlar biznes tələblərini dəstəkləmək üçün xidmətlərdən istifadəni təyin edən proqram arxitekturalarıdır, məqsədi proqram agentləri arasında mümkün olan minimum əlaqəyə nail olmaqdır. Xidmət, xidmət istehlakçısının istədiyi son nəticəyə nail olmaq üçün xidmət təminatçısı tərəfindən görülən iş vahididir. Həm xidmət təminatçısı, həm də xidmət istehlakçısı onların sahibləri deyil, proqram agentləri tərəfindən oynanan rollardır. Ümumi mənada xidmət yönümlü arxitektura şirkətə müxtəlif prosesləri təşkil etməyə və istifadə etməyə imkan verən proqram həllidir. SOA ilə proqram proqramları artıq funksiya və proseslərin böyük blokları deyil. Bunun əvəzinə, bu proqramlar yığılmış modul xidmətlərdən ibarətdir. Unutmayın ki, xidmət sadə proqram funksiyasıdır (məsələn, CD-də oxutmanı ləğv etmək). Əməliyyat sistemindən, platformasından, proqramlaşdırma dilindən və coğrafi mövqeyindən asılı olmayaraq istənilən sistem tərəfindən tələb əsasında işlədilə bilər.

SOA-da inqilabi olan, uzun müddətdir mövcud olan konsepsiyanın özü deyil, onun WWW (World Wide Web) vasitəsilə həyata keçirilə bilməsidir. Veb səhifələrin hər hansı bir platformaya yüklənməsi kimi, veb xidmətləri də istifadə olunduğu platformadan asılı olmayaraq oxşar şəkildə işləyir
universal standartlar.

FotoşəkilSOA ideyası bilavasitə obyekt yönümlü proqramlaşdırmadan irəli gəlir ki, bu da verilənlər və onun emalı arasında əlaqəni təklif edir. Beləliklə, onlar formal olaraq əsas platformadan və proqramlaşdırma dilindən müstəqil interfeyslər vasitəsilə xidmətləri müəyyən edirlər. Bu interfeyslər onların həyata keçirilməsinin xüsusiyyətlərini gizlədir, bu da onları başqalarından müstəqil edir tərtibatçı və proqramlaşdırma dili. Bu arxitekturalar vasitəsilə biznes məntiqini əks etdirən və eyni zamanda müxtəlif mülkiyyət və ya üçüncü tərəf sistemləri arasında qarşılıqlı əlaqəni asanlaşdıran yüksək miqyaslı sistemləri layihələndirmək və həyata keçirmək mümkündür. Kiminsə bizim yerimizə işi görməsini istəməyimizin səbəbi onların mütəxəssis olmasıdır. Bir xidmətdən istifadə, ümumiyyətlə, özünüz etməkdən daha ucuz və effektivdir. Beləliklə, çoxumuz başa düşürük ki, biz hər şeydə mütəxəssis ola bilmərik. Eyni qayda proqram sistemlərinin qurulması üçün də tətbiq oluna bilər.

İnterfeyslər son dərəcə vacibdir, əgər onlar yaxşı müəyyən edilməyibsə və ya işləmirsə, sistem işləmir. Daha çox interfeysin inteqrasiyası baha başa gəlir və həmçinin paylanmış tətbiqlərdə səhvlərin olma ehtimalını artırır. Uzaq interfeyslər ən çox yayılmış proqramların ən yavaş hissəsidir. Bütün bunlarla birlikdə, hər bir tətbiq üçün yeni interfeyslər qurmaq əvəzinə, bütün tətbiqlər üçün ümumi interfeyslərdən təkrar istifadə etmək daha məntiqlidir.

Beləliklə, bizdə yalnız bir neçə ümumi interfeys mövcud olduğundan, mesajlara proqrama aid semantika daxil etməliyik. Biz interfeyslərimiz vasitəsilə istənilən növ mesaj göndərə bilərik, lakin arxitekturanın xidmət yönümlü olduğunu söyləmək üçün bəzi qaydalara əməl edilməlidir.

– Birincisi, mesajlar təlimat xarakterli deyil, təsviri olmalıdır, çünki problemin həllinə xidmət təminatçısı cavabdehdir. Məsələn, bu, restorana gedib ofisiona nə içmək istədiyinizi və öz seçimlərinizi söyləmək vəziyyətinə bənzəyir, lakin biz aşpaza yeməklərinizi necə hazırlayacağınızı addım-addım izah etməməliyik.

- İkincisi, əgər onların mesajları hər kəs üçün başa düşülən formatda, strukturda və lüğətdə yazılmasa, xidmət təminatçıları sorğunuzu başa düşə bilməyəcəklər. Beləliklə, mesajların lüğət və strukturunun məhdudlaşdırılması a
effektiv ünsiyyət üçün zəruridir. Mesaj nə qədər məhdud olsa, onu başa düşmək bir o qədər asan olar.

- Üçüncüsü, uzadılma ehtimalı həyati əhəmiyyət kəsb edir. Dünya daim dəyişən bir yerdir və proqram təminatının yaşadığı mühit də belədir. Bu dəyişikliklər sistem proqram təminatında, istehlakçılarda müvafiq dəyişikliklər tələb edir xidmətlər, provayderlər və mübadilə etdikləri mesajlar. Mesajlar genişləndirilə bilməzsə, istehlakçılar və provayderlər xidmətin xüsusi versiyasına kilidlənəcəklər. Məhdudiyyət və genişlənmə bir-biri ilə sıx bağlıdır, hər ikisinə ehtiyacınız var və birini artırmaq digərini azaltmaq deməkdir. İdeal düzgün tarazlığa nail olmaqdır.

– Dördüncüsü, SOA-da istehlakçının axtardığı xidmət kontekstində xidmət təminatçısını kəşf etməyə imkan verən mexanizm olmalıdır. Mexanizm çevik olmalıdır və mərkəzləşdirilmiş reyestr olmamalıdır.

- Beşinci, Vətəndaşlığı olmayan xidmət: İstehlakçının provayderə göndərdiyi hər bir mesaj provayderin onu emal etməsi üçün lazım olan bütün məlumatları ehtiva etməlidir. Bu məhdudiyyət xidmət təminatçını daha geniş miqyaslı edir, çünki provayder sorğular arasında dövlət məlumatlarını saxlamağa ehtiyac duymur. Bunu "kütləvi istehsal xidməti" adlandırmaq olar, çünki hər bir sorğu ümumi şəkildə həll edilə bilər. Bu məhdudiyyət həm də daha çox görünürlük təmin edir, çünki istənilən monitorinq proqramı müstəqil sorğunu yoxlaya və onun niyyətini çıxara bilər. Bu, həm də qismən nasazlıqlardan asanlıqla bərpa etməyə imkan verir, çünki aralıq vəziyyətlər yoxdur, bu da xidməti daha etibarlı edir.

− Altıncı, idempotent sorğular (dəyişikliklər etməyən): proqram agenti tərəfindən alınan dublikat sorğular tək sorğu ilə eyni effektə malikdir. Bu tələb provayderlərə və istehlakçılara məlumatların ümumi etibarlılığını artırmağa imkan verir xidmət, hər hansı bir uğursuzluq baş verərsə, sadəcə sorğunun təkrarlanması.

Beləliklə, deyə bilərik ki, SOA bir vasitə deyil, daha çox yeni, daha dinamik və daha az asılı tətbiqlər yaratmaq üçün standartlar toplusudur. SOA sistematik şəkildə müxtəlif xidmətlər arasında biznes məntiqinə və məlumatlara çıxışı asanlaşdırır və eyni zamanda vahid bir xidmət yaratmaq üçün bir neçə uzaq xidməti təşkil edə bilər. Əksəriyyəti Təriflər xidmət yönümlü arxitekturanın həyata keçirilməsində növbəti fəsildə görəcəyimiz Veb Xidmətlərdən istifadəni müəyyən edir. Bununla belə, hər hansı digər xidmətə əsaslanan texnologiyadan istifadə etməklə həyata keçirilə bilər.