
- •Сети эвм и телекоммуникации. 2012
- •1. Методы передачи данных на физическом уровне
- •2. Открытая системы.7-уровневая модель взаимодействия открытых систем. Интерфейсы и протоколы.
- •3. Повторители, мосты, коммутаторы
- •4. Lan. Ethernet. Принцип работы.
- •5. Fast Ethernet Принцип работы. Формат кадра. Варианты реализации
- •6. Lan. Token Ring. Принцип работы.
- •7. Lan. Fddi. Принцип работы.
- •8. Структурированная кабельная система.
- •9. Snmp
- •10. Vpn.
- •11. Arp. Rarp.
- •12. Стеки протоколов. Tcp/ip. Ip адреса и доменные адреса. Статическое и динамическое назначение адресов.
- •13. Dns.
- •14. Dhcp.
- •15. Tcp/ip. Ip протокол.
- •16. Tcp/ip. Tcp. Udp.
- •17. Маршрутизация. Статическая маршрутизация
- •18. Маршрутизация. Динамическая маршрутизация.
- •19. Slip. Cslip. Ppp
- •21. Proxy сервер.
- •21. Proxy сервер.
- •22. Сокеты. Основные функции для работы с сокетами.
- •23. Сокеты. Серверы с установлением и без установления соединения.
- •24. Сокеты. Последовательный и параллельный сервер.
- •25. Вызов удаленных процедур (rpc).
- •26. E-mail. Smtp.
- •27. Url.
- •28. Web сервер. Http.
- •29. Языки гипертекстовой разметки sgml. Xml. Html.
- •30. Распределенные системы объектов
- •31. Системы именований
- •32. Распределенные файловые системы. Распределенные системы документов.
- •34. Понятие компонента. Компонентные технологии
- •35. Объектная модель компонентов (com) Модель com. Создание com объекта. Повторное применение сом объектов. Маршалинг. Idl. Перманентность.
- •37. Общая характеристика jee
- •38. Обращение к удаленным объектам. Rmi.
- •39. Сервлеты и jsp.
- •40. Ejb.Session, Entity. Message Driven Beans.
- •41. Транзакции.
- •Isolation — Изолированность
- •42. АрхитектураCorba. Статическая и динамическая corba. Компонентная модель corba. Основные сервисы corba
- •43. Очереди сообщений. Jms
- •44. Веб сервисы. Soap
- •45. Веб сервисы. Wsdl
- •46. Uddi
- •47. Бизнес процессы
- •48. Соа. Itil
- •49. Bpel
- •50. Уровни интеграции. Интеграция данных
- •51. Esb
- •52. Грид
- •53. Виртуализация
- •54.Облачные вычисления
37. Общая характеристика jee
Java Platform, Enterprise Edition, сокращенно Java EE (до версии 5.0 — Java 2 Enterprise Edition или J2EE) — набор спецификаций и соответствующей документации для языка Java, описывающей архитектуру серверной платформы для задач средних и крупных предприятий.
Спецификации детализированы настолько, чтобы обеспечить переносимость программ с одной реализации платформы на другую. Основная цель спецификаций — обеспечить масштабируемость приложений и целостность данных во время работы системы. J2EE во многом ориентирована на использование её через веб как в интернете, так и в локальных сетях. Вся спецификация создаётся и утверждается через JCP (Java Community Process) в рамках инициативы Sun Microsystems Inc.
J2EE является промышленной технологией и в основном используется в высокопроизводительных проектах, в которых необходима надежность, масштабируемость, гибкость.
Java EE включает в себя стандарты следующих технологий:
EJB Enterprise JavaBeans — спецификация технологии серверных компонентов, содержащих бизнес-логику
JPA Java Persistence API
Сервлет Обслуживание запросов вэб-клиентов.
JSP JavaServer Pages — Динамическая генерация вэб-страниц на стороне сервера.
JSTL JavaServer Pages Standard Tag Library
JSF JavaServer Faces — компонентный серверный фреймворк для разработки вэб-приложений на технологии Java
JAX-WS Java API for XML Web Services — Создание веб-сервисов.
JNDI Java Naming and Directory Interface — служба каталогов
JMS Java Message Service — обмен сообщениями.
JTA Java Transaction AP
JAAS Java Authentication and Authorization Service — Java реализация PAM
JavaMail Получение и отправка электронной почты
JACC Java Authorization Contract for Containers
JCA J2EE Connector Architecture
JAF JavaBeans Activation Framework
StAX Streaming API for XML
CDI Context and Dependency Injection
38. Обращение к удаленным объектам. Rmi.
RMI (англ. Remote Method Invocation) — программный интерфейс вызова удаленных методов в языке Java.
Распределенная объектная модель, специфицирующая, каким образом производится вызов удаленных методов, работающих на другой виртуальной машине Java.
При доступе к объектам на другом компьютере возможно вызывать методы этого объекта. Необходимо только передать параметры метода на другой компьютер, сообщить объекту о необходимости выполнения метода, а затем получить обратно возвращаемое значение. Механизм RMI дает возможность организовать выполнение всех этих операций.
Типичная реализация модели Java-RMI, использующая объекты 'заглушки'(stub) и 'скелета'(skeleton).
В терминах RMI объект, который вызывает удаленный метод, называется клиентским объектом, а удаленный объект — серверным объектом. Компьютеры выступают в роли клиента и сервера только для конкретного вызова. Вполне возможно, что при выполнении следующей операции эти компьютеры поменяются ролями, то есть сервер предыдущего вызова может сам стать клиентом при обращении к объекту на другом компьютере.
При вызове метода удаленного объекта на самом деле вызывается обычный метод языка Java, инкапсулированный в специальном объекте-заглушке (stub), который является представителем серверного объекта. Заглушка находится на клиентском компьютере, а не на сервере. Она упаковывает параметры удаленного метода в блок байтов. Каждый параметр кодируется с помощью алгоритма, обеспечивающего независимость от аппаратуры. Например, числа всегда передаются в порядке, при котором сначала передается старший байт (big-endian). При этом объекты подвергаются сериализации. Процесс кодирования параметров называется развертыванием параметров (parameter marshaling). Основная цель развертывания параметров — преобразование их в формат, пригодный для передачи параметров от одной виртуальной машины к другой.
Метод, принадлежащий заглушке, создает блок, в который входят следующие элементы:
идентификатор удаленного объекта;
описание вызываемого метода;
развернутые параметры.
Затем метод заглушки посылает эту информацию серверу. Далее объект-получатель выполняет для каждого вызова удаленного метода следующие действия:
свертывание параметров;
поиск вызванного объекта;
вызов заданного метода;
извлечение и развертывание возвращаемого значения или исключения, сгенерированного данным методом;
передача пакета, состоящего из развернутых возвращаемых данных, объекту-заглушке на клиентском компьютере.
Клиентский объект-заглушка свертывает возвращаемое значение или исключение, полученное с сервера. Результат свертывания становится возвращаемым значением метода заглушки. Если удаленный метод возвращает исключение, то объект-заглушка повторит его в среде объекта-клиента.
Для вызова удаленного метода используется тот же синтаксис, что и для обращения к локальному методу. Например, чтобы вызвать метод getQuantity() объекта-заглушки centralWarehouse центрального хранилища данных на удаленном компьютере, потребуется использовать приведенный ниже код.
int q=centralWarehouse.getQuantity(“SuperSucker 100 Vacuum Cleaner”);
Для доступа к удаленным методам клиентский код всегда использует объектные переменные типы interface. Например, с приведенным выше методом может быть связан следующий интерфейс:
interface Warehouse {
int getQuantity(String description) throws RemoteException;
Product getProduct(Customer cust) throws RemoteException;
…
}
Объявление переменной для объекта, который реализует этот интерфейс, будет выглядеть так:
Warehouse centralWarehouse = …;
Конечно, интерфейсы представляют собой абстракции и содержат только перечень методов. Переменные типа interface всегда должны быть связаны с фактическим объектом. При вызове удаленных объектов переменная ссылается на объект-заглушку. При этом клиентская программа ничего не знает о типе заглушки, а сами заглушки и связанные с ними объекты создаются автоматически.
При передаче объекта другой программе (он может быть параметром либо возвращаемым значением удаленного метода) нужен файл класса, соответствующий этому объекту. Например, метод, который возвращает значение типа Product. При компиляции клиентской программы должен быть сгенерирован файл класса Product.class.
При загрузке фрагментов кода по сети всегда возникают сомнения по поводу должного обеспечения безопасности. В связи с этим в приложениях с использованием RMI применяется диспетчер защиты. Он защищает заглушки от проникновения в них вирусов.