
- •Глава 1. Изучение Системы управления базами данных и приложения субд.
- •1.1. Разработка клиентских приложений.
- •Классификация средств разработки приложений.
- •2.1.Классификация приложений.
- •2.2.Средства разработки, ориентированные на конкретные субд.
- •2.3.Средства разработки, универсальные по отношению к субд
- •2.4.Приложения в архитектуре "клиент-сервер"
- •2.5.Распределенные приложения
- •2.6.Разработка успешных приложений для субд Oracle
- •Влияние стандартов
- •Функциональные возможности
- •Заключение
2.4.Приложения в архитектуре "клиент-сервер"
В предыдущих статьях данного цикла мы уже говорили о том, что представляет собой архитектура "клиент-сервер" в традиционном понимании. Поэтому мы лишь кратко напомним, что информационные системы, созданные в такой архитектуре, представляют собой сервер баз данных, манипулирующий данными, и клиентское приложение, обращающееся к нему и использующее для этого либо клиентские API (или инкапсулирующие их вызовы классы и компоненты), либо один из универсальных механизмов доступа к данным. Обычно при использовании такой архитектуры приложений на сервер баз данных возлагается также контроль соблюдения бизнес-правил, реализованных в виде хранимых процедур, триггеров, серверных ограничений и иных объектов базы данных.
Для создания клиентских приложений в этом случае чаще всего применяются средства разработки, обладающие развитыми визуальными инструментами, такие как Microsoft Visual Basic, Borland Delphi, Sybase PowerBuilder, Borland C++Builder.
Отметим, однако, что выбор архитектур современных приложений в настоящее время достаточно широк и не исчерпывается "классической" архитектурой "клиент-сервер", подразумевающей, что приложение состоит из сервера баз данных и клиентских приложений, взаимодействующих с этим сервером. Поэтому ниже мы обсудим, какие средства разработки удобно применять при создании распределенных приложений.
2.5.Распределенные приложения
Распределенные (или многозвенные) приложения обычно состоят из презентационных сервисов (или "тонких" клиентов, с которыми обычно взаимодействуют конечные пользователи), сервисов бизнес-логики, реализуемых в виде бизнес-объектов (или сервисов промежуточного слоя - middle tier; нередко для описания совокупности таких сервисов применяется термин middleware), и сервисов данных (обычно состоящих из сервера баз данных и механизмов доступа к данным). Сервисы бизнес - логики предназначены для получения введенных пользователем данных от презентационных сервисов, взаимодействия с сервисами данных для выполнения бизнес - операций (например, обработки заказов или расчета бухгалтерского баланса) и возврата результатов этих операций презентационным сервисам.
В отличие от обычных приложений в архитектуре "клиент-сервер", в многозвенных системах "тонкие" клиенты, как правило, не имеют непосредственного доступа к данным. Вместо этого клиенты посылают запросы к специально предназначенным для этой цели бизнес - объектам. Те, в свою очередь, могут выполнять запрошенные клиентом бизнес - операции (такие как обработка заказа, выполнение банковской транзакции и т.д.).
Некоторые из бизнес - объектов могут обращаться к сервисам данных, используя те или иные механизмы доступа к данным. Поскольку конечный пользователь не взаимодействует непосредственно с бизнес - объектами, последние обычно не обладают пользовательским интерфейсом в привычном понимании. Физически бизнес - объекты могут быть реализованы в виде сервисов операционной системы, консольных приложений либо Windows-приложений, а также в виде библиотек, загружаемых в адресное пространство специально предназначенного для этой цели серверного приложения (Web-сервера, сервера приложений, монитора транзакций и др.). Нередко один бизнес-объект обслуживает множество клиентов.
Для создания бизнес - объектов применяются как средства разработки с развитыми визуальными инструментами, так и средства разработки, ориентированные на "ручное" создание кода приложений (такие как). Отметим, что новейшие версии почти всех наиболее популярных средств разработки Windows-приложений (Microsoft Visual Basic, Visual FoxPro и Visual C++, Borland Delphi и C++Builder, Sybase PowerBuilder) поддерживают создание различных типов бизнес-объектов (Web-приложений, ASP-объектов, COM-серверов и др.), за исключением, пожалуй, Microsoft Access - этот продукт рассчитан скорее на квалифицированных пользователей, нежели на разработчиков распределенных систем. Нередко для этой цели используются и средства создания Java-приложений (такие как Borland JBuilder).
Отметим, что, кроме перечисленных выше "универсальных" средств создания как приложений в архитектуре "клиент-сервер", так и бизнес-объектов для распределенных систем, на рынке средств разработки имеются и специализированные средства, предназначенные именно для создания бизнес-объектов (как правило, Web-приложений). Из средств разработки такого класса для платформы Windows наиболее популярен Microsoft Visual InterDev, первая версия которого появилась в 1998 году. Можно также упомянуть еще один интересный продукт, относящийся к той же категории средств разработки, - Borland IntraBuilder, появившийся двумя годами раньше, но почему-то, несмотря на растущую потребность в продуктах такого класса, не получивший дальнейшего развития. Средства разработки подобного класса, как правило, позволяют создавать приложения, динамически генерирующие HTML-код либо код на одном из скриптовых языков (VBScript или JavaScript), который передается Web-сервером в браузер пользователя в составе Web-страницы, и воспринимающие данные, введенные пользователем в HTML-форме и переданные браузером Web-серверу.