Алматы 2017 январь



Pdf көрінісі
бет22/92
Дата03.03.2017
өлшемі28,19 Mb.
#7549
1   ...   18   19   20   21   22   23   24   25   ...   92

 



 Техникалық ғылымдар 

 

ҚазҰТЗУ хабаршысы №1 2017                                          



135 

 

жоғарғы басшылығы әрекет түрінің басқа түрлеріне жауапкершіліктерге тәуелсіз орнатылған міндет-



тері бар арнайы басшылық өкілін тағайындауы керек, оның жауапкершіліктері мен құзыреттілігі бо-

луы керек: 

а) экологиялық менеджмент жүйесі әзірленіп, енгізіліп және осы халықаралық стандарттың та-

лаптарына сәйкес ұсталып тұруын қамтамасыз ету үшін; 

б)  жоғарғы  басшылыққа  талдау  жүргізу  үшін,  жақсарту  бойынша  нұсқаулықтармен  бірге  эко-

логиялық менеджмент жүйесінің қызмет етуі туралы есеп беруі керек. 

Ұйым  қоршаған  оратаға айтарлықтай  әсердің  себебі  болатын  ұйым  үшін  немесе  оның  атынан 

міндеттерді  орындайтын  кез  келген  тұлға  сәйкес  білімінің,  дайындығы  немесе  тәжірибесі  негізінде 

құзыретті болуы керек және осыған байланысты жазабаларды сақтап отыруы керек. Ұйым экология-

лық  көріністерімен  және  экологиялық  менеджмент  жүйесімен  байланысты  қызметкерлерді  дайын-

даудағы  қажеттіліктерді  анықтауы  керек.  Ол  қызметкердің  қажетті  дайындығын  ұйымдастыруы  не-

месе осы қажеттіліктерді қанағаттандыру үшін басқа шараларды қолдануы керек және осыған байла-

нысты жазабаларды сақтайды. Ұйымда немесе оның атынан жұмыс істейтін тұлғаларға ұйым:  

а)  экологиялық  саясатқа,  экологиялық  менеджмент  жүйелерінің  іс-шаралары  мен  талаптарына 

сәйкестігінің маңыздылығын; 

б) маңызды экологиялық көріністер және олармен байланысты осы тұлғалардың әрекетінен бо-

латын әсерлерді, сонымен бірге осы әрекеттерді жақсартқанда қоршаған ортаға келетін пайданы түсі-

нуге мүмкіндік беретін іс-шараларды әзірлеуі, енгізуі және өзекті жағдайда ұстап тұруы керек. 

 

ӘДЕБИЕТТЕР 



[1] StudFiles.ru›preview/2482066. 

[2] Международный   стандарт  ISO 14001:2004. Системы экологического  менеджмента. 

 

 

             Саргужина М.К., Лаврищев О.А., Нурмуханова А.З. 



Анализ  требований к системе экологического менеджмента  согласно ISO 14001:2004  

Резюме. В данной  статье  рассматривается Международная организация по стандартизации (ИСО), ко-

торая  является всемирной федерацией национальных органов по стандартам (органов-членов ИСО). 



Ключевые  слова: стандарт, международная организация, разработка, внедрение, контроль  продукции,  

испытание   контроль     и   безопасность   продукции. 



 

          Sargugina М.К., Lavrischev O.A., Nurmukhanova A.Z. 



Analysis of the requirements for the environmental management system ISO 14001:2004 

Summary: This article discusses the international organization for standardization (ISO), which is a worldwide 

Federation of national standards bodies (bodies-ISO members). 



Key words:  стандарт, международная организация, разработка, внедрение, контроль  продукции,  испы-

тание   контроль     и   безопасность   продукции. 

 

 

 



УДК 004.738.1:004.72 

 

Н.С. Қатаев, А.Б. Бақыт  

(Қазақ мемлекеттік қыздар педагогикалық университеті, Алматы,  

Қазақстан Республикасы, 4ernaya_angelo4ka@mail.ru) 

 

