235
8.3. Технологии и средства доступа к удаленным БД
8.3.1. Программное обеспечение распределенных приложений
Распределенные корпоративные приложения все более усложня-
ются, интегрируя в себя унаследованные приложения, разрабатываемые
и вновь приобретаемые готовые программные средства. Кроме того,
разные подсистемы решают разные бизнес-задачи, однако одна из глав-
ных целей создания корпоративной системы – получить «единый образ»
общего состояния системы, что обеспечит пользователям доступ к нуж-
ным операциям и ресурсам.
Основа такой инфраструктуры – так называемое промежуточное
программное обеспечение, позволяющее, не вникая в тонкости сетевых
реализаций, создавать и эксплуатировать взаимодействующие между
собой приложения с разными требованиями к межмодульным коммуни-
кациям.
Промежуточное ПО эволюционировало вместе с архитектурой
клиент-сервер. Ранние, но достаточно эффективные как с точки зрения
разработки, так и эксплуатации, частные решения предназначались для
упрощения доступа к базам данных в двухзвенной модели, где «тол-
стый» клиент реализует всю логику обработки информации, предостав-
ляемой сервером базы данных. Такие системы вполне удовлетворяли
потребностям небольших корпоративных подразделений с ограничен-
ным числом пользователей и невысокой интенсивностью обмена.
Однако, по мере того, как клиент-серверная архитектура стала
проникать в сферу высококритичных корпоративных приложений, об-
служивающих уже не десятки, а сотни пользователей и работающих со
значительными массивами данных, стали очевидны недостатки двух-
звенного подхода. Этот способ реализации клиент-серверной схемы дос-
тупа ограничивал возможности масштабирования, поскольку увеличе-
ние числа обращений к одной базе данных непомерно увеличивало на-
грузку на сервер и делало доступ к данным «узким местом» в общей
производительности системы. Кроме того, всякая модификация логики
приложения требовала внесения изменений во все экземпляры клиент-
ских приложений.
Чтобы избежать таких проблем, для разработки корпоративных
приложений используют трехзвенную модель, которая переносит логику
приложения на отдельный уровень сервера приложений. В результате
клиентская часть приложения становится «тоньше» и в основном отве-
чает за предоставление удобного пользовательского интерфейса. Как
правило, сервер баз данных также освобождается от необходимости
поддерживать бизнес-логику, которая в двухзвенной модели реализуется
с помощью специальных расширений СУБД, например, хранимых про-
цедур. Перенос основных операций приложения на отдельный уровень
позволяет с максимальной эффективностью распределить нагрузку на