Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Промежуточное
программное обеспечение
(middleware )
Эволюция архитектуры
«клиент-сервер»
Классическая 2-хзвенная К-С модель вполне
подходит для небольших корпоративных
подразделений с ограниченным числом
пользователей и невысокой нагрузкой на сервер.
Недостатки:
• ограниченные возможности масштабирования;
• необходимость изменения клиентских
приложений при изменении работы серверной
логики.
Решение - переход на 3х- и многозвенные
модели
? Интеграции приложений
MW
MW
MW
Функции middleware
Сервисы middleware представляют
приложениям разнобразные функции API,
которые, в сравнении с функциями ОС и
сетевых служб, обеспечивают:
• прозрачный доступ к другим сетевым
сервисам и приложениям; независимость от
других сетевых сервисов;
• высокую надежность и постоянную
готовность.
Виды промежуточного ПО
Категории (по специализации):
1. Программное обеспечение для
межпрограммного взаимодействия (см.
также IPC - Inter-Process Communication).
2. Программное обеспечение доступа к базам
данных.
Промежуточное ПО
межпрограммного
взаимодействия
Основные:
• RPC – удаленный вызов процедур
• MOM – обмен сообщениями
• TPM – обработка транзакций
• ORB, ООМ – объектно-ориентированные
средства
Проприетарные VS Открытые
Компания XEROX, нач. 80-х годов XX века
MW
MW
Минусы RPC
• Синхронные запросы
– RPC приостанавливает выполнение приложения
до тех пор, пока сервер не вернет требуемые
данные.
• Статические отношения между компонентами
– привязка клиентского процесса к серверным
заглушкам происходит на этапе компиляции и не
может быть изменена во время выполнения.
• Решение:
– асинхронные вызовы позволяющие избежать
приостановки выполнения клиентского
приложения посредством функций обратного
вызова (call-back functions);
– Использование динамических библиотек
Решение: вынос функций установления и
разрыва соединения за тело циклов, что
противоречит самой идее 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))
MW
MW
MW
Промежуточное обеспечение,
ориентированное на обработку
сообщений (MOM)
Плюсы МОМ:
• Асинхронность
• Возможность
использования в
«медленной» сети
• Качество обслуживания
(QoS) (след. слайд)
MW
MW
MW
Дорогое решение, ориентированное на большие
и сложные системы
Распределенные объектные системы
(Distributed object systems)
MW
Архитектура распределенных
объектных систем
Архитектура распределенных
объектных систем (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).
Промежуточное ПО доступа
к базам данных
• Собственное промежуточное ПО СУБД
– встроенные механизмы доступа для конкретного
сервера баз данных.
• Основное промежуточное ПО баз данных
– к этому типу относится, например, интерфейс
Open Database Connectivity (ODBC), который
позволяет программам «общаться» на разных
диалектах SQL через общие интерфейсы.
Собственное промежуточное
ПО СУБД
• поддержка стандартов языка SQL.
• встроенные средства СУБД, позволяющие
выполнять импорт данных из внешних
источников (например, из других СУБД или
текстовых файлов) и экспортировать данные
в сторонние форматы (например, CSV или
XML)
Основное промежуточное
ПО доступа к БД
• внешние (по отношению к СУБД) средства
middleware, специально разработанные для
обращения к базам данных.
– технологические решения (например, ODBC и
JDBC),
– концептуальные, представляющие обобщенную
архитектуру информационной системы с
распределенными БД (например, EDA или DQB)
Основное промежуточное
ПО доступа к БД (2)
• ODBC (Open DataBase Connectivity, открытое
соединение с БД)
– интерфейс доступа к БД, разработанный Microsoft.
ODBC представляет возможность обращения к
реляционным и нереляционным СУБД в гетерогенной
среде через унифицированные вызовы API
Основное промежуточное
ПО доступа к БД (3)
• JDBC (Java DataBase Connectivity)
– прикладной программный интерфейс для
обращения к базам данных из Java-приложений.
Средства JDBC являются
платформонезависимыми и выполняются в любой
среде под управлением виртуальной машины Java.
• EDA (Event-Driven Architecture, событийно-
управляемая архитектура)
– концепция управления корпоративной
информационной системой на основе событий,
возникающих в бизнес-процессе. Доступ к БД в EDA
базируется на использовании централизованного
способа обращения к распределенным базам
данных.
Основное промежуточное
ПО доступа к БД (4)
• DQB (Distributed Query Broker, брокер
распределенных запросов)
– децентрализованное (в отличие от EDA)
решение для доступа к БД на основе ORB.
Заглушки-брокеры, размещенные на
серверах БД, принимают унифицированные
SQL-запросы и транслируют их в диалекты
конкретных СУБД
Middleware: Что выбрать?
1. Использование RPC может быть наиболее подходящим
решением для систем, где возможные проблемы, связанные с
синхронностью протокола RPC, не являются критичными.
2. Промежуточное ПО обмена сообщениями предлагает
бОльшую, по сравнению с RPC, гибкость, так как ни одно из
взаимодействующих приложений не блокируется в процессе
обмена сообщениями.
• АС, компоненты которых слабо связаны, работают в
независимом временном режиме и используют
разнородную сетевую среду
3. Взаимодействие компонентов корпоративных приложений в
объектно-ориентированной среде удобнее всего
реализовывать с помощью объектных-же средств
промежуточного ПО.
4. Мониторы транзакций ориентированы на сложные и
высококритичные корпоративные системы.
объединения возможностей разных его категорий
и для разного рода задач
Конец лекции !

More Related Content

MW

  • 2. Эволюция архитектуры «клиент-сервер» Классическая 2-хзвенная К-С модель вполне подходит для небольших корпоративных подразделений с ограниченным числом пользователей и невысокой нагрузкой на сервер. Недостатки: • ограниченные возможности масштабирования; • необходимость изменения клиентских приложений при изменении работы серверной логики. Решение - переход на 3х- и многозвенные модели ? Интеграции приложений
  • 6. Функции middleware Сервисы middleware представляют приложениям разнобразные функции API, которые, в сравнении с функциями ОС и сетевых служб, обеспечивают: • прозрачный доступ к другим сетевым сервисам и приложениям; независимость от других сетевых сервисов; • высокую надежность и постоянную готовность.
  • 7. Виды промежуточного ПО Категории (по специализации): 1. Программное обеспечение для межпрограммного взаимодействия (см. также IPC - Inter-Process Communication). 2. Программное обеспечение доступа к базам данных.
  • 8. Промежуточное ПО межпрограммного взаимодействия Основные: • RPC – удаленный вызов процедур • MOM – обмен сообщениями • TPM – обработка транзакций • ORB, ООМ – объектно-ориентированные средства Проприетарные VS Открытые
  • 9. Компания XEROX, нач. 80-х годов XX века
  • 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) (след. слайд)
  • 21. Дорогое решение, ориентированное на большие и сложные системы
  • 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. Мониторы транзакций ориентированы на сложные и высококритичные корпоративные системы. объединения возможностей разных его категорий и для разного рода задач