ВЕБ - СЕРВИС ТЕХНОЛОГИЯСЫН ЖАСАУ МЕХАНИЗМІНІҢ НЕГІЗДЕРІ 



 

Аннотация.  Берілген  мақалада  веб-сервис  технологиясын  жасау  механизмінің  негздері  қарастырылды.  

Бүгінгі таңда ғаламтордың өзі негiз болатын компьютер технологиялары өте тез қарқынмен дамып жатыр. Веб-

сервистер  бұл  архитектурада  орталық  орындардың  бiрiн  алады.  Сондықтан  компьютер  компаниялары  олардың 

жасалынатын консорциум  шеңберiнде  төменде  келтірілген  архитектураның  кең  енгiзуін  жақындататын  салалық 

стандарттар өндiрумен күш салып шұғылданса, онда университеттерде веб-сервистердің (динамикалық байланыс-

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

тырысады. Веб-сервистер өзара iс-қимылдарының негiзгі архитектурасында сервисті және сервис жабдықтаушы-

лар бағдарламаларды шақыратын бағдарламалардың арасындағы хабар алмасу сияқты анықталады.  



 



 Технические науки 

 

136                                                                                            



№1 2017 Вестник КазНИТУ 

 

Кілттік  сөздер:  Веб-сервис  технологиясы,  сервис  провайдері,  веб-сервис  архитектурасы,  сервис  регис-

трі, сервис жабдықтаушысы, сервис тұтынушысы, XML технологиялары. 

 

Веб-сервис технологиясы қосымшаларға жиналып тұрған платформаларға және де олар жазыл-



ған  программалау  тіліне  қарамастан,  бір-бірімен  өзара  байланыс  жасауға  мүмкіндік  береді.  Веб-

сервисте  операция  жиынын  сипаттайтын,  стандартталған  XML  хабарламалары  қашықтықтан  шақы-

рылатын праграммалық интерфейсі бар. Веб-сервистің әдеттегі веб-қосымшалардан айырмашылығы 

веб-сервистің пайдаланушылық интерфейсі жоқ болғандықтан, ол соңғы пайдаланушыға қызмет көр-

сетпейді.Оның басты міндеті веб-қосымша, мобильді немесе консольді қосымшалар секілді басқа қо-

сымшаларға қызмет көрсету. 

Сервис бағытталған веб-тің негiзі – веб-сервис болып табылады. Ол  ғаламтор арқылы бағдар-

ламалық шақырылған логикалық байланысқан функциялар жиыны болып табылады. Осы веб-сервис 

қандай  функцияларды  жеткiзiп  беретіні  туралы  ақпарат  WSDL  (Web  Service  Description  Language) 

құжатта  болады.Ал  бар  веб-сервистерді  iздеу  үшiн  UDDI  (Universal  Description,  Discovery  and 

Integration) спецификациясы негiзiнде құрылатын арнайы регистрлер қолданылады. 

Веб-сервис бұл бәріне ашық қызмет секілді URL  (Uniform Resource Locator) желілік адрес ар-

қылы анықталады. Оның интерфейсі және байланыстырылуы (binding)  XML құралдарымен анықта-

лады. Веб-сервистер XML-форматтағы хабарламаларды қолдана отырып, Интернет арқылы басқа қо-

сымшалармен  байланыста  болады.  Веб-сервис  өзара  iс-қимыл  хаттамасы  ретiнде  SOAP  хаттамасын 

сөзсiз  қолдануды  ғана  ойламайды,  сонымен  бiрге  интерфейстiң  сипаттамасы  ретiнде  WSDL  тілін 

сөзсiз  қолдануды  ойлайды.  Қазіргі  кезде  желiнiң  басқа  да  қызметтерi  бар.  Олар  деректерді  жіберу 

хаттамасы  ретiнде  HTTP  деңгейiн  және  өзара  байланысқан  XML-форматты  контентті  пайдаланады. 

Бірақ W3C веб-сервистер хаттамаларының стектері SOAP және WSDL негiзінде  салыну керек  деген 

көзқараста  тұр.  W3C  кепiлдемелері,    программалық  қамтама  өндiрушiлері  бұл  технологияларды 

меншiктi  iске  асыруларды  дайындайтындай  спецификацияларды  анықтайды.  Мысал  ретінде  Web 

Sphere  Application  Server  (IBM)-ді  келтіруге  болады.  Веб-сервистер  технологияларының  өндiруші 

компаниялары  өзіндік  iске  асырулардың  үйлесiмдiлiгіне  қол  жеткізуде.  Бұл  үйлесiмдiлiктiң  негiзі 

XML технологиясы стандарттарын қолдануға бiртiндеп бағыталу болып табылады. 

Веб-сервистердің  тұжырымдамасы  –  бұл  үлестiрiлген  ақпараттық  жүйелердiң  эксплуатациясы 

мен  құруына  арналған  жаңа  технологияның  тұжырымдамаcы.  Бұл  тұжырымдама  пайда  болғанға 

дейiн  бар  болған  CORBA    (OMG)  және  DCOM  (Microsoft)  жүйелер  түрлері  секілді  технологиялар,  

бiртектi емес  үлестiрiлген желiлерде  әр түрлi қосымшалардың үйлесiмдiлiгiн толық мәнде қамтама-

сыздандыра 

алмады. 


Электрондық 

бизнес 


үйлесiмдiлiкті 

қажет 


етеді, 

қосымшалардың 

үйлесiмдiлiгінсiз  электрондық бизнестi нарық  жетiле алмайды.  Сондықтан оның негiзін тұтынушы-

лары одан әрі құйыршықтана алмаған әртүрлi жабдықтаушылардың қызметі құрайды. Программалық 

қамтаманы  өндiрушi  жетекші  компаниялар  -    веб-сервистердің    технологиясын  ұсынды  және    оның 

дамуына WWW-консорциумда (W3C)  елеулi күштердi жұмсауда. 

Веб-сервистер технологиясының негізін құрайды: 

а) HTTP және/немесе SMTP коммуникационды Интернет-хаттамалары; 

