- •Эволюция архитектуры «клиент-сервер»
- •Определение и назначение промежуточного по
- •Функции middleware
- •Виды промежуточного по
- •Промежуточное по межпрограммного взаимодействия
- •Вызов удаленных процедур
- •Сервисы обработки сообщений
- •Мониторы обработки транзакций (tp-Monitors)
- •Распределенные объектные системы
- •Промежуточное по доступа к базам данных
- •Собственное по промежуточного слоя
- •Основное промежуточное по доступа к бд
- •Middleware: Что выбрать?
- •Контрольные вопросы
Лекция 5. Промежуточное программное обеспечение |
|
Эволюция архитектуры «клиент-сервер»
Определение и назначение промежуточного ПО
Функции middleware
Виды промежуточного ПО
Промежуточное ПО межпрограммного взаимодействия
Удаленный вызов процедур
Промежуточное ПО обработки сообщений
Мониторы обработки транзакций
Распределенные объекты
Промежуточное ПО доступа к базам данных
Собственное ПО промежуточного слоя
Основное промежуточное ПО доступа к БД
Middleware: Что выбрать?
Эволюция архитектуры «клиент-сервер»
Классическая двухзвенная клиент-серверная модель вполне подходит для небольших корпоративных подразделений с ограниченным числом пользователей и невысокой нагрузкой на сервер. Однако, по мере внедрения клиент-серверных технологий в сферу высококритичных корпоративных приложений, обслуживающих сотни пользователей и обрабатывающих существенные массивы данных, стали очевидны недостатки двухзвенных решений:
ограниченные возможности масштабирования;
необходимость изменения клиентских приложений при изменении работы серверной логики.
Решить эти проблемы позволяет переход на трех- и многозвенные модели, в которых прикладная логика вынесена в отдельный уровень (на сервер приложений). Это позволяет эффективно распределять нагрузку и обеспечить прозрачное наращивание как функциональности сервера (серверов) приложений, так и числа обслуживаемых пользователей.
Но, для перехода на трехзвенную архитектуру зачастую приходится решить другую проблему: как обеспечить взаимодействие имеющихся компонентов, от которых нельзя отказаться по тем или иным причинам, с компонентами новой системы. Т.е. возникает вопрос интеграции приложений. Ответом на этот вопрос является использование специализированного, т.н. промежуточного, программного обеспечения — middleware.
Определение и назначение промежуточного по
Рис. 1. Промежуточное программное обеспечение
Промежуточное программное обеспечение (middleware) — это класс программного обеспечения, предназначенного для объединения компонентов распределенного клиент-серверного приложения или целых сетевых приложений в единую информационную систему. Промежуточное ПО представляет набор сервисов, обращение к которым позволяет различным приложениям, в общем случае выполняющимся на разных платформах, взаимодействовать между собой (рис. 1). Общие прикладные интерфейсы (API) промежуточного ПО позволяют реализовать взаимодействие между приложениями, не углубляясь в инфраструктуру и детали реализации гетерогенной сети, а последующие изменения в структуре и составе такой сети не потребуют изменений в приложениях (при условии, что эти изменения не затрагивают API middleware).
Термин middleware впервые был использован в 1968 г., но как технология интеграции корпоративных приложений, этот тип программного обеспечения стал использоваться с 80-х годов XX в. для решения проблем совместимости и взаимодействия новых приложений с устаревшими наследованными системами.
Место промежуточного ПО — в условной «середине» между сетевыми приложениями или их компонентами. Этим оно напоминает среднее звено в трехзвенных клиент-серверных архитектурах, за исключением того, что функциональные части middleware распределены между приложениями и/или их компонентами в корпоративной сетевой среде.
Функции middleware
Сервисы middleware представляют приложениям разнобразные функции API, которые, в сравнении с функциями операционных систем и сетевых служб, обеспечивают:
прозрачный доступ к другим сетевым сервисам и приложениям;
независимость от других сетевых сервисов;
высокую надежность и постоянную готовность.
Следует отметить, что зачастую различия в функциональности операционной системы и промежуточного ПО являются условными. В частности, некоторые возможности, ранее представляемые исключительно средствами middleware, теперь реализуются на уровне ядра операционных систем. Типичным примером является стек TCP/IP, поддержка которого включена практически во все ОС.