Серверы приложений
Являясь эффективными средствами для построения масштабных приложений категории OLTP (OnLine Transaction Processing), TP-мониторы обычно не обеспечивают следующие возможности:
- Хранение логики приложений и управление ею
- Размещение и создание экземпляров объектов
- Кэширование объектов и отслеживание их времени жизни
Разработка многозвенных приложений целиком связана с их разделением, которое состоит в делении работы между клиентом и одним или несколькими специализированными серверами. Серверы приложений облегчают разделение, допуская перенос компонентов приложения на архитектурный уровень и физическую платформу, на которых они могут работать наиболее эффективно.
Сервер приложений поддерживает определение логики приложений. Для этих целей некоторые серверы обеспечивают собственные средства разработки и языки. Другие полагаются на объектные стандарты, такие как CORBA, COM или JavaBeans. Почти во всех случаях требуется инкапсуляция логики приложения в одном или нескольких объектах. Возможности этих объектов доступны через их методы, которые могут быть вызваны напрямую из кода приложения или из других объектов.
Гибкость современных РСУБД делает соблазнительным поместить существенную часть логики приложения прямо в базу данных в виде хранимых процедур. Если не принимать во внимание ссылочные и другие ограничения целостности, это, вообще говоря, плохая идея. Для большинства приложений пропускная способность сервера баз данных является наиболее ценным ресурсом. Если сервер выполняет специфичную для приложения задачу для одного пользователя, пожирающего этот ресурс, то он не в состоянии обслуживать потребности всех других пользователей. Лучше разделить эту работу таким образом, чтобы аппаратные ресурсы могли быть сосредоточены на выполнении наиболее требуемых действий.
До последнего времени большинство серверов приложений было тесно связано с платформами разработки корпоративных приложений. Хорошим примером являются продукты компании . Линия продуктов этой компании включает средства разработки GUI (Graphical User Interface), компоненты связи с базами данных и средства распространения. Все они выстроены вокруг надежного сервера приложений. Проектировщик создает приложение так, как если бы оно должно было выполняться на одной машине, а затем использует средства разделения, чтобы поделить работу между клиентом и серверами приложений. В продуктах семейства Vision компании также используется эта модель.
До конца 1995 г. этот класс корпоративных инструментальных средств переднего края составлял достаточно хорошо понимаемую и устоявшуюся категорию. И тогда пришло время Web.