ә) SOAP  хаттамасы (Simple Object Access Protocol) XML-форматтағы хабарламаларды жеткізу 

үшін; 


б) WSDL    тілі  (Web  Services  Definition  Language)  Веб-сервистер  интерфейсінің  сипаттамасы 

үшін. 


HTTP,  SOAP,  XML,  WSDL  –  бұлардан  басқа  веб-сервистер  технологиясына  қатысты  бірнеше 

аббревиатуралар  бар.  Негізінен,  тек  XML  технологиясы  ғана  күмән  келтірмейді  және  барлығымен 

танылады. Дегенмен, бұл аббревиатуралар W3C кепiлдемелерімен қолдау табады, олардың специфи-

кациялары      программалық  қамтамасыз  ету  саласының  жетiк    компанияларымен  танылады,  қолда-

ныста болады және дамиды. 

Веб-сервистердің  архитектурасын  қарастырған  кезде  оларды  негізгі  (Basic  Architecture)  және 

кеңейтілген (Extended  Веб Services  Architecture) архитектуралар деп бөледі. Негiзгi архитектура веб-

сервистердің әр түрлi iске асыруларында қолданушылық тапқан  технологияның құралдар жиынынан 

тұрады.  Кеңейтiлген  архитектура,  көбінесе,  технологияның  мүмкiндiктерін  ұлғайтатын  қосымшаға 

немесе перспективалық спецификацияларға бағытталған. Олар: 

а) асинхронды хабарламалар; 

 


 



 Техникалық ғылымдар 

 

ҚазҰТЗУ хабаршысы №1 2017                                          



137 

 

ә) SOAP-хабарламаларды салу (attachment)  режимінде деректерді жіберу; 



б) хабарламалардың құпиялылығы және анықталуы және т.б. 

Келесi  технологиялық  операцияларды  орындаумен  қамтамасызданған  негiзгi  құрылымды  қа-

