- •Распределенные события:
- •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 контейнер
Понятие, определение и использование удаленного (Remote) и локального интерфейсов. Их применение и программная реализация (примеры).
Home-интерфейс, является точкой входа в Ваш компонент или фабрикой компонента. Другими словами любое начало взаимодействия с Вашими компонентами происходит через Home-интерфейсы. Клиент обращается к интерфейсу и создает через него экземпляры (объекты), которые обслуживают данный компонент. А в конце своей работы он их уничтожает.
Remote-интерфейс позволяет взаимодействовать с экземплярами (объектами), которые были созданы через фабрику (Home-интерфейс). Через Remote-интерфейс пользователь вызывает бизнес методы компонента, которые естественно Вам придется реализовывать и запихивать туда логику Вашего приложения.
Удаленный интерфейс определяет бизнес-методы, специфичные для бина. Например, удаленный интерфейс бина, который называется BankAccountEJB, может иметь бизнес-методы debit и credit. Написание remote-интерфейса
Remote-интерфейс объявляет и делает доступным те методы Компонента, к которым может обращаться его клиент. Этот интерфейс наследует интерфейс javax.ejb.EJBObject.
Методы home-интерфейса предназначены для создания, поиска и уничтожения экземпляров (instance) Компонентов Для entity бинов домашний интерфейс также определяет методы finder. Home-интерфейс Компонента EJB служит для управления циклом жизни Компонента.
Вот простой удаленный интерфейс для Sample EJB:
// Удаленный интерфейс для SampleBean
public interface Sample extends EJBObject {
public long getSample() //метод реализации бизнес-логики
throws RemoteException;
} ///:~
Вот простой локальный интерфейс для LocalCustomer EJB:
public interface LocalCustomer extends EJBLocalObject {
String getCustomerName();
void setCustomerName(String customerName);
LocalAddress getAddress();
void setAddress(LocalAddress address);
}
Понятие, определение и использование собственного (home) интерфейса. Их программная реализация (примеры)
Домашний интерфейс
Для каждого создающегося класса Enterprise Bean необходимо разработать ассоциированный с ним домашний интерфейс. Домашний интерфейс используется как фабрика объектов (т.е., основная задача домашнего интерфейса создать реальный объект Enterprise Bean для решения задачи). При этом используется JNDI, в контексте которого известно место расположения домашнего интерфейса, на который возвращается ссылка. Клиентское приложение использует Home интерфейс для нахождения экземпляра EJB или создания нового экземпляра вашего EJB.
Домашний интерфейс - фабрика для создания компонента. Он может определить метод create, для создания экземпляра EJB, или метод finder, который находит существующий EJB и используется только для Сущностных Компонент. Основные принципы создания Домашнего интерфейса:
Домашний интерфейс должен быть публичным (public).
Домашний интерфейс должен расширять интерфейс javax.ejb.EJBHome.
Каждый метод create Home-интерфейса должен декларировать java.rmi.RemoteException в преложении throws наряду с javax.ejb.CreateException.
Возвращаемое значение метода create должно иметь тип Удаленного интерфейса.
Возвращаемое значение метода finder (только для Сущностных Компонент) должно иметь тип удаленного интерфейса или java.util.Enumeration, или java.util.Collection.
Любые объекты, передаваемые в качестве аргумента (либо напрямую, либо внутри локального объекта) должны быть действительными с точки зрения RMI-IIOP типом данным (включая другие EJB объекты).
Принятое стандартное соглашение об именах Домашних интерфейсов состоит в прибавлении слова “Home” в конец имени Удаленного интерфейса. Вот Домашний интерфейс для Sample EJB:
// Для удаленного интерфейса Sample
// Домашний интерфейс бина: SampleBean.
import java.rmi.*;
import javax.ejb.*;
public interface SampleHome extends EJBHome {
public Sample create()
throws CreateException, RemoteException;
} ///:~