Common Object Request Broker Architecture (CORBA)



–Технология взаимодействия приложений

–Разработана консорциумом OMG (Object Management Group)

–Базируется на архитектуре клиент-сервер

 

Основные понятия (1)

Клиент – процесс, осуществляющий обращение к CORBA-объекту

CORBA-объект – объект, предоставляющий некоторые услуги по запросу клиентов

Устойчивые – существуют независимо от процесса, который их создал

Временные – объекты, чей жизненный цикл ограничен процессом, который их создал

Сервант – процесс, реализующий CORBA-объект

Инкарнация – связывание серванта с CORBA-объектом для обработки клиентского запроса

Эфемеризация разрушение связи объекта и серванта

–один сервант в процессе своей работы может инкарнировать один или более объектов

Интерфейс – сущность, описывающая методы объекта

–Описывается при помощи языка IDL

–Один объект может поддерживать несколько интерфейсов (только начиная с версии 3.0)

Брокер объектных запросов (Object Request Broker, ORB) – среда, управляющая взаимодействием клиента и объекта

–отвечает за поиск реализации объекта, активацию

 

Основные понятия (2)

IDL стаб – клиентский модуль, обеспечивающий взаимодействие клиента со средой ORB

–генерируется на основе IDL-описания интерфейса

–используется при статическом обращении к объекту

IDL скелетон – серверный модуль, обеспечивающий взаимодействие среды ORB с объектом CORBA

–генерируется на основе IDL-описания интерфейса

–используется при статическом обращении к объекту

DII (Dynamic Invocation Interface) – интерфейс, позволяющий клиенту напрямую обращаться к среде ORB

–обеспечивает динамические вызовы к объектам

–не требует «заглушек» IDL

–поддерживает асинхронные и однонаправленные вызовы

DSI (Dynamic Skeleton Interface) – интерфейс, обеспечивающий прямое взаимодействие среды ORB с объектом CORBA

–обеспечивает динамические вызовы к объектам

–не требует «заглушек» IDL

Объектный адаптер (Object Adapter) – вспомогательный компонент, помогающий среде ORB управлять объектами. Отвечает за:

–создание объектов и объектных ссылок

–перенаправление запросов сервантам

–инкарнацию объектов

 

19. Технологии построения распределенных систем. Технология MOM.

Message-Oriented Middleware (MOM) – промежуточное ПО, ориентированное на сообщения

–Технология взаимодействия приложений на основе обмена сообщениями

–Ориентирована на асинхронное взаимодействие

 

  1. Системы очередей сообщений. Модели взаимодействия приложений.

Система очередей сообщений (Message Queue System) – промежуточное программное обеспечение, основанное на технологии MOM, позволяющее приложениям обмениваться информацией через очереди сообщений

–осуществляет управление очередями

–управляет хранением сообщений

–обеспечивает доступ к очередям со стороны прикладных программ

 

•MSMQ •WebSphere MQ (MQSeries) •EntireX •Advanced Queueing (Oracle) •Sonic MQ •Fiorano MQ •Sun Java System MQ

Основные понятия.

Очередь (queue) – структура данных, предназначенная для промежуточного хранения сообщений

–Организует сообщение в порядке FIFO

–Имеет два основных метода работы с сообщениями:

•Put – записать сообщение в конец очереди

•Get – извлечь первое сообщение из очереди

Сообщение (message) –структура данных, используемая для представления информации, передаваемой между приложениями

–состоит из заголовка и прикладной части

 

Модели взаимодействия:

- Односторонняя передача данных

-Запрос-ответ (синхронное или асинхронное взаимодействие)

-Клиент-сервер (синхронное или асинхронное взаимодействие)

- «Публикация-подписка»

(асинхронное взаимодействие)

•Приложения публикаторы размещают информацию на сервере с указанием темы

•Приложения подписчики регистрируются на получение информации, относящейся к заданной теме

Тема – идентификатор, позволяющий отнести сообщение к той или иной логической категории

Брокер – вспомогательное приложение, управляющее доставкой сообщений

 

21. Технологии построения распределенных систем. Архитектура SOA.

Сервисно-ориентированная архитектура (Service-Oriented Architecture, SOA) – компонентный подход к разработке информационных систем, основанный на использовании сервисов со стандартизированными интерфейсами

•Основные объекты архитектуры SOA:

–Сервис