растырумен тоқталайық: 

а) хабарламалармен алмасу; 

ә) процедураны алыстан шақыруды қамтамасыз ету; 

б) веб-сервистер қызметтерінің сиптаттамасы; 

в) қызметтердiң сипаттамаларын iздеу (табылу) және тiркеу (жариялау). 

Веб-сервистер,  өзара  iс-қимылдарының  негiзгі  архитектурасында  сервисті  және  сервис  жаб-

дықтаушы  бағдарламаларды  шақыратын,  бағдарламалардың  арасындағы  хабар  алмасу  сияқты 

анықталады. Сервистің орындалуын шақыратын бағдарлама-клиент және сервистің орындалуын қам-

тамасыз  ететін  бағдарлама-сервер  негiзгi  құрылымның  өзара  iс-қимылдарында  өз  рөлдерін  өзгерте 

алады. Бағдарламалардың әрқайсысы кейбір қызметтерді шақыратын клиент ретінде де және қызмет-

ті  қамтамасыз  ететін  сервер  ретінде  де  бола  алады.  Провайдер-ұйымдар  сипаттамасының  жарияла-

нуын  және  сервистің  iске  асырылуын  қамтамасыздандырады.  Өз  ақпараттық жүйелерінде  сервистер 

қолданатын  ұйымдар  қалай  және  қай  жерден  қажетті  функционалдық  сипаттамалары  бар  сервисті 

табуға болатын білу керек. 

Қорыта  келгенде,  веб-сервистердің  негiзгi  архитектурасы,  кем  дегенде,  үш  ұйымның  бар  бо-

луын  ойлайды:  сервис  провайдері,  клиенттi  және  сервисті  iздеу  құралдарын  және  тiркеудi  қамтама-

сыз  ететін  сервис  регистрі,  сервис  шақырушы.  Олардың  өзара  iс-қимылы  сервисті  байланыстыру, 

iздеу  және  декларациялау  операцияларын  қосады.  Веб-сервистерді  қолданудың  типтi  жобалауында, 

сервиске  құқығы  бар  провайдер,    сервисті  жүзеге  асыратын  бағдарламалық  модульдарды  сүйемел-

дейді. Олар сервистің сипаттамасын қалыптастырады және бұл сипаттаманы арнайы регистрде, бар-

лық ынталы тұтынушыларға түсiнiктi түрде жариялайды. 

Клиент  өз  мiндеттерін  орындау  мақсатында  кейбiр  веб-сервистерді  пайдалану  үшiн,  ең  алды-

мен,  сервистің сипаттамасын алу керек. Ол бұл жайлы тiкелей провайдерге хабарласа немесе сервистер 

регистріне хабарласа жасайды. Одан кейін, бұл сипаттаманы қолдана отырып, клиент меншiктi бағдар-

ламалық кешеніндегі веб-сервиске үндеу орнатады. Ол веб-сервиспен байланыстырудың процедурасын 

орындайды және осы сервисті жүзеге асыратын модульдармен өзара iс-қимылды орнатады.  

 Веб-сервистер технологиясы компоненттерi веб-хаттамалар стандарттары негізінде әрекет ете-

тін  ғаламтор  ортасында  жұмыс  iстейтiн    (оның  экстранет  және  интранет  типті  барлық  түрлеріне) 

үлестiрiлген  қосымшаларды  жасау  үшiн  арналған.  Эксперттердің  ойынша,  веб-сервистер  бұрыннан 

келе жатқан жойылған компоненттердi (жеке алғанда, DCOM және CORBA) байланыстыру үшiн ар-

налған өзара сәйкес емес және жұмулы корпоративтiк стандарттар негiзінде жүзеге асырылатын тех-

нологияларды  алмастыруы  керек.  Дегенмен  ең  бастысы,  бұл  технологиялар  кезiнде  бiркелкi 

жергiлiктi  есептеуiш  желiлерде  бағдарламалық  компоненттердiң  байланысын  қамтамасыз  етуi  үшiн 

