Кіріспе

Бағдарламалық жасақтама архитектурасының моделі Оқиғаға негізделген архитектура (ОДА) - оқиғаларды шығару мен анықтау туралы бағдарламалық жасақтама архитектурасының парадигмасы.

Шолу

Оқиғаны "мемлекеттегі елеулі өзгеріс" деп анықтауға болады. Мысалы, тұтынушы көлік сатып алса, оның жағдайы "сатуда" дегеннен "сатылған" деп ауысады. Автосаудагердің жүйелік архитектурасы осы күйдің өзгеруін архитектурадағы басқа қолданбаларға белгілі болатын оқиға ретінде қарауы мүмкін. Формальды тұрғыдан алғанда, шығарылған, жарияланған, таратылған, анықталған немесе тұтынылған нәрсе оқиға хабарламасы деп аталатын (әдетте асинхронды) хабарлама болып табылады, ал оқиғаның өзі емес, бұл хабарламаның шығарылуын бастаған жай-күйдің өзгеруі. Оқиғалар сапарға шықпайды, олар жай ғана пайда болады. Алайда, оқиға термині көбінесе хабарлама хабарламасының өзін көрсету үшін метаномикалық түрде қолданылады, бұл кейбір шатастыруға әкелуі мүмкін. Бұл оқиғаға негізделген архитектуралардың жиі хабарламаға негізделген архитектуралардың үстінде жасалуымен байланысты, онда мұндай байланыс үлгісі тек мәтіннің, хабарламаның, әрбір байланыстың қалай жұмыс істеу керектігін ажырату үшін кірулердің біреуін талап етеді. Бұл архитектуралық үлгі, оқиғаларды еркін байланысты бағдарламалық компоненттер мен қызметтер арасында беретін қолданбалар мен жүйелерді жобалау мен іске асыру арқылы қолданылуы мүмкін. Оқиғаға негізделген жүйе әдетте оқиға эмитенттерінен (немесе агенттерден), оқиға тұтынушыларынан (немесе тұндырғыштардан) және оқиға арналарынан тұрады. Эмитерлер оқиғаларды анықтау, жинау және беру міндетіне ие. Іс-шараның Эмитенті оқиғаның тұтынушыларын білмейді, тіпті тұтынушы бар екенін де білмейді, егер ол бар болса, оқиғаның қалай пайдаланылатынын немесе одан әрі өңделетінін білмейді. Сынктардың оқиға пайда болған кезде бірден реакция қолдану жауапкершілігі бар. Реакцияны раковинаның өзі толық қамтамасыз етуі мүмкін немесе болмауы мүмкін. Мысалы, себезгі оқиғаны сүзгілеу, түрлендіру және басқа компонентке жіберу үшін жауапты болуы мүмкін немесе ол осындай оқиғаға өзіндік реакция беруі мүмкін. Оқиға арналары - оқиғалардың оқиға таратушылардан оқиға тұтынушыларына жіберілетін арналар. Оқиғалардың дұрыс таралуы туралы білім тек оқиға арнасында ғана болады. Оқиға арналарын физикалық іске асыру хабарға бағдарланған орталық бағдарлама немесе нүктеден нүктеге байланысты байланыс сияқты дәстүрлі компоненттерге негізделуі мүмкін, бұл орынды болуы мүмкін Оқиғаға бағдарланған архитектураның айналасында жүйелер құру үлестірілген есептеу модельдеріндегі көлденең масштабталуды жеңілдетеді және оларды сәтсіздікке төзімді етеді. Себебі, жоғары қол жетімділік үшін қосымшаның жай-күйін бірнеше қатарлы снэпшоттар арқылы көшіруге болады. Жаңа оқиғаларды кез келген жерден бастауға болады, бірақ ең бастысы, олар келген сайын жаңартылатын деректер қоймаларының желісі арқылы таралады. Қосымша түйіндерді қосу да қарапайым болады: сіз тек қолданбаның жай-күйінің көшірмесін алып, оны оқиғалар ағынымен қамтамасыз ете аласыз және онымен жұмыс істей аласыз. Оқиғаға негізделген архитектура қызметке бағдарланған архитектураны (SOA) толықтыра алады, өйткені қызметтер кіріс оқиғаларға қосылған триггерлермен іске қосылуы мүмкін. Бұл парадигма әсіресе, SOA 2.0-ге сәйкес келмейтін кез-келген жағдайда, SOA және EDA архитектуралары бұрын белгісіз себепті қатынастарды пайдаланып, жаңа оқиға үлгісін қалыптастыру арқылы бай, мықты деңгейге жеткізеді. Бұл жаңа бизнес-аналитика үлгісі адам немесе автоматтандырылған өңдеуді іске асырады, ол бұрын қол жеткізілмейтін танылған үлгіге қосылған құнды ақпаратты енгізу арқылы кәсіпорынға экспоненциалды құнды қосады.

