Saint Petersburg, 2012 Java Lecture #14 Enterprise Stack Review.

Презентация:



Advertisements
Похожие презентации
Рассматриваемые темы Введение в Web Services EJB и Web Services 2-1.
Advertisements

Web - сервисы. Веб-служба, веб-сервис (англ. web service) идентифицируемая веб-адресом программная система со стандартизированными интерфейсами.англ.веб-адресоминтерфейсами.
Рассматриваемые темы Технология EJB Типы EJB Вызов EJB Сборка и развертывание EJB- приложения 2-1.
WEB- ТЕХНОЛОГИИ Лекция 6. Понятие Web- сервисов 1 Интерфейс в глобальную сеть для некоторого абстрактного программного обеспечения, этот интерфейс позволяет.
JSF/JSP/Tomcat Введение в технологию. JavaServer Faces JSF - фреймворк для веб-приложений, написанный на Java JSF основывается на использовании компонентов.
Saint Petersburg, 2012 Java Lecture 12 JSTL. JSP -> JSTL JSP – хорошо Что делать если хотим добавить условие? Итерирование по списку и вывод каждого элемента.
ENTERPRISE JAVABEANS 3.0 STATEFUL & STATLESS SESSION BEANS.
1 Введение Информационные системы Альтернативы задачи доступа к данным Стандарт JPA и коммерческие ORM имплементации Определение ORM Проблемы полного преобразования.
Платформа J2EE Сервис: Java Naming Directory (JNDI) – универсальный сервис хранения объектов в иерархической структуре имен (аналогично файловой системе)
Java Server Pages (JSP). JSP Позволяет веб разработчикам динамически генерировать HTML, XML - и другие веб страницы. Страницы компилируются JSP- компилятором.
Рассматриваемые темы Подсистема безопасности сервера приложений Конфигурация безопасности в EJB Сервисы авторизации и аутентификации в Java 2-1.
Web-службы SOAP, WSDL, UDDI, GXA среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря.
Рогов Павел (271 ПИ ) Назаренко Дмитрий (272 ПИ ) Научный руководитель : Гринкруг Е. М. Курсовая работа. Клиент - серверное Android- приложение для планирования.
Платформа J2EE Сервис: Java Naming Directory (JNDI) – универсальный сервис хранения объектов в иерархической структуре имен (аналогично файловой системе)
Page Наталья Железных Руководитель отдела по работе с Правительственными учреждениями Sun Microsystems, регион СНГ Инфраструктура предоставления государственных.
SOAP Содержание лекции Протокол SOAP. Структура SOAP-сообщения: конверт, заголовок, тело сообщения. Стандарты WS-Addressing и WS-Security. SOAP-Fault.
Java: современные технологии разработки ПО Вашенков О.Е. ООО «РСС», разработчик ПО.
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXB Малышкин Фёдор 9 ноября.
Где хранить данные в web- приложении page –JSP страница request – HTTP запрос session – сессия пользователя application – веб-приложение Static Java class.
EJB Environment Кряжев Василий
Транксрипт:

Saint Petersburg, 2012 Java Lecture #14 Enterprise Stack Review

Введение Java EE Java EE API AS 2

Java technology Java Platform JVM API Java Programming Language Platforms Java SE Java EE Java ME JavaFX 3

Java EE Provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications (c) Oracle Набор спецификаций и соответствующей документации для языка Java, описывающей архитектуру серверной платформы для задач средних и крупных предприятий (с) Wiki First Cup 4

Java EE Multi-tier architecture Presentation Tier, Business Tier, Integration Tier 5

Java EE API Extend Java SE API (java & javax packages) Servlets ( javax.servlet.*) JSP (Java Server Pages) / JSTL (Java Server Pages Tag Library) JavaServer Faces (JSF, javax.faces ) CDI ( javax.enterprise.inject.* & javax.enterprise.context.* ) Enterprise JavaBeans (EJB, javax.ejb.* ) Java Transaction API (JTA, javax.transaction.* ) Java Persistence API (JPA, javax.persistence.* ) Bean Validation ( javax.validation.* ) 6

Java EE API Web Services ( javax.jws ) RESTful services ( javax.ws.rs ) Java Connector API (JCA, javax.resource.* ) Java Message Service (JMS, javax.jms ) Java Architecture for XML Binding (JAXB, javax.xml.bind.* ) Java Authentication and Authorization Service (JAAS) JavaMail API ( javax.mail.* ) Java Naming and Directory Interface (JNDI) 7

AS Java EE certified Web Profile / Full Profile 8

Java EE Compatibility Full Profile 9

