уровень представления
м
И
"тонкий" клиент
-cepfepm
I I
CrCTe
OcнoвeнкИй.rfЭCCичecгoй
I
являют
c «тол Упpав.
lаpxГ
прилад© урм.в. Абрамоин ф
3.55 I
і— Абрамов,l B.M. Шек
Tpf""po bh евАя
\—МАЦИрНІ
'eнт-cepвep cиcтeмами из cиCтeмы
нeвЫми crc
клиентом. Они cocтoят
данным (СУБД) и oднoгo или не-CгoлЬкИXИ,KйИЄнтcгиx пpилoжeний, пpeдocтавляЮщиx
п~pOИЗ□OДЯ~щгX~ OбpaбOfГy'
сєрвєр субд
вoзмoжнo быC' oбъeмныe зад
cepвepнoй -ГаюШИЄ
ap*
данных. Логика работы ИС обычно реализована частично в БД с помощью триггеров, хранимых процедур и других объектов и частично в клиентских приложениях (рис.1). Для доступа к данным клиентские приложения используют вызовы функций прикладных программных интерфейсов клиентских частей соответствующих серверных СУБД. Соответственно подобное клиентское приложение требует наличия на компьютере конечного пользователя клиентской части используемой серверной СУБД и присутствия в оперативной памяти набора динамически загружаемых библиотек из клиентской части СУБД. Это повышает технические требования, предъявляемые к аппаратной части клиентской рабочей станции, усложняет установку и поддержку системы и в конечном итоге приводит к удорожанию всей системы в целом.
Выходом из этой ситуации является создание систем с так называемым "тонким" клиентом, в частности, с клиентом, не содержащим в своем составе клиентскую часть серверной СУБД и реализующим минимальное возможное количество логики ра-
"толстый" клиент
"толстый" клиент
"толстый" клиент
-SQL-
Сервер СУБД
бoты cиcтeмы. B этом cлyчae фyнгциoнaльнocть, cвязaннaя c дocтyпoм г данным и rx oбpa-бoтгy, вoзлaгaeтcя на дpyгoe пpилoжeниe, нaзывaeмoe oбычнo «пpoмeжyтoчным пpoгpaммным oбecпeчeниeм» или middleware, и являющeecя глиeнтoм cepвepнoй СУБД. Тагим oбpaзoм глиент-crre пpилoжeния oбpaщaютcя г пpoмeжyтoчнoмy пpoгpaммнoмy вляющeмycя для htx иcтoчнигoм дан-o и єсть тpexypoвнeвaя apxитeгтypa
'oящee вpeмя cтaнoвитcя пpaгтичecги не-po и эффeгтивнo peшaть cлoжныe и ічи в paмгax ycтapeвшeй глиент-^e^ypti. Тагие гаг задачи вoзни-
_________нpи^M oнитopингe тexничecгoгo cocтoяния
жилищнoгo фoндa гopoдa Mocгвы. npr pemeHrr ro-тopыx пpиxoдитcя oпepиpoвaть c бoльшими oбъeмa-ми пocтoяннo мeняющeйcя и пoпoлняeмoй инфopмa-ции, дocтyп г гoтopoй дoлжeн быть ocyщecтвлeн из yдaлeнныx тoчeг no каналам cвязи paзличнoй npo-пycгнoй cпocoбнocти и нaдeжнocти.
Функции пpoмeжyтoчнoгo пpoгpaммнoгo o6ecne-чения
Tepмин «пpoмeжyfoчнoe пpoгpaммнoe oбecпeчe-ние» (middleware) oтнocитcя г любoмy пpoгpaммнoмy гoмпoнeнтy, гoтopый pacпoлaгaeтcя между пoльзo-вaтeльcгими пpилoжeниями и СУБД или дpyгoй crCTe-мoй, нeпocpeдcтвeннo yпpaвляющими HeoбxOДИMЫMИ данными. Функции, выпoлняeмыe пpoмeжyтoчным пpoгpaммным oбecпeчeниeм мoжнo paздeлить на не-cгoльгo гpyпп [1].
Пpoзpaчнocть баз дaнныx
Ecnr пpиxoдитcя иметь дeлo c нecгoльгими crc-темами yпpaвлeния базами дaнныx, то нaибoлee cy-щecтвeнным являeтcя oбщий интepфeйc дocтyпa г данным (API - Application Programming Interface). Наличие татого API пoзвoляeт иcпoльзoвaть cтaндapт-ные инcтpyмeнтaльныe cpeдcтвa, cyщecтвeннo ynpo-щает пpoцecc paзpaбoтги пpилoжeния и пoвышaeт eгo yнивepcaльнocть. К нaибoлee пoпyляpным ин-тepфeйcaм oтнocятcя ODBC, OLE DB и ActiveX Data Object (ADO) томлании Microsoft. Cpeди paзpaбoтчи-гoв, иcпoльзyющиx язык Java, в качестве oбщeгo ин-тepфeйca дocтyпa г базам данным пpинят JDBC [3].
IPC и oбъeкты
Пpoтoгoлы и пpoдyгты этoй гaтeгopии oблeгчaют мeжпpoцeccныe взaимoдeйcтвия (IPC - InterProcess Communications) и pacпpeдeлeниe oбъeгтoв. Ключевыми гaтeгopиями являются еледующие:
• Bызoвы yдaлeнныx пpoцeдyp (RPC - Remote Procedure Call) и cooтвeтcтвyющий Java-эгвивалент, вызoвы удаленный мeтoдoв (RMI - Remote Method Invocation). Эти пpoтoгoлы пoзвoляют пpилoжeнию вызывать функции и пepeдaвaть пapaмeтpы, минуя гpaницы пpoцeccoв и машин. Бoлee pacпpocтpaнeны cинxpoнныe мexaнизмы вызoвa yдaлeнныx пpoцeдyp.
Prc. 1 Tpa^'obra двyxypoвнeвoй apxитeктypы
• Системы пepeдaчи cooбщeний. B oтличиe oт RPC такие cиcтeмы, гаг пpaвилo, бывают acrHxpoH-ными. Зaпpocы cepвиcoв cтaвятcя в oчepeдь и oбpa-бaтывaютcя в cooтвeтcтвии c пpиopитeтaми и дoc-тyпнocтью pecypcoв. Boзвpaщaeмыe oтвeты coдep-жат инфopмaцию o6 ycпeшнoм или нeycпeшнoм вы-nonHeHrr oпepaции. Cpeдcтвa этoй гaтeгopии чacтo иcпoльзyютcя в пpилoжeнияx, cвязaнныx c opraHma-цией пoтoгoв paбoт (workflow) и yпpaвлeниeм npo^c-caми, а также в cильнo pacпpeдeлeнныx пpилoжeнияx c медленными и ненадежными ^единениями.
• Pacпpeдeлeнныe oбъeгтныe cиcтeмы. Объектные cиcтeмы oбecпeчивaют cpeдcтвa paзмeщeния и взaимoдeйcтвия oбъeгтoв в pacпpeдeлeннoй cpeдe. Объекты идeнтифициpyютcя именами или cepвиca-ми, а также пoддepживaeмыми ими интepфeйcaми. Реализация oбъeгтa и плaтфopмa, на гoтopoй oh вы-пoлняeтcя, пpoзpaчны для клиента. Объекты - это peaльнaя ocнoвa coвpeмeнныx мнoгoзвeнныx nprno-жений. B нacтoящee вpeмя в этoй oблacти жecтгo гoнгypиpyют тexнoлoгий Distributed COM и ActiveX томлании Microsoft c тexнoлoгиями CORBA и IIOP (Internet InterORB Protocol) гoнcopциyмa OMG и JavaBeans.
MoHm-opbi yпpaвлeния тpaнзaкциями (TP-мoнитopы)
Интeнcивнoe coвмecтнoe иcпoльзoвaниe pecyp-тов пpивoдит г вoзнигнoвeнию yзгoгo места, за-тpyдняющeгo выпoлнeниe paбoт. Эта пpoблeмa pe-шaeтcя в TP-мoнитopax cлeдyющим oбpaзoм:
• Обecпeчивaeтcя oднoвpeмeннaя cвязь c на-бopoм paзличныx cиcтeм баз дaнныx.
• Пoддepживaeтcя двyxфaзный пpoтoгoл фиг-caции, гapaнтиpyющий зaвepшeниe тpaнзaгций над нecгoльгими базами данным.
• Пoльзoвaтeльcгиe зaпpocы oбpaбaтывaютcя c иcпoльзoвaниeм лeггoвecныx нитей (threads) в oд-нoм пpoцecce oпepaциoннoй cиcтeмы, а не nonHo-вecныx пpoцeccoв.
• Пoддepживaeтcя пocтoянный пул дoлгoвpe-мeннo xpaнящиxcя пoдглючeний г базам данным, и эти пoдглючeния paздeляютcя между пoльзoвaтeлями.
• Обecпeчивaeтcя бaлaнcиpoвгa нaгpyзги путем плaниpoвaния иcпoльзoвaния paздeляeмыx pe-cypcoв и нaпpaвлeния зaпpocoв г наименее засуженным фyнгциoниpyющим cepвepaм.
• Зaпpocы oбpaбaтывaютcя acrHxpoHHo c pac-пpeдeлeниeм нecгoльгиx зaпpocoв между paзными пoдглючeниями г базе дaнныx ("гoнвeйepный" napan-лелизм) или между нecгoльгими cepвepaми баз данным ("paзвepнyтый" пapaллeлизм).
• Для гoopдинaции oпepaций paздeлeнныx и pacпpeдeлeнныx пpилoжeний пoддepживaeтcя oднo-paнгoвaя cвязь c дpyгими мoнитopaми oбpaбoтги тpaнзaгций.
Интeгpaция oбъeктoв
Mнoгиe мoнитopы тpaнзaгций мoгyт эффeгтивнo paбoтaть c oбъeгтaми. B этoм oтнoшeнии выделяется Microsoft Transaction Server (MTS). Пpoдyгт CTpoTO интeгpиpoвaн c DCOM.
B миpe UNIX cпeцифигaция OMG Object Transaction Server (OTS) нaпpaвлeнa на унификацию функций TP-мoнитopoв npr иcпoльзoвaнии бpoгepoв o6^
Prc. 2. Tpaгтoвгa тpexypoвнeвoй apxr-тeгтypы
ектных заявок. Это расширение протокола CORBA нашло отражение в спецификации Java Transaction Service компании JavaSoft [3].
Другим влиятелыным стандартом, который необходимо учитываты при оценке TP-мониторов и серверов приложений, является Transaction Architecture (XA), спецификация, разработанная компанией The Open Group. XA определяет интерфейс между менеджером транзакций и исполызуемыми им ресурсами, такими как системы баз данных и коммуникационные каналы.
Серверы приложений
Являясы эффективными средствами для построения масштабных приложений категории OLTP (OnLine Transaction Processing), TP-мониторы обычно не обеспечивают следующие возможности:
• Хранение логики приложений и управление
ею;
• Размещение и создание экземпляров объектов;
• Кэширование объектов и отслеживание их времени жизни.
Разработка многозвенных приложений целиком связана с их разделением, которое состоит в делении работы между клиентом и одним или несколы-кими специализированными серверами. Серверы приложений облегчают разделение, допуская перенос компонентов приложения на архитектурный уровены и физическую платформу, на которых они могут работаты наиболее эффективно.
Сервер приложений поддерживает определение логики приложений. Для этих целей некоторые серверы обеспечивают собственные средства разработки и языки. Другие полагаются на объектные стандарты, такие как CORBA, COM или JavaBeans.
Web-серверы
Первичной задачей Web-серверов была поддержка Web-сайтов. Однако теперы они играют более серыезную ролы в информационных корпоративных системах. Web-технология оказывает силыное влияние на новое поколение серверов приложений. Технически развитие Web-технологии облегчается наличием стандартов, таких как HTTP, SSL и Java. Эти стандарты воплощаются в Web-сервере, который служит централыной точкой для интеграции новых инструменталыных средств и технологий.
Принципы построения трехзвенных информационных систем
Трехзвенные ИС можно построиты разными способами, и выбор той или иной архитектуры существенно зависит от числа полызователей такой ИС, степени территориалыной разбросанности предприятия, потребности в централизованном хранении и обработке данных, частоты обновления версий ис-полызуемых автоматизированных рабочих мест, структуры и состава исполызуемых СУБД, пропускной способности и надежности каналов связи.
Ключом к успеху сегодняшних ИС является гибкое исполызование ресурсов. Ориентация на компонентные приложения и исполызование промежуточ-
Prc. 1. Обoбщeннaя cxeмa взaимoдeйcтвия гoмпoнeнтoв MAC
нoгo пpoгpaммнoгo oбecпeчeния пoзвoляeт не mo-бpeтaть coбcтвeнныe тpaнcпopтныe мexaнизмы, гoммyнигaциoнныe пpoтoгoлы и cpeдcтвa cвязи c базами дaнныx.
Apxrferfypa инфopмaциoннo-aнaлитичecгoй cиcтeмы мoнитopингa тexничecгoгo cocтoяния жи-лищнoгo фoндa гopoдa Mocгвы мoжeт быть nocTpoe-на c иcпoльзoвaниeм тexнoлoгий и пpoдyгтoв oxвa-тывaющиx бoльшyю чacть функций, выпoлняeмыx пpoмeжyтoчным пpoгpaммным oбecпeчeниeм. B качестве xpaнилищ дaнныx мoгyт быть иcпoльзoвaны
СУБД Microsoft Sql Server (как централыное хранилище данных) и Microsoft Access (как удаленные ло-калыные хранилища данных) с единым интерфейсом доступа к данным ADO (в настоящее время активно развиваемым компанией Microsoft). Логика работы информационно-аналитической системы может быты реализована с помощыю объектов, доступ к которым будет осуществлятыся по технологии DCOM. Создание, управление и контролирование времени жизни объектов возымет на себя Microsoft Transaction Server (MTS), который в свою очереды будет ис-полызоваты Microsoft Message Queue Server (MSMQ -сервер очередей сообщений) для выполнения асинхронных полызователыских запросов.
----------- СПИСОК ЛИТЕРАТУРЫ
1. Кузнецов С. The Middleware 2. Eлмaнoвa Н. Издание cep-
Muddle I Обзop статьи mypHana вepoв nprnomeHTH c пoмoщью Delphi DBPD, 1998; З I "Кoмпьютep-Пpecc" N 12, 1997.
3. Дунаев С. Дocтyп г базам данный и fexHrra paбoты в cefr.
KPPPTKP РБ ABTP—AX --------------------------------------------------------
A6paмoв M.B. - acnrpaHf, Mocгoвcгий гocyдapcгвeнный гopный yнивepcитeт.
Шєк B.M. - пpoфeccop, дoгтop fexHTHecrrx наук, Mocгoвcгий гocyдapcгвeнный гopный yнивepcитeт.
nparTTHecrre пpиeмы coвpeмeннoгo пpoгpaммиpoвaния I M.: ДИAЛОГ-МИФИ, 2000
© M.B. Aлфepoв, 2003
УАK 65.012.45
M.B. Aлфepoв
РAЗРAБРTKA »H'PPMAU»PHHP-AНAЛИTИЧЕCKРЙ C»CTEMbl ПРРГНРЗИРРBAНИЯ ЭKPHPM»4ECK»X ПРKAЗATЕЛЕЙ УГРЛЬНЫX ПРЕАПРИЯтЙ С ИCПРЛЬЗРBAНИЕM METPAPB НЕЙ—PHHblX CЕTЕЙ
cnernHoe paзвитиe любoгo xoзяйcтвyющeгo cyбъeгтa нaпpямyю зaвиcит ot наличия и дocтoвepнocти экэ-нoмичecгиx пoгaзaтeлeй пpeдпpиятия бyдyщиx пе-pиoдoв. Coциaльнo-эгoнoмичecгиe пapaмeтpы yгoльныx пpeдпpиятий являютcя xapaгтepиcтигaми, нecyщими в ceбe oпpeдeляющyю poль paзвития пpeдпpиятия. Boзмoжнocть пpeдвидeть эти xaparTe-prcTrrr в нeгoтopoй пepcпeгтивe пoзвoляeт эффег-тивнo yпpaвлять эгoнoмичecгими пpoцeccaми на пpeдпpиятияx.
Пoэтoмy, oднoй из нaибoлee aгтyaльныx задач yгoльнoй oTpacnr являeтcя пpoгнoзиpoвaниe
Уcoциaльнo-эгoнoмичecгиx пoгaзaтeлeй ^ед-пpиятий. Paзpaбoтaннaя инфopмaциoннo-aнaлитичecгaя ^стема пpoгнoзиpoвaния no-звoляeт выпoлнять гpaтгocpoчныe и дoлгocpoчныe пpoгнoзы эгoнoмичecгиx пoгaзaтeлeй пpeдпpиятий,
основываясь на их динамических рядах в ретроспективе.
Однако, детальные сравнения современных статистических методик экстраполяции с нейросете-выми методами показывают наличие непересекающихся сфер максимальной эффективности этих методов. Поэтому, в разработанной инф ормационно -
аналитической системе прогнозирования наряду с традиционными методами используется аппарат нейронных сетей. Реализация алгоритмов прогнозирования с использованием нейронных сетей имеет ряд преимуществ, а именно:
• сравнительная простота реализации;
• приемлемость задач большой размерности;
• возможность нелинейного моделирования.
В этой связи, применение нейросетевых методов в разработке информационно-аналитической системы прогнозирования социально-экономических показателей угольных предприятий является актуальной научной задачей горной промышленности.
Разработка информационно-аналитической системы (ИАС) разделяется на два этапа:
• создание системы сбора статистических показателей угольных предприятий, с помощью которой формируется «база знаний» для обучения адаптивных систем;