Статья опубликована в рамках: Научного журнала «Студенческий» № 18(18)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2
НОВОВВЕДЕНИЯ JAVA 8 ENTERPRISE EDITION ДЛЯ КОРПОРАТИВНОЙ РАЗРАБОТКИ
Аннотация: Данная статья посвящена новым технологиям java, которые используются для корпоративной разработки приложений.
Ключевые слова: java, нововведения, технология, корпоративная разработка.
Сокращения:
API – Application Programming Interface;
JSON – JavaScript Object Notation;
JNDI – Java Naming and Directory Interface.
С приходом 8 версии java Enterprise Edition появились новые технологии, улучшения объектных моделей, новые особенности работы с Restfull веб-сервисами и сервлетами [1, с. 1309].
Java Servlet технология:
Технология Java Servlet позволяет определять классы сервлетов, специфичные для HTTP. Класс сервлета расширяет возможности серверов, на которых размещаются приложения.
В новой версии добавили новые функции [2]:
– Server push;
– HTTP Trailer.
JavaServer Faces технология:
JavaServer Faces – это платформа пользовательского интерфейса для создания веб-приложения.
Новая версия включает:
– прямую поддержку WebSockets с помощью нового тега <f: websocket>;
– проверку на уровне класса с помощью нового тега <f: validateWholeBean>;
– CDI-совместимая аннотация @ManagedProperty;
– расширенную структуру выражений поиска компонентов.
Java API для Restfull веб-сервисов:
– Reactive client API;
Целью этой технологии является поддержка реактивного стиля программирования на стороне клиента. Кроме того нам не потребуется создавать другого клиента. Существующий уже имеет поддержку синхронного и асинхронного выполнения запроса и мы хотим расширить его с помощью реактивного стиля. Позволяет определять последовательность, приоритеты, объединять результаты вызова функции, а так же обрабатывать исключения.
– улучшения в поддержке событий, отправленных сервером;
Клиенты могут подписываться на уведомления о событиях на сервере, используя длительное соединение. Добавлена поддержка нового типа носителя, текста/события-потока.
– поддержка JSON-B объектов, и улучшена интеграция с CDI, Servlet и Bean Validation технологиями.
Context и управление зависимостями:
– API для начальной загрузка контейнера CDI;
– поддержка упорядочения наблюдателей, которая определяет порядок, в котором используется методы наблюдателя для определенного события, а также поддерживает асинхронную активацию продукта;
– интерфейсы конфигураторов, которые используются для динамического определения и изменения объектов CDI;
– встроенные литералы аннотации, удобная функция для создания экземпляров аннотаций.
Security API:
Определяет портативно-подключаемые интерфейсы для HTTP-аутентификации и внедряемый интерфейс Security Context, который предоставляет API для программной защиты.
Реализации интерфейса HttpAuthenticationMechanism можно использовать для аутентификации абонентов веб-приложений. Можно написать свою реализацию интерфейса HttpAuthenticationMechanism или использовать стандартную, предоставляемых контейнером.
Реализации интерфейса IdentityStore можно использовать для проверки учетных данных пользователя и получения информации о группе. IdentityStore интерфейс, как и HttpAuthenticationMechanism, может быть расширен либо использовать встроенное хранилище баз данных.
API-интерфейсы HttpAuthenticationMechanism и IdentityStore обеспечивают преимущество перед реализациями, предоставляемыми контейнерами, в том, что они позволяют приложению контролировать процесс аутентификации и хранилища идентификаторов, используемые для аутентификации, стандартным способом.
API SecurityContext предназначен для использования приложения для запроса и взаимодействия с текущим контекстом безопасности.
Java API для JSON Processing:
– JSON Pointer;
Определяет строковый синтаксис для ссылки на определенное значение в документе JSON. JSON Pointer содержит API для извлечения значений из целевого документа и преобразования их для создания нового документа JSON.
– JSON Patch;
Определяет формат для выражений последовательности операций, применяемых к JSON.
– JSON Merge Patch;
Определяет формат и правила для применения операций к JSON, которые основаны на конкретном содержании целевого документа.
– добавление функций редактирования и преобразования в базовую обработку JSON;
– вспомогательные классы и методы, называемые JSON Collectors, которые используют Stream API.
Использование Server-Sent Events
Server-Sent Events (SSE) – это технология, которая используется для асинхронного push-уведомления клиенту по стандартным протоколам HTTP или HTTPS. Клиенты могут подписываться на уведомления о событиях, которые происходят на сервере. Сервер генерирует события и отправляет эти события обратно клиентам, которые подписались на получение уведомлений. Одностороннее соединение канала связи устанавливается клиентом. После установления соединения сервер отправляет события клиенту всякий раз, когда доступны новые данные. Канал связи, установленный клиентом, длится до тех пор, пока клиент не закроет соединение, и он также повторно используется сервером для отправки нескольких событий с сервера.
SSE API определен в пакетах jawax.ws.rs.sse, который включает интерфейсы SseEventSink, SseEvent, Sse и SseEventSource. Чтобы принимать соединения и отправлять события одному или нескольким клиентам нужно внедрить интерфейс SseEventSink в исходный метод, который предоставляет текст или поток событий.
Java API для XML веб-сервисов:
Спецификация Java API для XML веб-сервисов(JAX-WS) обеспечивает поддержку веб-сервисов, которые используют JAXB API для привязки данных XML к объектам Java. Спецификация JAX-WS определяет клиентские API для доступа к веб-службам, а также методы для реализации конечных точек веб-сервиса. Спецификация веб-сервисов описывает развертывание сервисов и клиентов на основе JAX-WS. Спецификации EJB и Java Servlet также описывают аспекты такого развертывания. Приложения на основе JAX-WS могут быть развернуты с использованием любой из этих моделей.
Спецификация JAX-WS описывает поддержку обработчиков сообщений, которые могут обрабатывать запросы сообщений. В общем, эти обработчики сообщений выполняются в одном контейнере и с теми же привилегиями и контекстом выполнения. Эти обработчики сообщений имеют доступ к тому же пространству имен JNDI, что и их связанный компонент.
Аутентификация и авторизация Java:
Служба проверки подлинности и авторизации Java (JAAS) предоставляет возможность приложениям Java EE аутентифицировать и разрешать конкретному пользователю или группе пользователей запускать его.
JAAS - это версия языка программирования Java для стандартной платформы Plug-In Authentication Module, которая расширяет архитектуру безопасности платформы Java для поддержки пользовательской авторизации.
JNDI API:
JNDI предоставляет функции именования, позволяя приложениям обращаться к нескольким службам именования, предоставляет приложениям методы для выполнения стандартных операций с каталогом, такие как связывание атрибутов с объектами и поиск объектов с использованием их атрибутов. Используя JNDI, приложение Java может хранить и извлекать любой тип именованного объекта Java, позволяя приложениям Java сосуществовать со многими устаревшими приложениями и системами.
Список литературы:
- Герберт Шилдт. Java 8. Полное руководство: Вильямс, 2015. –1376 с.
- Java Platform, Enterprise Edition (Java EE) 8 – [Электронный ресурс]. – Режим доступа. – URL: https://javaee.github.io/tutorial/toc.html
Оставить комментарий