Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Gorev_uchebn.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.76 Mб
Скачать

7.1.3.Многоуровневоепостроениеприложения

Обычноодноуровневыеприкладныепрограммыобращаютсяктаблицамсданныминасерверетак,какэтопроисходитвтехнологии,основаннойнафайл-сервере.Этоозначает,чтотипичныйзапроспри-кладнойпрограммыклиентавыбираетстрокинепосредственноизтаб-лиц,относящихсякосновнойструктуреданных.Этопроисходит,когдаприкладнаяпрограммаразработананаосновелокальноговариантавархитектуреISAM(индексно-последовательныйметоддоступа).Длядоступакданнымоткрываетсятаблица,выбираетсятребуемыйиндекс,иищутсястрокиснеобходимымиданными.Принциппостроенияодно-уровневогоприложенияпредставленнарис.7.2.Бизнес-логикавстроенавкаждоепользовательскоеприложение,использующееданныесервера.

Этотпринципдоступакданнымиихпоискувызываетрядпроблем:

•Приизмененииструктурыданныхилиправилобработкидан-ныхлогикаработыприложениядолжнабытьразработаназаново.

8081

•Еслизапросынеограничиваютразмервозвращаемыхнабороврезультатов,масштабированиеприкладнойпрограммыможетоказать-сянепростойзадачей.Этоозначает,чтодобавлениедополнительныхпользователейможетвызватьухудшениеэффективностиработысисте-мы,втовремякакприкладнаяпрограммауспешноработаласнеболь-шимколичествомпользователей.

•Особенноусложняетсяработанадбольшимипроектами,таккакпереписываниебольшогообъемакодаиперекомпилированиепро-ектаоченьтрудоемки.Этоозначает,чтоработадлягрупп,программи-рующихбольшиепроекты,становитсяособеннотрудной.

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

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

Построениедвухуровневыхприложенийтребуетпереносакода,управляющегоданными,насервер.Вместотаблицклиентскоеприло-жениедолжноиметьделослогическимиобъектами,адляобновленияданныхвыполнятьвнешние(удаленные)процедуры.Далеевэтойглавемыболееподробноостановимсянаэтомвопросе.Следуетлишьобра-

титьвниманиетовбольшинствеслучаевэтонеявляетсячистомеха-

Одноуровневое

СерверБД

Данные

Пользователь

Пользователь

Пользователь

ническимдействием.Например,вСУБДVisualFoxProтриггерывы-полняютсядлякаждойдобавляемойилиизменяемойзаписи,авсерве-реБДMSSQLServer–длянаборазаписей,посылаемогонасервердляобновления.

Переносправилобработкиданныхнасерверпозволяеттакжесни-

СерверБД

Данные

Двухуровневое

Бизнес-

логика

Пользователь

ПользовательПользователь

зитьнагрузкунаклиентскоеприложение.Требованиякрабочейстан-циимогутбытьснижены,итакоераспределениефункцийсервераиклиентскогоприложенияполучилоназвание«тонкийклиент».Вместестемприналичиивысокопроизводительногомногопроцессор-ногосервераможноповыситьпроизводительностьобработкиданных,таккактакиесерверыБД,какMSSQLServer,способныквыполнениюодновременнонесколькиххранимыхпроцедур,причемкаждаяможет

Промежу-точныесервера

Промежу-точныесервера

сервера

Промежу-

точные

серверы

Бизнес-

логика

СерверБД

Данные

Трехуровневое

Бизнес-

логика

Пользователь

Пользователь

Пользователь

выполнятьсявиндивидуальномпотоке.

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

Рис.7.2.Принциппостроениямногоуровневыхприложений

оставивбезизменениянаборсвойствиметодов,доступныйпользова-тельскомуприложению.

8283

Формированиеприкладныхпрограммизкомпонентовимеетог-ромнуюпривлекательность,ноотсутствиеинструментарияинтегриро-ванияобъектов,созданныхразличнымиразработчиками,воднупри-кладнуюпрограммусоздаетподчаснепреодолимыетрудностивреали-зациитакогоподхода.ПоявившаясявпоследнеевремяComponent

АНАЛИТИЧЕСКОЕ

КОРПОРАТИВНЫЙСЕРВЕР

СЕРВЕР

ObjectModel(COM)предназначенадляликвидацииэтихтрудностей.

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

ПОСЕРВЕРБД

ТРАНЗАКЦИЯ

ПРОВЕРКА

ИНТЕРНЕТ/ИНТРАНЕТ

СОТРУДНИКИ,,

РАБОТАЮЩИЕ

ВНЕ

нениеданныхнанесколькихсерверах.Когдапроектохватываетнесколь-

косерверов,вприложениипоявляетсянеобходимостьиспользованиядополнительныхуровней(см.рис.7.2).Вэтомслучаетакойсервер,как

БДОТДЕЛОВ

КОРПОРАТИВНЫХБИЗНЕС-ПРАВИЛ

БДОТДЕЛОВБДОТДЕЛОВ

ОРГАНИЗАЦИИ

П

MicrosoftTransactionServer(MTS),можетигратьролькоординатора

работыобъектов,выполняямножествосложныхоперацийинтегрирова-ния,координацииивзаимодействия,которыеоказываютсязапределамидействиядиспетчерараспределенныхтранзакцийвSQLServer.MTSнетолькоуправляеттранзакциямимеждусерверами,нотакжевыполня-етифункцииобъединенияпотоковимежобъектноговзаимодействия.

Учитывая,соднойстороны,современныетребованияккачеству

логистическогообслуживания,необходимостьполучениябольшогоко-

ТРАНЗАКЦИЯ

ПРОВЕРКАКОРПОРАТИВНЫХ

БИЗНЕС-ПРАВИЛ

ПРОВЕРКАДОСТУПА

РАБОЧИЕМЕСТАСОТРУДНИКОВ

АРТНЕРЫ

ЗАКАЗЧИКИ

личестваданныхизвнешнихисточников,асдругойстороны,слишкомбольшиезатратынаполностьюинтегрированнуюобработкуданныхвмасштабереальноговременивглобальнойкомпьютернойсети,мож-норекомендоватьсхемуобработкиданных,представленнуюнарис.7.3.

Присозданиисистемыобработкиданныхнеобходимостремиться

соблюдатьтриосновныхпринципа:

•Данныедолжныбытьдоступны.Весьмаэффективносозданиевеб-сервера,доступккоторомувнутриорганизацииможетбытьобес-печенчерезвнутреннююсетьинтранет,адлясотрудников,работаю-щихвнеорганизации,–черезИнтернет.Средствазащитыданныхдол-жныбытьболееконкретными.Вместозапретадоступактаблицамлуч-шезащищатьконкретныеколонкиизаписиданных.

•Данныедолжныбытьточными.Придобавленииданныхвин-формационнуюсистемуонидолжныподвергатьсяавтоматическойло-гическойпроверке.

•Данныедолжныбытьпонятны.Всеоперациисконкретными

данными(кромепросмотра)лучшевыполнятьводномитомжеместе,восновномтам,гдеонибыливпервыевведенывкомпьютер.

Рис.7.3.Схемаобработкиданных

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]