көлiк хаттамаларының шектi санын қолдаумен жасалды. 

Веб-сервистер қосымшаларды интеграциялау технологиясын көрсетеді және бағдарламалаудың 

арнаулы тілдеріне немесе басқару жүйелерiне бағынышты болмайды. 

Жоғарыда айтып кеткеніміздей, Веб-сервистер технологиясы XML-технологиялар негізінде құ-

рылды: бағдарлама-клиент пен бағдарлама-сервердің өзара iс-қимылы XML-хабарламалармен алмасу 

негізінде құрылды, сервистер сипаттамасы, сонымен бiрге, контента сипаттамасы, көлiк хаттамалары 

және т.б. барлық бөлшектердi рәсiмдеуде XML-ді пайдаланады. Бұл нақты былай көрінеді, клиенттен 

сервиске  XML-сұрауы  бар  немесе  сервистен  клиентке  XML-жауабы  бар    SOAP-конверт,  меншiктi 

XML-сұлбамен  ХМL-құжат  құрылымды  болады;  веб-сервис  интерфейсінің  толық  сипаттамасы  бар 

WSDL-файл, сонымен бiрге, ХМL-құжат құрылымды  меншiктi ХМL-сұлбамен болады. 

Суретте  сервис  провайдерінің,  регистр  сервисінің  және  клиент-тұтынушының  өзара  iс-қимыл 

сұлбасы көрсетілген. 

Сурет  –  Веб-сервистер  технологиясында  қолданылатын    үш  негізгі  компонентті  көрсетеді. 

Олар: 

Сервис  жабдықтаушысы  (Service  Provider).  Сервисті  жеткiзiлiп  береді  және  бұл  сервисті 



түсiнiктi жасайтындай оның тiркеуiн қамтамасыздандырады. 

 

 



 

 



 Технические науки 

 

138                                                                                            



№1 2017 Вестник КазНИТУ 

 

 



 

                 

   Іздеу 

Ұсыныс 


  Жариялау 

 

 



                                                          Сұраныс 

 

 



жеткізу 

 

 



1-сурет. Веб-сервистердің операциялары және компоненттері 

 

Сервис регистрі (Service Registry). Сервис провайдерін сервис тұтынушымен байланыстыратын 



веб-сервис  тұтынушысы  мен  провайдері  арасындағы  дәнекерші.  Жеке  алғанда,  мұндай  дәнекерші 

ретінде UDDI регистр жұмыс істей алады. 

Сервис тұтынушысы(Service Requester). Веб-сервисті табу үшiн дәнекерші каталогын пайдала-

нады, содан кейін қосымшаларды жасау үшiн бұл сервисті шақырады. 

Коммерциялық  веб  қосымшалары,  транзакциялардың  қарапайым  өңдеуiн  меңгерiп,  алысырақ 

кетті. Олардың дамуының келесi логикалық қадамы әр түрлi кәсiпорындардың бизнес-процессін ин-

теграциялау  болды.  Веб  қосымшалары  сервис  ретінде  қарала  бастады. Сервис-бағытталған  веб  құру 

үрдiсi көрiне бастады. Бұл дамудың негiзгі бағыты XML (Extensible Markup Language) технологиясы 

болды.  SOAP  (Simple  Object  Access  Protocol)  хаттамасы  пайда  болды.  Сервиске-бағытталған  сцена-

рийге  сәйкес,  веб  SOAP  хаттамасы  бойынша  XML  форматпен  ақпарат  алмасатын  қосымшалар 

серверлерiнiң жиынына айналды . 

 

ӘДЕБИЕТТЕР 



[1] 

Мартин Д идр, XML для профессионалов, Издательство «ЛОРИ», 2001. - 866 с. 

[2] 

Скрибнер К. Understanding SOAP: The Authoritative Solution: Macmillan USA, 2000. 



[3] 

Мейнджер Д Java основы программирования: пер с англ. – К.  Издательская группа BHV, 1997. 320 с. 