Оқиғалар құрылымы

Оқиға екі бөліктен құралуы мүмкін, оқиғаның басы және оқиғаның денесі. Оқиғаның басында оқиғаның атауы, оқиғаның уақыт белгісі және оқиғаның түрі сияқты ақпарат болуы мүмкін. Оқиғалар органы анықталған күйдің өзгеруін толық көрсетеді. Оқиғаның өзін оқиғаның пайда болуына реакция ретінде қолдануға болатын үлгімен немесе логикамен шатастыруға болмайды.

Оқиға ағыны қабаттары

Оқиғаға негізделген архитектура төрт логикалық қабатқа құрылуы мүмкін, ол оқиғаның (яғни маңызды уақытша жағдайдың немесе фактінің) сезімталуынан басталады, оқиға құрылымы түрінде оның техникалық бейнеленуі құрылады және осы оқиғаға реакциялардың бос емес жиынтығымен аяқталады.

Жай оқиғаларды өңдеу

Жай оқиғаларды өңдеу жағдайдың нақты, өлшенетін өзгерістеріне тікелей байланысты оқиғаларға қатысты. Қарапайым оқиғаларды өңдеуде төменгі ағыстағы әрекетті бастайтын байқалатын оқиға болады. Қарапайым оқиғаларды өңдеу жұмыстың нақты уақытты ағынын басқару үшін жиі қолданылады, осылайша артта қалу уақыты мен шығынын азайтады. OLEP әртүрлі жүйелердегі күрделі сценарийдің байланысты оқиғаларын сенімді түрде құрастыруға мүмкіндік береді. Осылайша ол жоғары масштабталуымен өте икемді тарату үлгілерін қамтамасыз етеді және мықты сәйкестікті ұсынады. Алайда, ол өңдеу уақытының жоғарғы шегін кепілдік бере алмайды.

Өте еріген жанасу және жақсы таралған

Оқиғаға негізделген архитектура өте еркін біріктіріледі және жақсы таралады. Бұл архитектураның кең таралуының себебі - оқиға кез келген нәрсеге айналуы мүмкін және кез келген жерде болуы мүмкін. Архитектура өте еркін байланысты, себебі оқиғаның өзі себептерінің салдарын білмейді. Мысалы, егер есіктің ашылуы туралы ақпаратты тіркейтін сигнализация жүйесі болса, есіктің өзі есіктің ашылуы туралы ақпаратты қосып беретінін білмейді, тек есіктің ашылғанын біледі.

Мақалалар

EDA мен SOA арасындағы айырмашылықтарды анықтайтын мақала: EDA SOA-ны қалай кеңейтеді және неге ол маңызды Джек ван Хоф. SOA-да ағып жатқан бизнес оқиғаларының нақты мысалы: SOA, EDA және CEP Udi Dahan-дың жеңімпаз комбинациясы. Оқиға деректері туралы түсінікті сипаттайтын мақала: Хакерлер үшін аналитикалық, Мишель Ветцлердің оқиға деректері туралы қалай ойлау керек. (Веб-архив)