Научная статья на тему 'Трехуровневая архитектура современных информационных систем'

Трехуровневая архитектура современных информационных систем Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
861
85
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Трехуровневая архитектура современных информационных систем»

уровень представления

м

И

"тонкий" клиент

-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иятий,

основываясь на их динамических рядах в ретроспективе.

Однако, детальные сравнения современных статистических методик экстраполяции с нейросете-выми методами показывают наличие непересекающихся сфер максимальной эффективности этих методов. Поэтому, в разработанной инф ормационно -

аналитической системе прогнозирования наряду с традиционными методами используется аппарат нейронных сетей. Реализация алгоритмов прогнозирования с использованием нейронных сетей имеет ряд преимуществ, а именно:

• сравнительная простота реализации;

• приемлемость задач большой размерности;

• возможность нелинейного моделирования.

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Разработка информационно-аналитической системы (ИАС) разделяется на два этапа:

• создание системы сбора статистических показателей угольных предприятий, с помощью которой формируется «база знаний» для обучения адаптивных систем;

i Надоели баннеры? Вы всегда можете отключить рекламу.