Кіріспе

Бағдарламалық архитектура немесе кәсіпордық архитектура саласындағы эталондық архитектура белгілі бір сала үшін архитектураның үлгілік шешімін ұсынады. Ол іске асыруларды талқылау үшін ортақ терминологияны да қамтамасыз етеді, көбінесе ортақтықты күшейту мақсатында. Бағдарламалық жасақтаманың эталондық архитектурасы – бұл бағдарламалық жасақтаманың архитектурасы, онда құрылымдар мен тиісті элементтер мен қатынастар белгілі бір сала немесе бағдарламалық жүйелер отбасы үшін нақты архитектуралардың үлгілерін ұсынады. Эталондық архитектураны іске асыру – фреймворк немесе қолданба платформасы деп аталады. Эталондық архитектура көбінесе функциялар тізімінен, олардың интерфейстерінен (немесе API-ларынан) және бір-бірімен, сондай-ақ эталондық архитектура шегінен тыс орналасқан функциялармен өзара әрекеттесу сипаттамасынан тұрады. Эталондық архитектуралар әртүрлі абстракция деңгейлерінде анықталуы мүмкін. Жоғары абстракциялы архитектурада байланыс желісіндегі әртүрлі жабдықтар көрсетілуі мүмкін, олардың әрқайсысы әртүрлі функцияларды атқарады. Төменгі деңгейдегі архитектурада компьютерлік бағдарламадағы процедуралардың (немесе әдістердің) өзара әрекеттесуі көрсетілуі мүмкін, ол өте нақты міндетті орындау үшін анықталған. Эталондық архитектура шешімдер жиынтығын жалпылауға негізделген үлгі ұсынады. Бұл шешімдер бірнеше сәтті іске асырылғанда байқалған үлгілер жиынтығын жинау арқылы құрылымдалған және жалпыланған бір немесе бірнеше архитектуралық құрылымдарды бейнелеуге мүмкіндік береді. Сонымен қатар, бұл бөліктерді бір шешімге қалай біріктіру керектігі көрсетіледі. Эталондық архитектуралар белгілі бір салаға немесе нақты жобаларға бейімделеді. Ұйымда эталондық архитектураны қабылдау тиімді шешімді қайта пайдалану арқылы жұмысты жылдамдатады және ұйым ішінде технологияны қолданудың тұрақтылығы мен тиімділігін қамтамасыз ету үшін басқаруға негіз болады. Бағдарламалық архитектура саласындағы көптеген эмпирикалық зерттеулер бағдарламалық жасақтаманың эталондық архитектурасын ұйымдарда қолданудың келесідей жалпы артықшылықтары мен кемшіліктерін көрсетті: (а) стандартты шешім мен ақпарат алмасудың ортақ механизмдерін құру арқылы бағдарламалық жүйелердің өзара үйлесімділігін жақсарту; (б) ортақ активтерді қайта пайдалану арқылы бағдарламалық жобаларды әзірлеу шығындарын азайту; (в) мүдделі тараптардың бірдей архитектуралық көзқарасты бөлісуіне байланысты ұйым ішіндегі коммуникацияны жақсарту; және (г) оның мүмкіндіктерін оқып үйрену қажеттілігіне байланысты әзірлеушілердің оқу қисығына әсер ету.