2. Эволюция архитектуры
«клиент-сервер»
Классическая 2-хзвенная К-С модель вполне
подходит для небольших корпоративных
подразделений с ограниченным числом
пользователей и невысокой нагрузкой на сервер.
Недостатки:
• ограниченные возможности масштабирования;
• необходимость изменения клиентских
приложений при изменении работы серверной
логики.
Решение - переход на 3х- и многозвенные
модели
? Интеграции приложений
6. Функции middleware
Сервисы middleware представляют
приложениям разнобразные функции API,
которые, в сравнении с функциями ОС и
сетевых служб, обеспечивают:
• прозрачный доступ к другим сетевым
сервисам и приложениям; независимость от
других сетевых сервисов;
• высокую надежность и постоянную
готовность.
7. Виды промежуточного ПО
Категории (по специализации):
1. Программное обеспечение для
межпрограммного взаимодействия (см.
также IPC - Inter-Process Communication).
2. Программное обеспечение доступа к базам
данных.
12. Минусы RPC
• Синхронные запросы
– RPC приостанавливает выполнение приложения
до тех пор, пока сервер не вернет требуемые
данные.
• Статические отношения между компонентами
– привязка клиентского процесса к серверным
заглушкам происходит на этапе компиляции и не
может быть изменена во время выполнения.
• Решение:
– асинхронные вызовы позволяющие избежать
приостановки выполнения клиентского
приложения посредством функций обратного
вызова (call-back functions);
– Использование динамических библиотек
13. Решение: вынос функций установления и
разрыва соединения за тело циклов, что
противоречит самой идее RPC.
См. также:
RFC 1057 Remote Procedure Call Protocol
Specification Version 2 (Sun Microsystems),
C706 DCE 1.1: Remote Procedure Call (The
OpenGroup Distributed Computing Environment
(DCE))
17. Промежуточное обеспечение,
ориентированное на обработку
сообщений (MOM)
Плюсы МОМ:
• Асинхронность
• Возможность
использования в
«медленной» сети
• Качество обслуживания
(QoS) (след. слайд)
25. Архитектура распределенных
объектных систем (2)
• Microsoft COM (Component Object Model,
компонентная объектная модель)
– семейство технологий, предназначенных для
организации взаимодействия Windows-приложений
Входят COM+, DCOM (Distributed COM) и ActiveX
Controls. Microsoft позиционирует COM как
платформу для разработки повторно используемых
(re-usable) компонентов приложений.
– В случае DCOM — компонентов распределенных
клиент-серверных систем.
• EJB (Enterprise JavaBeans) — технология,
разработанная Sun Microsystems для корпоративных
решений на платформе Java (Java EE/EJB).
26. Промежуточное ПО доступа
к базам данных
• Собственное промежуточное ПО СУБД
– встроенные механизмы доступа для конкретного
сервера баз данных.
• Основное промежуточное ПО баз данных
– к этому типу относится, например, интерфейс
Open Database Connectivity (ODBC), который
позволяет программам «общаться» на разных
диалектах SQL через общие интерфейсы.
27. Собственное промежуточное
ПО СУБД
• поддержка стандартов языка SQL.
• встроенные средства СУБД, позволяющие
выполнять импорт данных из внешних
источников (например, из других СУБД или
текстовых файлов) и экспортировать данные
в сторонние форматы (например, CSV или
XML)
28. Основное промежуточное
ПО доступа к БД
• внешние (по отношению к СУБД) средства
middleware, специально разработанные для
обращения к базам данных.
– технологические решения (например, ODBC и
JDBC),
– концептуальные, представляющие обобщенную
архитектуру информационной системы с
распределенными БД (например, EDA или DQB)
29. Основное промежуточное
ПО доступа к БД (2)
• ODBC (Open DataBase Connectivity, открытое
соединение с БД)
– интерфейс доступа к БД, разработанный Microsoft.
ODBC представляет возможность обращения к
реляционным и нереляционным СУБД в гетерогенной
среде через унифицированные вызовы API
30. Основное промежуточное
ПО доступа к БД (3)
• JDBC (Java DataBase Connectivity)
– прикладной программный интерфейс для
обращения к базам данных из Java-приложений.
Средства JDBC являются
платформонезависимыми и выполняются в любой
среде под управлением виртуальной машины Java.
• EDA (Event-Driven Architecture, событийно-
управляемая архитектура)
– концепция управления корпоративной
информационной системой на основе событий,
возникающих в бизнес-процессе. Доступ к БД в EDA
базируется на использовании централизованного
способа обращения к распределенным базам
данных.
31. Основное промежуточное
ПО доступа к БД (4)
• DQB (Distributed Query Broker, брокер
распределенных запросов)
– децентрализованное (в отличие от EDA)
решение для доступа к БД на основе ORB.
Заглушки-брокеры, размещенные на
серверах БД, принимают унифицированные
SQL-запросы и транслируют их в диалекты
конкретных СУБД
32. Middleware: Что выбрать?
1. Использование RPC может быть наиболее подходящим
решением для систем, где возможные проблемы, связанные с
синхронностью протокола RPC, не являются критичными.
2. Промежуточное ПО обмена сообщениями предлагает
бОльшую, по сравнению с RPC, гибкость, так как ни одно из
взаимодействующих приложений не блокируется в процессе
обмена сообщениями.
• АС, компоненты которых слабо связаны, работают в
независимом временном режиме и используют
разнородную сетевую среду
3. Взаимодействие компонентов корпоративных приложений в
объектно-ориентированной среде удобнее всего
реализовывать с помощью объектных-же средств
промежуточного ПО.
4. Мониторы транзакций ориентированы на сложные и
высококритичные корпоративные системы.
объединения возможностей разных его категорий
и для разного рода задач