–Поставщик сервиса

–Потребитель сервиса

–Реестр сервисов

•Для реализации SOA необходимо три типа соглашения:

–Транспортное соглашение

–Соглашение об описании функциональности сервиса

–Соглашение о способе обнаружения сервиса

 

  1. Технологии построения распределенных систем. Web-сервисы.

Web-service (Web-служба, Web-сервис)

–«программная система, предназначенная для поддержки межмашинного взаимодействия через сеть» (W3C)

–серверная служба, идентифицируемая строкой URI, предоставляющая услуги по запросу клиентов

•Web-сервисы

–обеспечивают взаимодействие приложений в информационной системе

–реализуют бизнес-логику в трехуровневой клиент-серверной архитектуре

–построены на архитектуре SOA

–используют язык XML для описания интерфейсов (WSDL) и представления трансмиссионных сообщений (SOAP)

–выполняются на серверах приложений

 

Протокол SOAP

Simple Object Access Protocol (SOAP) – протокол обмена сообщениями в распределенной вычислительной среде

– SOAP используется для взаимодействия с Web-сервисами

– Сообщения SOAP основаны на формате XML

– Для передачи сообщений SOAP обычно используется протокол HTTP

Язык WSDL

Web Services Description Language (WSDL) – язык описания Web-сервисов, основанный на языке XML

 

23. Web-серверы. Протокол HTTP. Язык HTML.

Web-сервер (HTTP-сервер) – серверное программное обеспечение, управляющее предоставлением доступа к интернет-сайтам

–принимает запросы от клиентов и доставляет им в ответ веб-страницы

–работают с протоколом HTTP

 

•Apache HTTP Server •Apache Tomcat •IBM HTTP Server•Internet Information Services (IIS) •Oracle HTTP Server •Jetty

Протокол HTTP

Hypertext Transfer Protocol (HTTP) «протокол передачи гипертекста»

–клиент-серверный протокол прикладного уровня

–используется для получения информации с web-сайтов

Uniform Resource Identifier (URI) –строка, идентифицирующая ресурс, к которому обращается клиент

HTTPS – расширение протокола HTTP, поддерживающее шифрование

–Использует механизмы SSL и TLS

 

•HTTP-сообщение:

–Стартовая строка

–Заголовки

–Тело сообщения

•Методы HTTP: –OPTIONS –GET –HEAD –POST –PUT –PATCH –DELETE –TRACE –LINK –UNLINK –CONNECT

 

Сообщение HTTP:

Стартовая строка – определяет тип сообщения

Заголовки – характеризуют параметры передачи сообщения

Тело сообщения – содержит прикладные данные, передаваемые в сообщении

 

Язык HTML

Hypertext Markup Language (HTML) – «язык разметки гипертекста» – язык подгруппы SGML, используемый для создания Web-страниц

 

24. Управление содержимым Web-страницы на стороне клиента.

•Web-страницы

Статические – содержимое страницы неизменно

Динамические

•страница может менять свое содержимое в зависимости от действий пользователя

•содержимое страницы генерируется программно

•Управление содержимым Web-страницы

–На стороне клиента

–На стороне сервера

 

Управление содержимым страницы на стороне клиента

•Браузер получает от Web-сервера страницу, содержащую наравне с данными HTML программные скрипты или ссылки на программы

•При возникновении определенного события, браузер выполняет эти программы

 

•JavaScript •VBScript •Java-апплеты •ActiveX

 

JavaScript – интерпретируемый язык программирования

– Позволяет управлять содержимым Web-страниц

– Обеспечивает интерактивность Web-страниц

Java-апплеты – прикладные программы Java, откомпилированные в байт-код, выполняемые на стороне клиента

– выполняются в веб-браузере с использованием виртуальной машины Java

– позволяют управлять содержимым Web-страниц

– обеспечивают интерактивность Web-страниц

 

25. Управление содержимым Web-страницы на стороне сервера. Common Gateway Interface.

•Клиент отправляет запрос Web-серверу

•Web-сервер запускает программу/скрипт, генерирующий HTML страницу, и возвращает ответ клиенту

 

•CGI •ASP •JSP •Сервлеты •PHP •ASP .NET

Common Gateway Interface (CGI) – спецификация обмена данными между прикладной программой, выполняемой по запросу пользователя, и HTTP- сервером, который данную программу запускает

