Interneto paslaugų kūrimo metodikos – mobiliųjų programų kūrimas, žiniatinklio paslaugos, SOA architektūra – technologija
Pereiti prie turinio

Interneto paslaugų kūrimo metodikos – mobiliųjų programų kūrimas, žiniatinklio paslaugos, SOA architektūra

  • pateikė

Skelbimai

Coulouris paskirstytas sistemas apibrėžė kaip „sistemas, kuriose kompiuterių tinkle esantys aparatinės ir (arba) programinės įrangos komponentai bendrauja ir koordinuoja savo veiksmus keisdamasi pranešimais“.

Ši koncepcija pastaraisiais metais išpopuliarėjo dėl kelių veiksnių. Pirmasis veiksnys, paskatinęs paskirstytų sistemų plėtrą, buvo didelės spartos vietinių tinklų atsiradimas. Kitas svarbus veiksnys buvo asmeninių kompiuterių našumo technologinė pažanga ir programinės įrangos, skirtos paskirstytoms programoms palaikyti, kūrimas. Paskirstytos sistemos yra susietos su žiniatinklio ir interneto koncepcija. Tobulėjant žiniatinkliui ir atsirandant naujoms sritims, sąveikoms, poreikiams ir programoms, atsiranda Web 2.0 koncepcija. Šį terminą 2004 m. sukūrė Timas O'Reilly, norėdamas nurodyti antrą kartą žiniatinklio istorijoje, pagrįstą vartotojų bendruomenėmis ir ypatingu paslaugų spektru, pvz., socialiniais tinklais, tinklaraščiais, wikiais ar folksonomijomis, kurios skatina bendradarbiavimą ir greitą. keitimasis informacija tarp vartotojų.

Pirmosios architektūros, kurias galima laikyti orientuotomis į paslaugas (SOA), buvo pagrįstos CORBA (Common Object Request Broker Architecture), kuri veikė kaip abstrakcijos sluoksnis, sujungiantis skirtingus architektūros elementus ir kuriant paslaugas. Kitos ankstesnės technologijos buvo DCOM (Distributed Component Object Model) arba RPC (Remote Procedure Protocol). Dėl poreikio efektyviai kurti ir įdiegti paskirstytas sistemas internete, iškyla keletas iššūkių, kai kurie iš jų yra orientuoti į patį kūrimą (našumą, vartotojo patirtį ir t. t.) ir kitus papildančius, pagrįstus paslaugų pakartotiniu panaudojimu ir suderinamumu. Dėl šių poreikių kyla žiniatinklio paslaugos, kurios suteikia standartizuotus mechanizmus, skirtus sujungti skirtingus vartotojus su informacijos serveriais.

Į PASLAUGĄ ORIENTUOTAS ARCHITEKTŪRAS

Pagal SOA (į paslaugas orientuota architektūra) yra programinės įrangos architektūros, apibrėžiančios paslaugų naudojimą verslo reikalavimams palaikyti, kurių tikslas yra pasiekti kuo mažesnį programinės įrangos agentų ryšį. Paslauga – paslaugų teikėjo atliekamo darbo vienetas, siekiant galutinio rezultato, kurio pageidauja paslaugų vartotojas. Tiek paslaugų teikėjas, tiek paslaugų vartotojas atlieka programinės įrangos agentų, o ne programinės įrangos savininkų vaidmenis. Bendrąja prasme į paslaugas orientuota architektūra yra programinės įrangos sprendimas, skirtas suteikti įmonei galimybę organizuoti ir naudoti įvairius procesus. Naudojant SOA, programinės įrangos programos nebėra didžiuliai funkcijų ir procesų blokai. Vietoj to, šias programas sudaro surinktos modulinės paslaugos. Atminkite, kad paslauga yra paprasta programinės įrangos funkcija (pvz., kompaktinio disko atšaukimas). Jį pagal poreikį gali paleisti bet kuri sistema, nepriklausomai nuo operacinės sistemos, platformos, programavimo kalbos ar geografinės padėties.

Revoliucinga SOA yra ne pati koncepcija, kuri egzistuoja jau seniai, o tai, kad ją galima įgyvendinti per WWW (World Wide Web). Taip pat, kaip tinklalapiai įkeliami bet kurioje platformoje, žiniatinklio paslaugos veikia panašiai, nepaisant platformos, kurioje jos sukurtos
universalūs standartai.

NuotraukaSOA idėja kyla tiesiogiai iš objektinio programavimo, kuris rodo ryšį tarp duomenų ir jų apdorojimo. Taigi jie oficialiai apibrėžia paslaugas per sąsajas, kurios nepriklauso nuo pagrindinės platformos ir programavimo kalbos. Šios sąsajos slepia jų įgyvendinimo ypatumus, todėl jos nepriklauso nuo kūrėjas ir programavimo kalba. Naudojant šias architektūras galima sukurti ir įdiegti labai keičiamo dydžio sistemas, kurios atspindi verslo logiką ir tuo pačiu palengvina sąveiką tarp skirtingų patentuotų ar trečiųjų šalių sistemų. Priežastis, kodėl norime, kad kažkas kitas atliktų darbą už mus, yra tai, kad jie yra ekspertai. Naudotis paslauga paprastai yra pigiau ir efektyviau nei tai daryti pačiam. Taigi dauguma iš mūsų supranta, kad negalime būti visko ekspertai. Ta pati taisyklė gali būti taikoma kuriant programinės įrangos sistemas.

