Veb-xizmatlarni rivojlantirish metodologiyalari - Mobil ilovalarni ishlab chiqish, veb-xizmatlar, SOA arxitekturasi - Texnologiya
Tarkibga oʻtish

Veb-xizmatlarni rivojlantirish metodologiyalari - mobil ilovalarni, veb-xizmatlarni, SOA arxitekturasini ishlab chiqish

  • tomonidan

Reklamalar

Coulouris taqsimlangan tizimlarni "kompyuter tarmog'ida mavjud bo'lgan apparat va / yoki dasturiy ta'minot komponentlari xabarlar almashish orqali aloqa qiladigan va o'z harakatlarini muvofiqlashtiradigan tizimlar" deb ta'riflagan.

Ushbu kontseptsiya so'nggi yillarda bir nechta omillar tufayli mashhur bo'ldi. Tarqalgan tizimlarning rivojlanishiga turtki bo'lgan birinchi omil yuqori tezlikdagi mahalliy tarmoqlarning paydo bo'lishi edi. Yana bir muhim omil shaxsiy kompyuterlarning ishlashidagi texnologik yutuqlar va tarqatilgan ilovalarni qo'llab-quvvatlash uchun dasturiy ta'minotni ishlab chiqish edi. Taqsimlangan tizimlar Web va Internet tushunchalari bilan bog'langan. Veb evolyutsiyasi va yangi sohalar, o'zaro ta'sirlar, ehtiyojlar va ilovalarning paydo bo'lishi bilan Web 2.0 tushunchasi paydo bo'ladi. Bu atama 2004 yilda Tim O'Reyli tomonidan foydalanuvchilar hamjamiyatlari va hamkorlik va tezkorlikni rag'batlantiradigan ijtimoiy tarmoqlar, bloglar, vikilar yoki folksonomiyalar kabi maxsus xizmatlar qatoriga asoslangan Internet tarixidagi ikkinchi avlodga ishora qilish uchun kiritilgan. foydalanuvchilar o'rtasida ma'lumot almashish.

Xizmatga yo'naltirilgan (SOA) deb hisoblanishi mumkin bo'lgan birinchi arxitekturalar CORBA (Common Object Request Broker Architecture) ga asoslangan bo'lib, u arxitekturaning turli elementlarini o'zaro bog'lash va xizmatlarni qurish uchun mavhumlik qatlami sifatida ishlagan. Boshqa dastlabki texnologiyalar DCOM (Distributed Component Object Model) yoki RPC (Remote Protocol Protocol) edi. Tarqalgan tizimlarni Internetda samarali tarzda loyihalash va joriy etish zarurati bilan bir qancha muammolar yuzaga keladi, ularning ba'zilari rivojlanishning o'ziga (ishlash, foydalanuvchi tajribasi va boshqalar) e'tibor qaratadi, boshqalari esa xizmatlarning qayta ishlatilishi va mosligi asosida bir-birini to'ldiradi. Ushbu ehtiyojlardan turli foydalanuvchilarni axborot serverlari bilan o'zaro bog'lashning standartlashtirilgan mexanizmlarini ta'minlovchi veb-xizmatlari paydo bo'ladi.

XIZMATGA YO'LLANGAN ARXITEKTURALAR

