Кіріспе

Қолданыстағы (мұражайлық) бағдарламалық қамтамасыздардың тікелей қатысуымен жаңа бағдарламалық жүйелерді енгізу.

Браунфилд дамуы – ақпараттық технология саласында қолданыстағы (мұражайлық) бағдарламалық қолданбалар/жүйелердің тікелей қатысуымен жаңа бағдарламалық жүйелерді әзірлеу және енгізуді талап ететін мәселелерді сипаттау үшін жиі қолданылатын термин. Бұл жаңа бағдарламалық архитектура кез келген жаңа бағдарламалық архитектура қолданыстағы бағдарламалық қамтамасыздармен есептесіп, олармен қатар жұмыс істеуі керек екенін білдіреді. Қазіргі заманғы азаматтық инженерияда "қоңыр жер" дегеніміз – қауіпті заттың, ластағыш немесе зиянды заттың болуы немесе болу мүмкіндігі салдарынан кеңейтуі, қайта құруы немесе қайта пайдалануы қиын мүлік. Браунфилд дамуы дәстүрлі бағдарламалық инженерия тәжірибесіне бірнеше жақсартулар енгізеді. Дәстүрлі тәсілдер бағдарламалық жасақтаманы әзірлеудің жобалау және іске асыру кезеңдерінде "таза парақ", "tabula rasa" немесе "жасыл жер" сияқты бастапқы ортаны қарастырады. Браунфилд осындай дәстүрлерді кеңейте отырып, құрылып жатқан жүйенің контекстін (жергілікті ортасын) кез келген даму жұмысына ескеруді талап етеді. Бұл құрылып жатқан шешімге жақын орналасқан жүйелер, қызметтер және деректер туралы толыққанды білімді қажет етеді.

Қоршаған ортаның күрделілігін шешу

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

Ортаның күрделілігі көбінесе ескі кодта көрінеді. Мұрағатталған білім мен тәжірибе жетіспеуі техникалық қолдау және интеграциялау шығындарын арттырады. Қазіргі күрделі ортаны бизнес процестеріне сәйкес келетін кезеңдерде қайта құру қажет. Бұл кезеңдер көбінесе жүйелерді толығымен ауыстыруға баса назар аударады, себебі қолданыстағы күрделілікті түсінбеу, ұсынылатын шағын өзгерістерді түсіну және жүзеге асыру қиынға соғады. Жеделдетілген әзірлеу әдістері кәсіпорындарды қазіргі заманғы мұралық жүйелермен қалдырды. Күрделі Java және .NET қолданбаларында COBOL қолданбаларындағы сияқты көптеген мәселелер бар. Нәтижесінде, жаңа бизнес мүмкіндіктерін дамытуға жұмсалатын күш-жігердің үлкен бөлігі құндылықты жеткізудің орнына, қазіргі күрделі жүйемен және бизнес-ортамен интеграциялауға және оны түсінуге жұмсалады. Қазіргі таңда жобаның жалпы күш-жігерінің 75%-ы жаңа функционалдыққа емес, бағдарламалық жасақтаманы интеграциялауға және көшіруге жұмсалады. IT индустриясы клиенттері үшін мұндай ауқымды өзгерістерді табысты жүзеге асыруда нашар нәтижелерге ие. Standish Group CHAOS зерттеуі соңғы жиырма жылда IT жобаларын жүзеге асырудағы табыстың жалпы жақсарғанын көрсетті, бірақ тіпті 2006 жылы да IT жобалары табысқа жеткеннен гөрі көбірек сәтсіздікке ұшырады. Мұндай ортада инженерлік өзгерістерді жүзеге асыру құрылыс индустриясының өнеркәсіптік немесе ластанған жерлерді қайта дамыту мәселесімен көптеген ұқсастықтарға ие. Олар қауіп-қатерге толы, күтілмеген күрделіліктерге толы, оларды қайта құру тәуекелді және қымбатқа соғады. IT орталарының жинақталған күрделілігі оларды "қоңыр дала" (Brownfield) учаскелеріне айналдырды. Үлкен жобалардың сәтсіздігінің түпкі себебі жаңа функцияның күрделілігі немесе жаңа жүйелік сипаттамалары емес – бұл біздің жалпы талаптарды түсінуіміз және оларды жеткізуіміз (The Mythical Man Month кітабында көрсетілгендей). Сәтті болу үшін талаптарға қолданыстағы бизнес пен IT-ның шектеулерін нақты және толық түсіну кіруі керек. Қазіргі "жасыл дала" (Greenfield) құралдары мен әдістері ерте, бейресми және көбінесе дәл емес абстракцияларды қолданады, олар мұндай күрделілікті елемеді. Ертерек, нашар ақпараттандырылған абстракциялар көбінесе қате болады және көбінесе құрылыс кезінде кеш анықталады, нәтижесінде кешіктірулер, қымбат қайта өңдеулер және тіпті сәтсіз дамулар болады. "Қоңыр далаға" бағдарланған тәсіл қолданыстағы күрделілікті қабылдайды және мүмкіндігінше кезеңді, шағын өзгерістерді жүзеге асыруды қамти отырып, жалпы шешімді жасау процесін сенімді түрде жеделдету үшін қолданылады. Brownfield стандартты OMG модельдік/үлгіге негізделген әдісті қолданады және оны кері айналдырады. Тұжырымдамалық модельден бастау және платформаға арналған модельдер мен кодты құруға дейін төмендеудің дәстүрлі әдісін қолданудың орнына, Brownfield кодты және басқа да қолданыстағы артефакттарды жинаудан бастайды және архитектура мен бизнес деңгейіне қарай жоғары қарай формалды түрде абстракциялауға арналған үлгілерді қолданады. Содан кейін стандартты Greenfield әдістері таңдалған бизнес мақсатын анықтау үшін біріктіріледі. Бұл "орталықта кездесу" әдісі басқа даму әдістерінен таныс, бірақ формалды абстракцияны кеңінен қолдану және модельдерді табу мен өндіру үшін үлгілерді пайдалану жаңалық. Brownfield құралдарының барлық негізгі тұжырымдамалық архитектурасы VITA деп аталады. VITA – Көріністер, Инвентаризация, Трансформация және Артефакттар. VITA архитектурасында мақсатты кеңістіктің проблемалық анықтамасы көріністер деп аталатын жеке (бірақ байланысты) тума "білім" ретінде сақталуы мүмкін. Көріністің негізгі артықшылығы – ол кез келген ресми құралға негізделуі мүмкін. Brownfield проблемалық кеңістікке бір құрал немесе тілді таңдамайды – негізгі қағида, бұл "білім" өздерінің туған формалары мен құралдарында сақталады. Содан кейін жергілікті көріністер біріктіріліп, бір инвентаризацияға қосылады. Инвентаризация кейін шешімге қажетті артефакттарды өндіру үшін трансформациялау мүмкіндіктерінің сериясымен бірге қолданылады. Көріністерді қазіргі уақытта UML, XML көздері, DDL, электрондық кестелер және т.б. сияқты әртүрлі көздерден импорттауға болады. IBM-нің талдау және жаңарту катализаторы формалды грамматика мен абстрактілік синтаксис ағаштарын қолдану арқылы бұл мүмкіндікті одан әрі дамытты, бұл кез келген бағдарламаны көрініс ретінде инвентаризацияға қосу үшін талдауға және токендеуге мүмкіндік береді. Бұл тәсілдегі ашу, қайта құру, өндіру және сынау циклының жылдамдығы шешімдерді логикалық және физикалық анықтамалары тұрғысынан итеративті түрде жетілдіруге мүмкіндік береді, өйткені шектеулердің көбірек бөлігі белгілі болады және шешім архитектурасы жетілдіріледі. Итеративті Brownfield әзірлеуі логикалық және физикалық архитектураны біртіндеп жетілдіруге және жалпы тәсіл үшін шағын сынақтар жүргізуге мүмкіндік береді, нәтижесінде әзірлеу жеделдетеді, шешімнің сапасын жақсартады және кемшіліктерді арзан жоюға мүмкіндік береді. Brownfield шешімнің құжаттамасын жасау үшін де қолданылуы мүмкін, оның әртүрлі көзқарастар бойынша әрқашан жаңартылып және үйлесімді болуын қамтамасыз етеді. Brownfield процесі арқылы жасалған инвентаризация өте күрделі болуы мүмкін, өзара байланысты көп өлшемді семантикалық желі болып табылады. Инвентаризациядағы білім деңгейі өте егжей-тегжейлі, толық және өзара байланысты болуы мүмкін. Мұндай нәрселерді түсіну қиын және коммуникацияға кедеріл болуы мүмкін. Алайда, Brownfield осы мәселені шешеді, өнершінің ең жақсы болжамын қолдана отырып, түсініктерді абстракциялайды және инвентаризациядағы белгілі үлгілерді жоғары деңгейдегі қатынастарды табу және қорыту үшін пайдаланады. Формалды абстракциялар инвентаризацияның күрделілігін оны оны түсінуге мұқтаж адамдар үшін оңайрақ, бірақ дәл өкілдіктерге аударуға мүмкіндік береді. Бұл абстракцияланған инвентаризация модельдерін Second Life сияқты құралдарда көп қабатты архитектуралық өкілдіктерді автоматты түрде көрсету үшін пайдалануға болады. Мұндай визуализациялар күрделі ақпаратты бүкіл әлемнен келген бірнеше адамдармен нақты уақыт режимінде бөлісуге және сезінуге мүмкіндік береді. Бұл түсінікті жақсартады және біртұтас команда сезімін күшейтеді.