Sąsajos yra labai svarbios, jei jos nėra gerai apibrėžtos arba neveikia, sistema neveikia. Integruoti daugiau sąsajų yra brangu ir taip pat padidėja klaidų tikimybė paskirstytose programose. Nuotolinės sąsajos yra lėčiausia daugelio paskirstytų programų dalis. Atsižvelgiant į visa tai, užuot kūrus naujas sąsajas kiekvienai programai, prasmingiau pakartotinai naudoti bendrąsias sąsajas visoms programoms.

Taigi, kadangi turime tik kelias bendrąsias sąsajas, į pranešimus turime įtraukti konkrečios programos semantiką. Per savo sąsajas galime siųsti bet kokį pranešimą, tačiau norint pasakyti, kad architektūra yra orientuota į paslaugas, reikia laikytis tam tikrų taisyklių.

– Pirma, pranešimai turi būti aprašomieji, o ne pamokantys, nes už problemos sprendimą atsakingas paslaugos teikėjas. Pavyzdžiui, tai būtų panašu į situaciją, kai nueini į restoraną ir pasakai padavėjui, ką norėtum išgerti bei savo pageidavimus, tačiau neturėtume virėjui žingsnis po žingsnio aiškinti, kaip ruošti patiekalus.

‐ Antra, paslaugų teikėjai negalės suprasti jūsų užklausos, jei jų pranešimai parašyti ne visiems dalyvaujantiems suprantamu formatu, struktūra ir žodynu. Taigi pranešimų žodyno ir struktūros ribojimas yra a
būtini efektyviam bendravimui. Kuo siauresnė žinutė, tuo lengviau ją suprasti.

– Trečia, pratęsimo galimybė yra gyvybiškai svarbi. Pasaulis yra nuolat besikeičianti vieta, taip pat aplinka, kurioje gyvena programinė įranga. Šie pakeitimai reikalauja atitinkamų sisteminės programinės įrangos, vartotojų pakeitimų paslaugų, teikėjų ir pranešimų, kuriais jie keičiasi. Jei pranešimų negalima išplėsti, vartotojai ir teikėjai yra užrakinti prie konkrečios paslaugos versijos. Apribojimai ir išplėtimas yra glaudžiai susiję, jums reikia abiejų, o padidinti vieną reiškia sumažinti kitą. Idealu yra pasiekti teisingą pusiausvyrą.

– Ketvirta, SOA turi turėti mechanizmą, leidžiantį vartotojui atrasti paslaugos teikėją vartotojo pageidaujamos paslaugos kontekste. Mechanizmas turėtų būti lankstus, o ne centralizuotas registras.

- Penkta, paslauga be pilietybės: kiekviename vartotojo siunčiamame pranešime teikėjui turi būti visa informacija, reikalinga teikėjui ją apdoroti. Dėl šio apribojimo paslaugų teikėjas yra labiau keičiamas, nes teikėjui nereikia saugoti būsenos informacijos tarp užklausų. Tai gali būti vadinama „masinės gamybos paslauga“, nes kiekviena užklausa gali būti tvarkoma bendrai. Šis apribojimas taip pat suteikia daugiau matomumo, nes bet kuri stebėjimo programinė įranga gali savarankiškai patikrinti užklausą ir išgauti jos tikslą. Tai taip pat leidžia lengvai atsigauti po dalinių gedimų, nes nėra tarpinių būsenų, todėl paslauga tampa patikimesnė.

- Šešta, idempotentinės užklausos (be pakeitimų): programinės įrangos agento gautos pasikartojančios užklausos turi tokį patį poveikį kaip ir viena užklausa. Šis reikalavimas leidžia paslaugų teikėjams ir vartotojams padidinti bendrą įrenginio patikimumą paslauga, tiesiog pakartodama užklausą, jei būtų kokių nors gedimų.

Taigi galime pasakyti, kad SOA nėra įrankis, o standartų rinkinys, skirtas kurti naujas, dinamiškesnes ir mažiau priklausomas programas. SOA palengvina sistemingą prieigą prie verslo logikos ir informacijos keliose paslaugose, taip pat gali organizuoti kelias nuotolines paslaugas, kad būtų sukurta viena. dauguma apibrėžimai identifikuoja žiniatinklio paslaugų naudojimą, kurį pamatysime kitame skyriuje, įgyvendinant į paslaugas orientuotą architektūrą. Tačiau jis gali būti įgyvendintas naudojant bet kurią kitą paslaugomis pagrįstą technologiją.