SOA (Service Oriented Architecture) ga ko'ra, ular biznes talablarini qo'llab-quvvatlash uchun xizmatlardan foydalanishni belgilaydigan dasturiy ta'minot arxitekturalari bo'lib, ularning maqsadi dasturiy ta'minot agentlari o'rtasida mumkin bo'lgan minimal ulanishga erishishdir. Xizmat - bu xizmat ko'rsatuvchi iste'molchi xohlagan yakuniy natijaga erishish uchun xizmat ko'rsatuvchi provayder tomonidan bajariladigan ish birligi. Xizmat ko'rsatuvchi provayder ham, xizmat iste'molchisi ham ularning egalari emas, balki dasturiy ta'minot agentlari tomonidan o'ynaydigan rollardir. Umumiy ma'noda, xizmatga yo'naltirilgan arxitektura - bu kompaniyaga turli jarayonlarni tashkil qilish va ulardan foydalanish imkonini beradigan dasturiy echim. SOA bilan dasturiy ta'minot ilovalari endi katta funktsiyalar va jarayonlar bloklari emas. Buning o'rniga, bu ilovalar yig'ilgan modulli xizmatlardan iborat. Yodda tutingki, xizmat oddiy dasturiy ta'minot funktsiyasidir (masalan, CDda o'ynatishni bekor qilish). U operatsion tizim, platforma, dasturlash tili yoki geografik joylashuvidan qat'i nazar, istalgan tizim tomonidan talabga binoan ishga tushirilishi mumkin.

SOA haqida inqilobiy narsa uzoq vaqtdan beri mavjud bo'lgan kontseptsiyaning o'zi emas, balki uni WWW (World Wide Web) orqali amalga oshirish mumkinligidir. Veb-sahifalar har qanday platformada yuklangani kabi, veb-xizmatlar platformadan qat'i nazar, ular yordamida yaratilganidan qat'i nazar, xuddi shunday ishlaydi
universal standartlar.

SuratSOA g'oyasi to'g'ridan-to'g'ri ob'ektga yo'naltirilgan dasturlashdan kelib chiqadi, bu ma'lumotlar va uni qayta ishlash o'rtasidagi munosabatlarni taklif qiladi. Shunday qilib, ular asosiy platforma va dasturlash tilidan mustaqil interfeyslar orqali rasmiy ravishda xizmatlarni belgilaydilar. Ushbu interfeyslar ularni amalga oshirishning o'ziga xos xususiyatlarini yashiradi, bu esa ularni mustaqil qiladi dasturchi va dasturlash tili. Ushbu arxitekturalar orqali biznes mantig'ini aks ettiruvchi va shu bilan birga turli mulkiy yoki uchinchi tomon tizimlari o'rtasidagi o'zaro aloqani osonlashtiradigan yuqori darajada kengaytiriladigan tizimlarni loyihalash va amalga oshirish mumkin. Kimdir biz uchun ishni bajarishini xohlayotganimiz sababi, ular mutaxassis. Xizmatdan foydalanish odatda o'zingiz qilishdan ko'ra arzonroq va samaraliroq. Shunday qilib, ko'pchiligimiz hamma narsada mutaxassis bo'la olmasligimizni tushunamiz. Xuddi shu qoida dasturiy ta'minot tizimlarini qurishda ham qo'llanilishi mumkin.

Interfeyslar juda muhim, agar ular yaxshi aniqlanmagan yoki ishlamasa, tizim ishlamaydi. Ko'proq interfeyslarni integratsiya qilish qimmatga tushadi va tarqatilgan ilovalarda xatolar ehtimolini oshiradi. Masofaviy interfeyslar ko'p tarqalgan ilovalarning eng sekin qismidir. Bularning barchasi bilan, har bir dastur uchun yangi interfeyslarni yaratish o'rniga, barcha ilovalar uchun umumiy interfeyslarni qayta ishlatish mantiqiyroq.

Shunday qilib, bizda faqat bir nechta umumiy interfeyslar mavjud bo'lganligi sababli, biz xabarlarga ilovaga xos semantikani kiritishimiz kerak. Biz interfeyslarimiz orqali istalgan turdagi xabarlarni yuborishimiz mumkin, ammo arxitektura xizmatga yo'naltirilganligini aytish uchun ba'zi qoidalarga rioya qilish kerak.

– Birinchidan, xabarlar tavsiflovchi bo'lishi kerak, ko'rsatma emas, chunki muammoni hal qilish uchun xizmat ko'rsatuvchi provayder javobgardir. Misol uchun, bu restoranga borib, ofitsiantga nima ichishni xohlayotganingizni va sizning afzalliklaringizni aytishga o'xshash bo'lar edi, lekin biz oshpazga taomlaringizni qanday tayyorlashni bosqichma-bosqich tushuntirmasligimiz kerak.

- Ikkinchidan, agar ularning xabarlari barcha ishtirokchilarga tushunarli formatda, tuzilmada va lug'atda yozilmagan bo'lsa, xizmat ko'rsatuvchi provayderlar sizning so'rovingizni tushuna olmaydi. Shunday qilib, xabarlarning so'z boyligi va tuzilishini cheklash a
samarali muloqot uchun zarur. Xabar qanchalik cheklangan bo'lsa, uni tushunish osonroq bo'ladi.

- Uchinchidan, uzaytirish imkoniyati hayotiy ahamiyatga ega. Dunyo doimo o'zgarib turadigan joy va dasturiy ta'minot yashaydigan muhit ham shunday. Ushbu o'zgarishlar tizim dasturiy ta'minotiga, iste'molchilarga tegishli o'zgarishlarni talab qiladi xizmatlar, provayderlar va ular almashadigan xabarlar. Agar xabarlar kengaytirilmasa, iste'molchilar va provayderlar xizmatning ma'lum bir versiyasiga qulflanadi. Cheklov va kengayish bir-biri bilan chambarchas bog'liq, sizga ikkalasi ham kerak va birini oshirish ikkinchisini kamaytirishni anglatadi. Ideal to'g'ri muvozanatga erishishdir.

- To'rtinchidan, SOA iste'molchi qidirayotgan xizmat kontekstida xizmat ko'rsatuvchi provayderni topishga imkon beruvchi mexanizmga ega bo'lishi kerak. Mexanizm moslashuvchan bo'lishi va markazlashtirilgan registr bo'lmasligi kerak.

- Beshinchidan, fuqaroligi bo'lmagan xizmat: iste'molchi provayderga yuboradigan har bir xabar provayder tomonidan qayta ishlash uchun zarur bo'lgan barcha ma'lumotlarni o'z ichiga olishi kerak. Ushbu cheklov xizmat ko'rsatuvchi provayderni yanada kengaytiriladigan qiladi, chunki provayder so'rovlar o'rtasida davlat ma'lumotlarini saqlashi shart emas. Buni "ommaviy ishlab chiqarish xizmati" deb atash mumkin, chunki har bir so'rov umumiy tarzda ko'rib chiqilishi mumkin. Ushbu cheklov ko'proq ko'rinishni ham ta'minlaydi, chunki har qanday monitoring dasturi mustaqil so'rovni tekshirishi va uning maqsadini chiqarishi mumkin. Bu, shuningdek, qisman nosozliklarni osonlik bilan tiklash imkonini beradi, chunki oraliq holatlar mavjud emas, bu xizmatni yanada ishonchli qiladi.

- Oltinchidan, idempotent so'rovlar (ular o'zgartirish kiritmaydi): dasturiy ta'minot agenti tomonidan olingan takroriy so'rovlar bitta so'rov bilan bir xil ta'sirga ega. Ushbu talab provayderlar va iste'molchilarga umumiy ishonchlilikni oshirishga imkon beradi xizmat, agar xatolik yuz bergan bo'lsa, so'rovni takrorlash kifoya.

Shunday qilib, SOA bu vosita emas, balki yangi, yanada dinamik va kamroq bog'liq ilovalarni yaratish uchun standartlar to'plami deb aytishimiz mumkin. SOA tizimli ravishda turli xizmatlar o'rtasidagi biznes mantig'i va ma'lumotlariga kirishni osonlashtiradi, shuningdek, bitta xizmatni yaratish uchun bir nechta masofaviy xizmatlarni tashkil qilishi mumkin. Ko'pchilik Ta'riflar xizmatga yo'naltirilgan arxitekturani amalga oshirishda keyingi bobda ko'rib chiqiladigan veb-xizmatlardan foydalanishni aniqlaydi. Biroq, u har qanday boshqa xizmatga asoslangan texnologiya yordamida amalga oshirilishi mumkin.