●
Техникалық ғылымдар
ҚазҰТЗУ хабаршысы №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.
|