Java EE Compatibility Web Profile 10

JTA JSR 907 javax.transaction javax.transaction.xa X/Open XA распределенные транзакции Impl JBossTS Atomikos 11

Bean Validation JSR 303 javax.validation Defines a metadata model and API for JavaBean validation Custom constraints Implements ConstraintValidator 12

JAAS Java Authentication and Authorization Service Управление аутентификацией и авторизацией пользователей независимо от приложения *.login.conf *.policy Principal – representation of identity & Subject – set of credentials Login service -> new Subject Permission service -> Subject is granted Impl Apache Shiro 13

JNDI Discover and look up data and objects via a name API Binding object to name Directory lookup Event interface to check for modifications Supporting LDAP DNS, etc. 14

JavaMail Часть Java EE, однако предоставляет пакет для использования в Java SE javax.mail IMAP, POP3, SMTP MimeMessage / MimeMultipart, MimeBodyPart 15

Веб-сервисы На сегодняшний день наибольшее распространение получили следующие протоколы реализации веб-сервисов: SOAP (Simple Object Access Protocol) по сути это тройка стандартов SOAP/WSDL/UDDI REST (Representational State Transfer) XML-RPC (XML Remote Procedure Call) На самом деле, SOAP произошел от XML-RPC и является следующей ступенью его развития. В то время как REST это концепция, в основе которой лежит скорее архитектурный стиль, нежели новая технология, основанный на теории манипуляции объектами CRUD (Create Read Update Delete) в контексте концепций WWW. 16

public class Warehouse { public Warehouse() { prices = new HashMap (); prices.put("Blackwell Toaster", 24.95); prices.put("ZapXpress Microwave Oven", 49.95); } public double String description) { Double price = prices.get(description); return price == null ? 0 : price; } private Map prices; } 2. Класс сервера: public class WarehouseServer { public static void main(String[] args) { Endpoint.publish(" new Warehouse()); } 17

J2EE Connector Architecture J2EE Connector Architecture используется поставщиками J2EE-инструментов и системными интеграторами для создания адаптеров ресурсов, поддерживающих доступ к информационной системе предприятия. Эти адаптеры могут быть включены в любой J2EE-продукт. Адаптер ресурса - это программный компонент, позволяющий компонентам J2EE-приложения иметь доступ и взаимодействовать с базовым менеджером ресурсов. Т.к. адаптер ресурса специфичен для своего менеджера ресурсов, обычно существуют различные адаптеры для каждого типа базы данных или информационной системы предприятия. 18

Java Architecture for XML Binding (JAXB) Позволяет связать классы Java с их XML-представлением непосредственно, без преобразований через промежуточные интерфейсы. Сохранение и передача данных выглядят как сохранение и передача объектов целиком. Преимущества: простота использования, особенно при решении несложных задач. Не требуется глубоких знаний XML. Недостатки: разработчик плохо контролирует процесс, все получается "само", поэтому возникает вероятность ошибки, например потери части объектов и полей. 19

Java Architecture for XML Binding (JAXB) 20 Маршаллизация и демаршаллизация Маршаллизация – это процесс преобразования находящихся в памяти данных в формат их хранения. Демаршаллизация – это процесс преобразования данных из формата среды хранения в память, т.е. процесс, прямо противоположный маршаллизации.

Java Message Service (JMS) 21 Java Message Service (JMS) стандарт промежуточного ПО для рассылки сообщений, позволяющий приложениям, выполненным на платформе J2EE, создавать, посылать, получать и читать сообщения. Коммуникация между компонентами, использующими JMS, асинхронна (процедура не дожидается ответа на своё сообщение) и независима от исполнения компонентов. JMS поддерживает две модели обмена сообщениями: «от пункта к пункту» и «издатель-подписчик». Модель «от пункта к пункту» характеризуется следующим: Каждое сообщение имеет только одного адресата Сообщение попадает в «почтовый ящик», или «очередь» адресата и может быть прочитано когда угодно. Если адресат не работал в момент отсылки сообщения, сообщение не пропадёт. После получения сообщения адресат посылает извещение.

Java Message Service (JMS) 22 Модель «издатель-подписчик» характеризуется следующим: Подписчик подписывается на определённую «тему» Издатель публикует своё сообщение. Его получают все подписчики этой темы Получатель должен работать и быть подписан в момент отправки сообщения ПО, поддерживающее стандарт JMS (Open Source): Apache ActiveMQ OpenJMS from The OpenJMS Group JBoss Messaging from JBoss JORAM from OW2 Сервер приложений Glassfish (Oracle)