SOA және ESB
SOA - қызметтерді дамыту және біріктіру үшін пайдаланылатын архитектуралық тұжырымдамалар жиынтығы. Қызмет - бұл интернет арқылы ұсынылатын функционалдық мүмкіндіктердің жарияланған пакеті. ESB – күрделі архитектуралар үшін негізгі қызметтерді көрсету үшін бағдарламалық жасақтаманың архитектуралық құрылымын қамтамасыз ететін инфрақұрылымдық бағдарламалық құралдың бөлігі. ESB SOA жүзеге асырылатын платформа ретінде пайдаланылуы мүмкін.
SOA дегеніміз не?
SOA (Қызмет көрсетуге бағытталған архитектура) - қызметтерді дамыту және біріктіру үшін пайдаланылатын архитектуралық тұжырымдамалар жиынтығы. SOA тұтынушылар өзара әрекеттесетін қызметтер жиынтығын тұтынатын бөлінген есептеулермен айналысады. Бірнеше тұтынушы бір қызметті пайдалана алады және керісінше. Сондықтан SOA жиі әртүрлі платформаларды пайдаланатын бірнеше қолданбаларды біріктіру үшін қолданылады. SOA дұрыс жұмыс істеуі үшін қызметтер операциялық жүйелермен және негізгі қолданбалардың технологияларымен еркін байланыста болуы керек. SOA әзірлеушілері функционалдық бірліктерді пайдаланып қызметтерді жасайды және оларды интернет арқылы қолжетімді етеді. SOA архитектурасын жүзеге асыру үшін веб-қызметтерді пайдалануға болады. Бұл жағдайда веб-қызметтер интернет арқылы қол жетімді SOA функционалдық бірліктеріне айналады. Веб-қызметтерді кез келген адам платформаларға немесе оларды әзірлеу үшін қолданылатын бағдарламалау тілдеріне алаңдамай пайдалана алады. SOA тікелей қызметке бағдарлану принципіне негізделген, ол қарапайым интерфейсі бар қызметтер туралы айтады, оған пайдаланушылар қызметтің нақты платформасын іске асыруына алаңдамай-ақ қол жеткізе алады.
ESB дегеніміз не?
ESB (Enterprise Service Bus) – күрделі архитектуралар үшін негізгі қызметтерді қамтамасыз ету үшін бағдарламалық жасақтаманың архитектуралық құрылымын ұсынатын инфрақұрылымдық бағдарламалық құралдың бөлігі. Бірақ ESB-ны архитектуралық стиль немесе бағдарламалық өнім немесе тіпті өнімдер тобы деп атауға қатысты айтарлықтай аргумент бар. Ол қызметтерді оқиғаларға негізделген және хабар алмасуға арналған стандарттарға негізделген қозғалтқыш арқылы қамтамасыз етеді (бұл шын мәнінде қызмет көрсету автобусы). Осы хабар алмасу механизмінің үстінде сәулетшілерге нақты кодты жазбай-ақ автобус ұсынатын нысандарды пайдалануға мүмкіндік беретін абстракция қабаты қарастырылған. ESB әдетте стандарттарға негізделген аралық бағдарламалық құрал инфрақұрылымдары арқылы жүзеге асырылады.
ESB-де «шина» терминінің қолданылуы ESB физикалық компьютерлік шинаға өте ұқсас функцияны қамтамасыз ететінімен байланысты, бірақ абстракцияның әлдеқайда жоғары деңгейінде. ESB болуының негізгі артықшылықтарының бірі - байланыс нүктелерінің санын азайту мүмкіндігі; осылайша өзгерістерге бейімделуді әлдеқайда жеңілдетеді. ESB SOA жүзеге асырылатын платформа ретінде пайдаланылуы мүмкін. Трансформация/маршруттау (ағынмен байланысты) ұғымдарын ESB арқылы SOA-ға келтіруге болады. Сонымен қатар, соңғы нүктелер үшін абстракцияны (SOA-да) дәлелдеу арқылы ESB қызметтер арасындағы бос байланысқа ықпал етеді.
SOA мен ESB арасындағы айырмашылық неде?
SOA мен ESB арасында кейбір негізгі айырмашылықтар бар. SOA - еркін байланысқан қызметке негізделген қолданбаларды енгізуге арналған архитектуралық үлгі. ESB – әзірлеушілерге қызметтерді әзірлеуге және сәйкес API арқылы қызметтер арасында байланысуға көмектесетін инфрақұрылымдық бағдарламалық құралдың бір бөлігі. ESB SOA жүзеге асырылатын платформа ретінде пайдаланылуы мүмкін. ESB тек қызметтер ағыны арқылы өтетін орта болып табылады. ESB қызметтерді құру және орналастыру үшін мүмкіндіктер ұсынады, олар өз кезегінде SOA іске асырады.