Russian Belarusian English German Japanese Ukrainian
  • Главная
  • Распределенные многозвенные приложения

2.55

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

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

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

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

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

Для обмена информацией сервера приложений с клиентами и серверами БД разработаны различные протоколы и средства: 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, применяемых в Интернет и корпоративных сетях, основаны на тех же протоколах, что и Интернет.

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

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

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

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий


Поиск по сайту