2.2 Сервистік-бағытталған бағдарламаларды модельдеу әдістемесі
Боялған Петри желілері. Петри желілерінің теориясы - Петри желілерін іргелі түрде кеңейту - профессор Курста Дженсеннің [http://www.daimi.au.dk] басшылығымен Орхус университетінің (Дания) жұмыс тобы әзірлейді. Бұл топ боялған желілерді әзірлеу, талдау және моделдеу үшін арналған CPN Tools құралын әзірледі. Сонымен бірге, негізгі модель әзірленді, соның ішінде деректер мен иерархиялық құрылымдарды пайдалану, динамикалық қасиеттер туралы түсініктер анықталды, талдау әдістерінің теориясы әзірленді.CPN Tools құралдары құралы арнайы тіл (CPN ML) және бөлінген жүйелерде жұмыс істейтін үрдістер модельдерін жобалау және моделдеу үшін арнайы графикалық белгілерді қамтиды. Үрдістің ағынын көрсету үшін графикалық конструкциялар пайдаланылады және қажетті деректерді қайта жасау үшін арнайы тілдік құрылымдар қолданылады. Желі - екі шыңдар түрі бар бағдарланған бағдар: позициялар мен өтулер: эллипспен белгіленген позициялар жиынтығы жүйенің жай-күйін сипаттайды; тіктөртбұрыштармен белгіленген ауысулар, өзгеру жағдайларын сипаттайды. Позициялар доғасының бағыты өтуді көрсетсе, белгілі бір өтпелі кезеңге кіру деп аталады. Егер доғалар ұстанымға өтуге әкелсе, позициялар көшіруге арналған деп аталады.Петри желілерінен айырмашылығы, деректерді теру түсті желілерде маңызды рөл атқарады. «Түс» деректер түрін анықтайды: түсті желінің әрбір орны белгілі бір «түс» бар, яғни ол тек бір түрдегі деректерге ие. Сондай-ақ Петри желісі боялған таңбалау желісінде үрдістердің динамикасын көрсету үшін позицияларда орналастырылатын арнайы «фишкалар» арқылы жүзеге асырылады тұжырымдамасын таныстырды. Орналасуы осы позицияны конфигурациялаған түрдің әрбір «фишка» тіркелген деректеріне бірнеше
«фишкалар» болуы мүмкін. «Фишкалар» декоративті түрде, бастапқы белгілеу кезінде немесе осы позицияны шығару үшін көшуді іске асыру нәтижесінде орын алады.Желі асинхронды жүйе ретінде жұмыс істейді, онда «фишкалар»
«іске қосу» ауысуының нәтижесі бойынша позицияларда қозғалады. Егер барлық кем дегенде бір чиптің бар болуы және логикалық өтпелі күйі орындалған болса, өтпелі «әрбір» өзінің «меншікті» шығу позицияларына
«фишканы» орналастыру арқылы жұмыс істей алады.Арқалықтар, жалпы алғанда, айнымалылардан, тұрақты және функциядан тұратын өрнектермен жүктеледі. Бұл өрнектер көшу орын алғаннан кейін шығу күйіне түсетін
«фишкаға» қосылған деректерді генерациялау үшін пайдаланылады: өрнекпен алынған деректер түрі позицияның деректер түріне («түс») сәйкес болуы керек.Бөлінген жүйелердегі үрдістерді уақыт бойынша өңдеуге байланысты, уақыт бойынша үрдістің дамуын ескере отырып, ғаламдық уақыттың
«механизмі» желіге енгізіледі, оған арнайы «маркалар» «чиптерге» қосылады. Уақытша мөртабан «чиптер» - бастапқы таңбалауда берілген және өтулерде немесе доғалардағы өрнек арқылы көбейтілетін нөмір. «Чип» егер оның мөрі жаһандық уақыт есептегішінің мәнінен азырақ болса, оны ауыстыруды белсендіре алады. Бұл есептегіш ешқандай желілік көшуге рұқсат етілмеген жағдайда оның мәнін арттырады. Уақыт бойынша үрдістің дамуын ескере отырып, модельдеу, модельді Петри желісі түрінде айтарлықтай қиындатады, оны оны имитациялық модельдерге жақындатады.
Қорытындылай келе, Петри-түсті желілер тек асинхронды жүйелердегі ақпаратты моделдеу және үрдістерді терді модельдеу үшін ғана қолданылады.
Веб-сервис композицияларын модельдеу. Боялған желілерді пайдалану арқылы клиенттің өзара әрекеттесуінің және қызмет көрсетуінің нәзік ерекшеліктерін модельдеуге болады. Интернеттегі қызмет көрсету үлгісінің түсті желі түрінде ең көп жалпы көрінісі сурет. 2.8 [10].
2.8 суретте клиенттің SOAP хаттамалын пайдаланып қызметпен байланысатындығын көрсетеді. Бұл хаттама желі арқылы ақпарат беру жолын анықтамайды, бірақ хабарларды беруді және оларды дұрыс өңдеуді қамтамасыз ететін құрал болып табылады. Осыған байланысты оны адресатқа жеткізгенде хабарламаның мәтінін жасыратын әдеттегі пошта конвертімен салыстыруға болады. SOAP спецификациясы қашықтағы процедураларға қоңырау шалу үшін пайдаланылатын сұрау-жауап хабар алмасуын қолдайды. SOAP хабарламалары әртүрлі тасымалдау хаттамалары арқылы жіберілуі мүмкін, бірақ HTTP хаттамасы жиі пайдаланылады.
Сурет 2.8 - Желілік қызметтің боялған желімен жалпы көрінісі
HTTP - күйді қолдамайтын хаттама. Бұл дегеніміз, веб-сервис клиентке сұрауды орындағаннан кейін бірден «ұмытпайды» дегенді білдіреді. веб- қызметіне қатынасу әрқашан белгілі бір әдіспен (WSDL әрекеттері) орын алады, сондықтан сұрауды модельдеу кезінде веб-сервисті келесі желімен ұсынуға болады (сурет 2.9).
Сурет 2.9 - Сұраныстарды боялған желісімен өңдеу
2.10 сурет веб-қызметке қол жеткізу үрдісін толықтай көрсетеді. Атап айтқанда, ол орын алуы мүмкін сәтсіз орындарды көрсетеді. Суреттен S0AP- хабарламасын талдау барысында немесе бизнес логикасын білдіретін әдіс барысында ақаулық пайда болуы мүмкін.
Нақты модельде клиент пен веб-қызмет көрсету көрсетіледі. Статикалық және динамикалық байланыстыру ажыратылады. Клиент белгілі бір URL үшін тікелей веб-қызметіне қосылады және оның рөлі кәсіпорынның сервистік шинасымен жүзеге асырылуы мүмкін белгілі бір аралық құрамдасқа арналған динамикалық сілтеме үшін болады. Бұл жағдайда қоңырауды бірнеше нақты функционалды түрде бірдей қызметтердің URL мекенжайын қосуға болатын URI идентификаторы жүзеге асырады және олардың біреуі байланыстырады.
Клиенттің статистикалық байланысы және веб-сервис табиғи және жергілікті жүйелерде, ең алдымен және орынды. Клиенттің статикалық байланысы мен веб-қызметті модельдейтін түсті желі (сурет 2.10).
Сурет 2.10- Клиенттің статистикалық байланысы мен веб-қызметті моделдеу желісі
Сұраныстың жоғалуы желіде немесе веб-қызметінде орын алады. Қызметтің түрлі QoS сипаттамаларын есептеуге болады. Демек, сұраудың санын бөліп тұратын жалпы модельдеу уақыты веб-сервис арқылы сұраудың орташа өңдеу уақытын береді. Сонымен қатар өңделмейтін сұраулардың пайызын есептеуге болады.
Бірдей веб-сервис бірнеше серверлерде орналастырылғанда, яғни әртүрлі URL-мекенжайлар арқылы қол жеткізуге болады, егер бұл мекенжайлар белгілі болса, клиент жұмыс барысында веб-қызметіне қайта бағытталуы мүмкін. Бұл клиентті веб-қызметке динамикалық байланыстырудың қарапайым іске асырылуы болады. Мәселе, егер бұл бар болса, нақты URL мекенжайында орналасқан веб-қызметтің QoS сипаттамаларына назар аударуыңызға қарамастан, бұл қайта бағыттау соқырлармен жасалады. Бұл сипаттамалар клиенттің және веб-қызметтің өзара әрекеттесуінің ағымдағы жұмыс ортасынан айтарлықтай ерекшеленуі мүмкін орташаланған статикалық ортаны білдіреді.
Дегенмен, клиентке мұндай талдауды қою техникалық сауатсыз.
Көптеген зерттеушілер веб қызметтері жұмыс істейтін операциялық ортаны үздіксіз бақылауды ұйымдастыруға бейім. Біз бұл қызметті веб-сервис пен клиент арасында делдал деп атаймыз. Медиатор веб-қызметтердің жергілікті тізілімінің функцияларын орындайды және пайдалану ортасын бақылауға тиіс. Делдалдың жұмысының басты ерекшелігі, ол клиент пен веб-
сервис арасындағы өзара әрекеттесу үрдісінде әрдайым қатысады және осы өзара әрекеттесудің жай-күйі туралы дереу хабарланады. Корпоративтік ақпарат жүйелерінде осындай делдалдың рөлі қызметтік шина (ESB) арқылы орындалады.
Диссертациялық зерттеуде медиатордың клиенттің және сервердің өзара іс-қимылына қосылуының екі нұсқасы бейнеленеді. Бірінші нұсқада барлық өзара әрекеттесуді делдал жүзеге асырады: клиент оны сұрайды және жауап алады. Екінші нұсқада, сұрауға жауап ретінде делдал веб-қызметтің URL- мекенжайын клиенттің тапсырмаларын орындау үшін қолайлы болып табылатынын клиентке жібереді.
Компьютерлік тәжірибеде шынымен жұмыс істейтін бағдарламалар көбінесе веб-қызметке тікелей байланыссыз, яғни әртүрлі қайта өңдеуді жүзеге асыратын делдалдар арқылы, деректер пішімдерін салыстыру және т.б. байланысты болады. Клиент пен веб-сервис арасындағы медиатор сұранысты орындау үшін тиісті қызметті таңдай алады, функционалдығымен бірдей, бірақ әртүрлі QoS сипаттамаларына ие бірнеше қызметтерге қол жеткізе алады. Медиатор сұрауды орындау үдерісін қадағалай алады, егер қажет болса, қызметтің басқа іске асырылуына ауыса алады.
WSDL бастапқы кодының негізінде жасалатын веб-қызметтерді дамытудың кең таралған тәжірибесі іс жүзінде функционалды түрде бірдей қызметтер үшін әртүрлі WSDL-ке әкелуі мүмкін. Бұл жағдайда, делдал осы қызметтерді кейбір стандартты интерфейске келтіру бойынша жұмыстарды орындай алады және бір уақытта операциялық ортаны бақылау функцияларына ие болса, онда клиент шынымен веб-сервистің динамикалық байланысына ие болады. Суретте 2.12 динамикалық байланыстың осы нұсқасын бейнелейтін Петри торын ұсынады.
Клиент нақты веб-қызметке URL көрсетпестен делдалға сұраныс жібереді және нақты «әлемдік» веб-сервистердің URL мекенжайы делдалдың деректер базасында сақталады және «жауап» ғана болатын кейбір «семантикалық» кодты көрсетеді. Одан әрі қарай жұмыс жасырылған. Мұндай ұйымның айрықша жағы - бұл барлық өзара әрекеттер делдал арқылы жүзеге асырылады және клиент процестің мәртебесін сұрата алады.
Сурет 2.11 - URL мекен-жайын алмай клиент пен веб-қызметті қосу
Екінші нұсқада, делдалдық URLveb клиенттерге қызмет көрсету, ағымдағы операциялық ортада ең қолайлы қайтарады. Осы нұсқада клиент веб-сервермен байланыс орнату үшін барлық жұмыстарды алады. Бұл өзара әрекеттесу нұсқасының моделі күріш. 2.13.
Осылайша, автоматтандырылған өндіріс үшін қарастырылған АИВ модельдеудің екінші нұсқасы неғұрлым қолайлы.
Ұсынылған өте қарапайым модельдерден көріп отырғандай, клиенттің және веб-сервистің динамикалық байланыстыру қызметтерін пайдаланудың барлық статикалық архитектурасын күрделі жөндеуді қажет етеді. Егер ол іс жүзінде болса және қолданылатын болса, онда, шамасы, статикалық және динамикалық нұсқамен үйлескенде көрінеді.
Сурет 2.12 - URL-ды алу арқылы клиентті және веб-қызметті байланыстыру
Модельді тұрғызу, ең алдымен, әзірлеуші мен тапсырыс берушінің арасында өзара түсінушілікті қамтамасыз етуге ықпал етеді. Қосымшаны әзірлеуші мамандар мен тапсырыс беруші арасында әрдайым екі жақтың даму міндеттерін қалыптастыру процесінде еңсеруге тура келетін тұжырымдамалық тосқауыл болады. Диссертациялық жұмыстың авторы үшін қазақ тілінде диссертацияда ұсынылған нақты қосымшаларды әзірлеу кезінде тілдік кедергі болды.
Нақтырақ айтар болсақ, автордың жасаған бірнеше үлгілерінің нұсқаларын талқылау кезінде, әзірлеуші мен тапсырыс беруші бірдей түсініп, даму тапсырмасын тұжырымдау мүмкін болды.
Бұл бөлімнің басында берілген объектілер жиынтығы ретінде берілген Петри анықтамасы және олардың арасындағы қатынастар оның графикалық ұсынысымен байланысты емес. Осы пішіндегі желімен жұмыс істеу аналитикалық, атап айтқанда, алгебралық әдістерді пайдалануды қамтиды және автордың пікірі бойынша қажетті нәтиже береді. Әрине, бұл ұсыныс пайдалы нәтиже береді, мысалы, қол жетімділік ағашын құру алгоритмі (2.8-сурет), бірақ нақты жұмыс үшін желінің графикалық көрінісі өте маңызды. Бұл фишкаларды қозғалысқа келтіру мүмкіндігімен қатар, соңғы нәтижеге - көптеген өзгерістердің құнын барынша азайта отырып түпкілікті қолдануды құруға үлкен үлес қосады. Нақты қосымшалардың көлесі өте үлкен, сондықтан оларды моделдеу композиции и декомпозицияны қажет етеді.
Петри торларының маңызды бөлігі - олардың бөліктерін зерттеу мүмкіндігі болып табылады. Бастапқы желі әрбір фрагментке бөлінеді, олардың әрқайсысы өздігінен зерттеледі, содан кейін бүкіл тораптың қасиеттері талданады, онда әрбір фрагмент бөлек көшу немесе позициямен ауыстырылады. Тәжірибе көрсетіп отырғандай, тергеудегі үзінділер тым көп болмауы керек. Әрбір фрагменттің бір экрандан тыс шықпайтын желісі ұсынылғаны жөн.
Диссертациялық зерттеулерде қолданылатын құрал CPN Tools- ның иерархиялық түсті желілерді құруға мүмкіндік береді [57], бірнеше құрамдас ретінде, сонымен қатар «беттерде» ұйымдастырылған иерархиялық желілер. Нәтижесінде - парақ шыңдары, тек стандартты позициялар мен өтулерді қамтитын бет иерархиясы болады. Иерархиялық желінің мінез-құлқы барлық модульдерді оларды білдіретін беттермен ауыстыру арқылы алынған иерархиялық емес желінің мінезіне тең. Бұл жағдайда әрбір модуль өз доғаларымен бірге парақтан алынады және оның ішкі желісі оның орнына орналастырылады.
Бағдарламаны иерархиялық түстік желі түрінде модельдеу бір бетінен екіншісіне ауысуымен байланысты, нақты түсінікке ықпал етпейтін неғұрлым нақты фрагментті анықтайды. Бұл модель отладталған кезде белгілі бір сандар циклі үшін немесе белгілі бір статистикалық сипаттамаларды алу үшін бір уақытта басталады [81].
Желіні құрастыру сатысында автономды фрагменттерді құрастыру және оларды дербес зерттеу. Бұл WDSL операциялары ішкі енгізулерді толығымен инкапсуллайтын веб-қызметтерді құрудың бүкіл идеологиясы арқылы жеңілдетіледі.
Достарыңызбен бөлісу: |