[4] 

Нотон П, Шилдт Г. Полный справочник по Java: Пер. с англ.- К. Диалектика, 1997 -592 с. 



 

Қатаев Н., Бақыт А. 



Основы механизма конструкции сервисной технологии 

Аннотация. Приведен механизм технологии веб-сервиса. На сегодняшний день компьютерные техноло-

гии, на основе всемирной сети, развиваются быстрыми темпами. Веб-сервисы занимают центральную позицию 

в  этой  архитектуре.  Веб-сервисы  в  архитектуре  смежной  деятельности  определяется  как  обмен  информацией 

между программами, которые ответственны за сервис и сервисную комплектацию определенных программ. 



Ключевые  слова:технология  веб-сервиса,  провайдер,  архитектура  веб-сервиса,  регистр,  комплектация, 

потребитель, технология XML. 

 

Kataev N., Bakyt A. 



The basics of service technology construction mechanism 

Summary. This article refers to a web-based service technology mechanism. Nowadays, the computer technolo-

gies, based on a worldwide network, are developing rapidly. Web-services occupy a central position in this architecture. 

By the way one of the consortium closer to introducing the following architecture deeply involved in efforts to produce 

industry  standards,  web-services,  universities  (dynamic  linking,  dynamic  address)  is  forced  through  the  issue  of  the 

composition, further study of the interaction are tried between the services .Web-services architecture in related activi-

ties is definedas the exchange of information between  programs that are responsible for service and service packaging 

of certain programs.  

Key  words:the  technology  of  web-service,  service  provider,  the  architecture  of  the  service,  service  registry, 

service requester, service package, the XML technology.  



 

 

 

 

 

 

UDDI регистрі 

 

тұтынушысы



 

жабдықтаушысы 



 



 Техникалық ғылымдар 

 

ҚазҰТЗУ хабаршысы №1 2017                                          



139 

 

УДК 004.451 



G.S. Ukubassova,  S.V.Gordeev  

(Narxoz University 

 Almaty, Republic of Kazakhstan, 

galiya.ukubasova@narxoz.kz) 



 

REVIEW OF EXISTING METHODS OF DEVELOPMENT OF OPERATIONAL  

WEB APPLICATIONS 

 

Annotation. This article is a review of existing methods of implementing functionality  for working with data-

bases from programming languages, such as Java, C# or PHP, which are usually used for developing server side appli-

cation.  There  are  two  main  approaches  were  considered.  The  first  approach  bases  on  using  of  standard  API  such  as 

JDBC, and the second one includes using of ORM frameworks. Furthermore, there are describedmain advantages and 

disadvantages of both methods. 

Keywords:  ODBC, JDBC, ORM, SCRIPT, SERVICE LAYER, SQL, JAVA 

 

Modern  development  of  operational  web  applications,in  fact,  can  be  divided  on  two  parts:  develop-

ment  of Service Layer for interaction  with  database and  implementation  of controllers and GUI (Graphical 

User  Interface).  There  are  two  main  approaches  in  implementation  of  Service  Layer.  The  first  approach  is 

using low level database API such as ODBC (JDBC, OLEDB and so on) and SQL queries in string represen-

tation, which are executed through this API. The second option is using ORM (Object Relational Mapping) 

framework. Consider advantages and disadvantages of both approaches. 

Direct  SQL  queries  to  database  through  relatively  low-level  API  are  high  performance,  of  course  if 

they  are  correctly  written  by  developer. This  approach  allows  to  use  complex  language  constructs,  such  as 

hierarchical  queries  or  features  of  specific  DBMS  (Database  Management  System),  for  example,  MERGE 

clause, updatable views, including inline ones, CTEs (Common Table Expression) and so on. These features 

supported  only  by  enterprise  level  databases,  such  as  MS  SQL  Server  or  Oracle.  Moreover,  this  approach 

allows to invoke stored functions and procedures. It is useful in case of work with tables of enterprise level 

information systems, because often vendors of these systems restrict direct modification of these tables, and 