– определяет порядок запуска программы на сервере, способы передачи программе параметров и доставки результатов ее выполнения клиенту

 

• Perl • C • C++ • Fortran • PHP • Java

26. Управление содержимым Web-страницы на стороне сервера. Сервлеты и JSP.

Сервлет – специальный класс Java, обслуживающий клиентские запросы.

Сервлет HTTP выполняется на веб-сервере (или сервере приложений) и обслуживает запросы клиентов, поступившие по протоколу HTTP

 

Java Server Page (JSP) – веб-страница, содержащая код Java

• JSP-страница при первом обращении преобразуется в сервлет и компилируется в байт-код, выполняемый Java-машиной

 

27. Серверы приложений. Предназначение. Преимущества использования.

Сервер приложений (Application server) – служба, управляющая выполнением прикладных задач (приложений/процедур/сервисов)

– реализует бизнес-логику в многоуровневой клиент-серверной архитектуре

– обрабатывает запросы, поступающие от клиентов

– обеспечивает централизованный доступ к ресурсам и службам информационной системы (СУБД, почтовые и файловые сервера, веб-сервисы, и т.п.)

Преимущества использования СП:

– Целостность кода

– Централизованное управление

– Безопасность

– Производительность

28. Серверы приложений J2EE

Серверы приложений J2EE

•Oracle

–Oracle Application Server –WebLogic –GlassFish

•IBM

–WebSphere Application Server –WebSphere Application Server CE

•Apache

–Geronimo •Tomcat

•Axis

•RedHat JBoss Application Server

•Caucho Resin

 

Сервер приложений J2EE поддерживает спецификацию Java Enterprise Edition

•Может включать в себя следующие сервисы:

–Безопасность и защита данных

–Поддержка веб-сервисов (SOAP, WSDL, UDDI)

–Веб-сервер (поддержка HTTP, сервлетов, JSP)

–Сервис доставки сообщений (JMS)

–Поддержка XML

–Поддержка транзакций (JTA)

–Поддержка доступа к СУБД (JDBC)

–Поддержка доступа к почтовому серверу (JavaMail)

–Служба каталогов и имен (JNDI)

–EJB-контейнер

–Удаленный вызов методов (RMI)

 

 

29. Интеграция приложений. Концепция EAI.

Интеграция приложений – процесс обеспечения совместного функционирования и взаимодействия разнородных, независимо спроектированных систем

•Интеграция является выгодной альтернативой разработки новых систем

 

•Проблемы интеграции:

–Приложения не имеют изначально заложенных механизмов взаимодействия

–Приложения используют различные технологии взаимодействия

–Приложения работают с различными форматами данных

–Приложения выполняются на различных платформах под управлением различных ОС

–Приложения функционируют в различное время по различному регламенту

 

 

Способы интеграции

• Интеграция «напрямую»

• Использование промежуточного интеграционного ПО

 

Функции интеграционного ПО

•Транспорт •Промежуточное хранение информации •Управление потоками информации •Обработка информации

Концепция EAI

EAI (Enterprise Application Integration) – концепция интеграции корпоративных приложений

•Задачи EAI

–Интеграция приложений

–Интеграция бизнес-процессов (BPI)

–Интеграция данных (Data Integration)

–Интеграция пользовательских интерфейсов (User Interface Integration)

•Функции средств EAI

–Обеспечение связи

–Доставка информации

–Преобразование данных

–Управление потоками информации

–Управление транзакциями

–Управление распределенными бизнес-процессами

 

Топологии EAI

• Hub-and-spoke (Звезда) • Bus (Шина)

 

Средства EAI

•Ядро EAI-системы:

–серверы приложений –MOM-системы –специализированные средства управления данными и процессами

Адаптеры (adapters, connectors) –обеспечивают подключение приложений к ядру EAI

 

•IBM WebSphere •SAP NetWeaver •Oracle WebLogic / ESB

 

Реализация концепции EAI с использованием средств IBM

На основе средств сообщений:

IBM WebSphere Message Broker – программный продукт, управляющий потоками информации на основе технологии MOM. Используется для создания брокеров и организации единой шины предприятия (ESB).

 

На основе SOA:

IBM WebSphere ESB – программный продукт, управляющий единой шиной предприятия (ESB) на основе средств SOA


Дата добавления: 2018-02-18; просмотров: 695; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!