SOA va ESB
SOA - xizmatlarni ishlab chiqish va integratsiyalash uchun foydalaniladigan meʼmoriy tushunchalar toʻplami. Xizmat - bu Internet orqali taqdim etiladigan ommabop funksiyalar to'plami. ESB - bu murakkab arxitekturalar uchun asosiy xizmatlarni taqdim etish uchun dasturiy ta'minot arxitekturasini ta'minlovchi infratuzilma dasturining bir qismi. ESB SOA amalga oshiriladigan platforma sifatida ishlatilishi mumkin.
SOA nima?
SOA (Xizmatga yoʻn altirilgan arxitektura) - xizmatlarni ishlab chiqish va integratsiyalash uchun foydalaniladigan meʼmoriy tushunchalar toʻplami. SOA iste'molchilar birgalikda ishlaydigan xizmatlar to'plamini iste'mol qiladigan taqsimlangan hisoblash bilan shug'ullanadi. Bir nechta iste'molchilar bitta xizmatdan foydalanishlari mumkin va aksincha. Shuning uchun, SOA ko'pincha turli platformalardan foydalanadigan bir nechta ilovalarni birlashtirish uchun ishlatiladi. SOA to'g'ri ishlashi uchun xizmatlar operatsion tizimlar va asosiy ilovalar texnologiyalari bilan erkin bog'langan bo'lishi kerak. SOA ishlab chiquvchilari funksionallik birliklaridan foydalangan holda xizmatlarni yaratadilar va ularni internet orqali taqdim etadilar. SOA arxitekturasini amalga oshirish uchun veb-xizmatlardan foydalanish mumkin. Bunday holda, veb-xizmatlar Internet orqali kirish mumkin bo'lgan SOA funktsional birligiga aylanadi. Veb-xizmatlardan har kim platformalar yoki ularni ishlab chiqishda foydalaniladigan dasturlash tillari haqida qayg'urmasdan foydalanishi mumkin. SOA toʻgʻridan-toʻgʻri xizmatga yoʻn altirilganlik tamoyili asosida qurilgan boʻlib, u foydalanuvchilar tomonidan mustaqil ravishda foydalanishi mumkin boʻlgan oddiy interfeysli xizmatlar haqida soʻz yuritadi.
ESB nima?
ESB (Enterprise Service Bus) - murakkab arxitekturalar uchun asosiy xizmatlarni taqdim etish uchun dasturiy ta'minot arxitekturasini ta'minlovchi infratuzilma dasturiy ta'minoti. Ammo ESB ni arxitektura uslubi yoki dasturiy mahsulot yoki hatto mahsulotlar guruhi deb atash haqida jiddiy bahslar mavjud. U xizmatlarni hodisalarga asoslangan va xabar almashish uchun standartlarga asoslangan vosita (bu aslida xizmat ko'rsatish avtobusi) orqali taqdim etadi. Ushbu xabar almashish mexanizmining tepasida arxitektorlarga hech qanday haqiqiy kod yozmasdan avtobus taklif qiladigan imkoniyatlardan foydalanishga imkon berish uchun abstraktsiya qatlami mavjud. ESB odatda standartlarga asoslangan oraliq dastur infratuzilmasi orqali amalga oshiriladi.
ESBda "avtobus" atamasidan foydalanish ESB fizik kompyuter avtobusiga juda oʻxshash funksiyani taʼminlaganligi bilan bogʻliq, lekin abstraktsiyaning ancha yuqori darajasida. ESB ga ega bo'lishning asosiy afzalliklaridan biri - kontaktlar sonini kamaytirish qobiliyati; shunday qilib, o'zgarishlarga moslashishni ancha osonlashtiradi. ESB SOA amalga oshiriladigan platforma sifatida ishlatilishi mumkin. Transformatsiya/marshrutlash tushunchalari (oqim bilan bog'liq) ESB tomonidan SOA ga keltirilishi mumkin. Bundan tashqari, so'nggi nuqtalar uchun (SOAda) abstraktsiyani isbotlash orqali ESB xizmatlar o'rtasidagi bo'sh ulanishni ta'minlaydi.
SOA va ESB oʻrtasidagi farq nima?
SOA va ESB oʻrtasida baʼzi asosiy farqlar mavjud. SOA - bu erkin bog'langan xizmatga asoslangan ilovalarni amalga oshirish uchun arxitektura modeli. ESB - bu ishlab chiquvchilarga xizmatlarni ishlab chiqishda va tegishli API orqali xizmatlar o'rtasida muloqot qilishda yordam beradigan infratuzilma dasturiy ta'minotining bir qismi. ESB SOA amalga oshiriladigan platforma sifatida ishlatilishi mumkin. ESB faqat xizmatlarning o'tishi uchun vositadir. ESB xizmatlarning tarkibi va joylashtirilishi uchun imkoniyatlarni taqdim etadi, bu esa o'z navbatida SOAni amalga oshiradi.