write for these purposes specific stored procedures, which internally make all checks for guarantee database 

integrity. However, thisapproachhasseveraldisadvantages. All common practice of working with JDBC, and 

its support libraries are described by Reese, 2000. 

The first disadvantage  is a lot of  duplicated code,  namely, in the simplest case, it is opening connec-

tion or retrieving it from pool, creation of a command, defining input and output parameters, processing of a 

result, closing the opened cursors and closing or returning the connection to the pool. It also should be con-

sidered  all  edge  cases,  when  something  goes  wrong,  and  a  cursor  or  command  became  by  some  reason 

closed  or corrupted before a block, which should close them properly (attempt to close already closed con-

nection will lead to an exception). Some modern languages such as C# or Java introduced specific construc-

tions  (“using”  clause  in  C#  and  “try  with  resource”  in  Java)  to  simplify  this  routine.  The  second  minus  is 

badreadability and supportability  of such code. The SQL query  is stored  in string, and in compile time this 

query is not validated, and all errors occur in runtime. 

An example of this approach is presented below. The code is written on Java: 

 

public ListgetFaqHeaders(Long lang) throws SomeException { 



    Map>faqMap= new HashMap<>(); 

    ListfaqListWrappers = new ArrayList<>(); 

 

String dbQuery =  



        "begin                 " + 

"  ? := ma_pkg.get_faq(" + 

        "      i_lang  => ?    " + 

        "  );                  " + 

        "end;                  "; 

 

 



 



 Технические науки 

 

140                                                                                            



№1 2017 Вестник КазНИТУ 

 

try (Connection conn = DataSourceAdapter.getConnection()) { 



try (CallableStatementcs = conn.prepareCall(dbQuery))) { 

cs.registerOutParameter(1, OracleTypes.CURSOR); 

cs.setLong(2, lang); 

cs.execute(); 

 

try (ResultSetrs = (ResultSet) cs.getObject(1)) { 



while (rs.next()){ 

                    String cat = rs.getString(2); 

if (cat == null || cat.isEmpty()) { 

cat = "Others"; 

                    } 

 

Faqfaq = new Faq( 



rs.getLong(3),  

rs.getString(4),   

rs.getString(5) 

                    ); 

 

if (!faqMap.containsKey(cat)) { 



faqMap.put(cat, new ArrayList()); 

                    } 

 

faqMap.get(cat).add(faq); 



                } 

            } 

        }catch (SQLException e) { 

log.error(e); 

throw new SomeException("SQLException", e); 

        } 

    } 

 

for(Map.Entry> entry : faqMap.entrySet()){ 



faqListWrappers.add(new FaqListWrapper( 

entry.getKey(),  

entry.getValue() 

            ) 

        ); 

    } 


returnfaqListWrappers; 

First  of  all,  two  collections  are  created.  The  first  one  is  hash  map  for  grouping  question-answers  by 



topic, and the second is list for returning result. Next the query is defined in string representation. The query 

is simple invocation of stored function, which has only one parameter, usually, number of parameters much 

more. After that connection is retrieved from pool using data source adapter (it is simple wrapper for getting 

data source through JNDI). Connection class implements AutoCloseable interface, so it is possible to use its 

objects  in  try-with-resource  clause  (JVM  will  invoke  close  method  and  handle  all  edge  cases).  After  that, 

connection is used for preparing statement to execute. Then, it is registered output parameter, which is cur-

sor, and set input parameter – language. After execution of statement, result set extracted, and in while loop 

all  rows  fetched  into  objects  of  class  Faq.  This  objects  stored  in  hash  map,  depending  on  topic.  In  catch 

statement SqlException is logged, wrapped by application custom exception and thrown to a caller. If every-

thing  is  done  without  exceptions,  then  map  is  converted  to  list,  which  is  returned  to  caller. Thus,  so  many 

things should be done, in order to read data from database. 



Достарыңызбен бөлісу:
1   ...   18   19   20   21   22   23   24   25   ...   92




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет