- •Распределенные события:
- •4. Проектирование сложных объектов. Основные принципы проектирования. Аспекты и стадии проектирования
- •5. Развитие парадигмы программирования
- •6. Функциональное моделирование. Стандарты idef0, idef3.
- •7. Информационное моделирование. Стандарты idef1, idef1x/
- •8. Средства и элементы статистических и динамических моделей объектно-ориентированных систем (статические и динамические диаграммы uml).
- •9.Порождающие паттерны. Назначение, обобщенные свойства, применение. Пример реализации.
- •10. Структурные паттерны. Назначение, обобщенные свойства, применение. Пример реализации.
- •11.Паттерны поведения. Назначение, обобщенные свойства, применение. Пример реализации
- •12. Язык xml: средства, назначения и особенности использования. Xml и dtd.
- •13. Язык xml и схемы данных.
- •14.Методы и средства обработки xml документов с использ-ем моделей dom и sax, преимущ-ва и недостатки.
- •15.Языки Extensible Markup Language(xsl) и xsl Transformations (xslt): назначение и особенности использования.
- •16. Язык xPath и его применение для доступа к элементам xml.
- •17.Фазы, итерации и циклы разработки. Рабочие процессы, модели и артефакты.
- •18. Совместная разработка: Методы и средства тестирования и отладки программных приложений
- •19. Особенности модель распределённых объектов. Модель rpc.
- •20. Классы и интерфейсы механизма rmi . Архитектура и конфигурирование rmi
- •Разработка rmi приложений. Примеры. Соглашения о передаче данных
- •Corba, назначение, терминология. Архитектура управления объектами (ома). Объектная модель corba.
- •Основные сервисы Corba, модель организация приложений corba, примеры.
- •Orb: понятие, назначение, основные функции. Принципы организации запросов в orb. Использование стандарта iiop.
- •Объектный адаптеры boa и роа. Назначение и основные функции. Статические и динамические вызовы в corba.
- •Язык idl, основные характеристики языка, создание распределенных объектов на idl Связь rmi и corba.
- •Понятие прозрачность, серванта, использование посредников proxies в corba. Name сервис.
- •Платформа j2ee. (основные технологии). Когда следует применять Enterprise JavaBeans. Типы ejb, обобщенная архитектура, принципы функционирования и программное обеспечение.
- •Понятие, определение и использование удаленного (Remote) и локального интерфейсов. Их применение и программная реализация (примеры).
- •Понятие, определение и использование собственного (home) интерфейса. Их программная реализация (примеры)
- •Сеансовые (Session) компоненты ejb без состояния и с состоянием, их особенности и применение.
- •Общие принципы развертывание сеансовых компонентов ejb. Пример текста дескриптора поставки.
- •Организация и особенности Entity компонент с сохранением (персистентностью) управляемым контейнером (cmp).
- •Организация и особенности Entity компонент с сохранением (персистентностью) управляемым компонентом (bmp).
- •Особенности реализации (home) и (Remote) интерфейсов для Entity компонентов.
- •Контейнер ejb, понятие, назначение, основные функции.
- •Дескриптор поставки, структура и общие принципы организации кода. Пример описания на xml.
- •Jndi, структура, назначение, роль в развертывании и функционировании.
- •Архитектура совместного использования web и ejb компонентов, Ejb-транзакции.
- •Доступ к компонентам ejb из различных приложений клиента (web, Console, gui).
- •Компоненты ejb, управляемые сообщениями. Обмен сообщениями с помощью java Message Service (jms) .
- •Модели использования jms. Основные объекты и термины, их назначение (алгоритм реализации).
- •Message Driven Beans (mdb), жизненный цикл компонентов. Особенности применения и функционирования, реализующие методы (примеры).
- •Технология jsf Базовые концепции технологии и функциональные возможности jsf
- •Inversion of Control контейнер
20. Классы и интерфейсы механизма rmi . Архитектура и конфигурирование rmi
RMI-технология позволяет выполнять прозрачный запуск методов объектов Java, которые расположены на удаленных машинах, таким образом, как если бы они располагались на локальных машинах. RMI – позволяет строить приложения, работа которых распределена между несколькими машинами в архитектуре клиент-сервер.
Интерфейсы: основа RMI. На основе использования интерфейсов было достигнуто разделения описания поведения (интерфейс) и реализации этого поведения(классы). Такое разделение соответствует принятой практике, в которой клиенты знают об определениях служб, а серверы предоставляют эти службы. В RMI интерфейсы определяют поведение, а классы – реализацию. RMI поддерживает два класса, реализующих один и тот же интерфейс: первый реализует поведения и исполняется на сервере, второй класс работает как промежуточный интерфейс для удаленной службы и исполняется на клиентской машине.
Уровни архитектуры RMI: первый - уровень заглушки и скелета, обслуживающий пользователя. Этот уровень перехватывает вызовы методов, произведенные клиентом при помощи переменной - ссылки на интерфейс, и переадресует их в удаленную службу RMI. используется пользователем. В прокси-модели, используемой в RMI, роль прокси выполняет класс заглушки, а роль RealSubject выполняет класс, реализующий удаленную службу. Скелет является вспомогательным классом, который создается для использования RMI. Скелет понимает, как взаимодействовать с заглушкой при RMI-соединении. Он читает параметры для вызова метода из соединения, производит вызов объекта, реализующего удаленную службу, принимает возвращаемое значение и записывает его обратно в заглушку. Второй – уровень удаленной ссылки. Предоставляет объект RemoteRef , который обеспечивает соединение с объектами, реализующими удаленные службы. Этот уровень понимает, как интерпретировать и управлять ссылками на удаленные объекты служб. Это соединение является связью типа один к одному (однонаправленное соединение). Третий - Транспортный уровень, основанный на соединениях TCP/IP между сетевыми машинами. Он обеспечивает основные возможности соединения и некоторые стратегии защиты от несанкционированного доступа. При использовании уровневой архитектуры каждый из уровней может быть изменен или заменен без воздействия на остальную систему. Даже если две JVM работают на одном и том же физическом компьютере, они соединяются через стек сетевых протоколов TCP/IP. Это соединение основано на адресе IP и номере порта, либо имя DNS; На вершине TCP/IP RMI использует протокол уровня соединения, называемый Java Remote Method Protocol (JRMP). JRMP является частным, основанным на потоках , протоколом , который только частично специфицирован в настоящее время в двух версиях.
Суть: При вызове метода удаленного объекта на самом деле вызывается обычный метод языка Java, инкапсулированный в специальном объекте-заглушке (stub), который является представителем серверного объекта. Заглушка находится на клиентском компьютере, а не на сервере. Она упаковывает параметры удаленного метода в блок байтов. Каждый параметр кодируется с помощью алгоритма, обеспечивающего независимость от аппаратуры. При этом объекты подвергаются сериализации. Процесс кодирования параметров называется развертыванием параметров (parameter marshaling). Основная цель развертывания параметров — преобразование их в формат, пригодный для передачи параметров от одной виртуальной машины к другой. Метод, принадлежащий заглушке, создает блок, в который входят следующие элементы: 1. идентификатор удаленного объекта; 2. описание вызываемого метода; 3. развернутые параметры. Затем метод заглушки посылает эту информацию серверу. Далее объект-получатель выполняет для каждого вызова удаленного метода следующие действия: 1. свертывание параметров; 2. поиск вызванного объекта; 3. вызов заданного метода; 4. извлечение и развертывание возвращаемого значения или исключения, сгенерированного данным методом; 5. передача пакета, состоящего из развернутых возвращаемых данных, объекту-заглушке на клиентском компьютере.Клиентский объект-заглушка свертывает возвращаемое значение или исключение, полученное с сервера. Результат свертывания становится возвращаемым значением метода заглушки. Если удаленный метод возвращает исключение, то объект-заглушка повторит его в среде объекта-клиента.