Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование на Delphi. От новичка до профессионала!


Информационный Канал Subscribe.Ru


MyDelphi7

4. Распределённые многозвенные приложения

 

Спецификация DCOM и созданные на ее основе технологии позволили перейти к новому этапу построения систем — распределенным многозвенным приложени­ям. Предшественником их явилась платформа клиент/сервер. Она сводится к тому, что на верхнем уровне имеется удаленный сервер данных, который хранит базу данных и осуществляет управление ею. А на нижнем уровне имеются клиент­ские приложения, работающие с этими данными. Это так называемые толстые клиенты, которые реализуют бизнес-логику — правила манипулирования с дан­ными, проверки их непротиворечивости и достоверности. Впрочем, в системах клиент/сервер имеется возможность частично перенести бизнес-логику на сервер с помощью хранимых на сервере процедур. Клиенты могут вызывать эти процедуры со своих компьютеров и просматривать полученные ответы.

Технология клиент/сервер удовлетворительно обслуживает системы уровня отдельных подразделений некоторого предприятия. Но при создании более круп­ных систем уровня предприятия организация клиент/сервер сталкивается с рядом сложностей. Размещение бизнес-логики в основном на компьютерах клиентов ме­шает созданию единой системы с едиными правилами обработки и представления данных. Много сил уходит на согласование работы различных клиентских прило­жений, на построение мостов между ними, на устранение дублирования одних и тех же функций различными приложениями.

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

Многозвенная система функционирует следующим образом. Пользователь запускает клиентское приложение. Оно соединяется с доступным ему сервером приложений. Затем клиент запрашивает какие-то данные. Этот запрос упаковывается в пакет установленного формата и передается серверу приложений. Там пакет расшифровывается и передается серверу БД, который возвращает затребованные данные. Сервер приложений обрабатывает эти данные согласно заложенной в неге бизнес-логике, упаковывает и передает этот пакет клиенту. Клиент распаковывает данные и показывает их пользователю.

Если пользователь изменил данные, то цепочка их передачи на сервер БД вы­глядит следующим образом. Клиент упаковывает измененные данные и отправля­ет пакет на сервер приложений. Тот распаковывает их и отправляет на сервер БД. Если все исправления могут быть без осложнений занесены в БД, то на этом все за­вершается. Но могут возникнуть осложнения: сделанные изменения могут проти­воречить бизнес-правилам или изменения одних и тех же данных разными пользователями могут противоречить друг другу. Тогда те записи, которые не могут быть занесены в БД, возвращаются клиенту. Пользователь может исправить их или от­казаться от сделанных изменений.

Для обмена информацией сервера приложений с клиентами и серверами БД разработаны различные протоколы и средства: DCOM, CORBA, MIDAS, MTS, OLEnterprise, J2EE, TCP/IP, HTTP, XML. Большинство этих средств обмена будут далее рассмотрены.

CORBA является одним из самых мощных инструментов создания распределенных приложений. Для использования CORBA на каждом компьютере, содержащем приложения клиентов, должен быть установ­лен брокер VisiBroker, обеспечивающий связь приложения со средой CORBA. А на одном из компьютеров в сети должны быть установлены элементы этой среды. Если все это сделано, открываются очень широкие возможности для создания сложных распределенных информационных систем.

Система MIDAS позволяет создавать распределенные приложения, использую­щие самые разные протоколы и технологии: DCOM, CORBA, OLEnterprise, HTTP, сокеты TCP/IP, MTS и другие.

Система Microsoft Transaction Server (MTS ) — это еще одна система создания многозвенных приложений. Правда, она работает в полную силу далеко не во всех версиях Windows.

О TCP/IP и HTTP, применяемых в Интернет и корпоративных сетях, основан­ных на тех же протоколах, что Интернет, будет немало сказано. Вы найдете сведения о языке HTML, используемом для описания документов Web. Дальнейшим развитием языка HTML стал XML.

Язык программирования Java — это объектно-ориентированный язык, ис­пользуемый, прежде всего, для приложений Интернет. Он характеризуется про­стотой, надежностью, способностью создавать простыми средствами интерактив­ные сетевые программы. Отличительной особенностью Java является возможность исполнять созданный код на любой из поддерживаемых платформ. Достигается это тем, что программы транслируются в некоторое промежуточное представление,  называемое байт-кодом.  Этот байт-код может затем интерпретироваться в любой системе, в которой есть среда выполнения Java. Обычно программы на языках, использующих интерпретацию, работают медленно. Но к Java это не отно­сится. Байт-код легко переводится непосредственно в машинные коды, что позво­ляет достичь очень высокой производительности.

Дальнейшим развитием возможностей, заложенных в Java, явилась платформа J2EE (Java 2 Enterprise Edition). Она вобрала в себя все технологии, наработан­ные к этому времени, и стала основой для большинства серверов приложений. Эта платформа обеспечивает выполнение приложений, написанных в рамках опреде­ленных стандартов, и снимает с разработчика заботу об управлении очередями, транзакциями, сообщениями и многом другом.

Перечисленные технологии могут использоваться в различных видах распре­деленных приложений, работающих с базами данных. Но, конечно, в настоящий момент основной упор при разработке распределенных приложений делается на использование Интернет, корпоративных сетей, основанных на тех же протоко­лах, что и Интернет, а также технологии Web. Глобальность Интернет делает эту сеть незаменимой при создании многопользовательских распределенных приложе­ний.

 

Сайт рассылки http://mydelphi7.narod.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное