[1] O documento apresenta uma agenda sobre Java EE 7 e suas principais APIs. [2] As APIs incluem Web Socket API 1.0, Batch API 1.0, Concurrency Utilities, JSON API 1.0, JAX-RS 2.0 e outras. [3] O documento também discute a evolução da plataforma Java EE ao longo das versões.
Venha conhecer as principais tecnologias disponibilizadas para o desenvolvimento de aplicações Web utilizando a plataforma Java Enterprise.
Neste mini-curso serão demonstrados conceitos e exemplos das bibliotecas para o desenvolvimento Java EE, como: JSF, JPA, CDI EJB, JAX-RS, dentre outras.
O AngularJS tem atraído muita atenção dos desenvolvedores, e a maioria das aplicações utilizando esse framework open source necessitam se comunicar por meio de APIs web. A plataforma Java EE, com sua robustez e suporte avançado a REST, é uma das melhoras soluções atuais para suportar todos os requisitos de uma API REST de backend para aplicações baseadas em HTML5 e AngularJS.
Esta palestra abordará como construir uma aplicação em AngularJS utilizando tecnologias backend Java EE, incluindo JAX-RS, WebSockets, JSON-P e CDI. Ao final você vai entender os benefícios do uso destas tecnologias, bem como padrões e boas práticas aplicadas nesse modelo de desenvolvimento. Os tópicos abordados incluem JavaScript, HTML5, AngularJS e várias APIs do Java EE.
O AngularJS tem atraído muita atenção dos desenvolvedores, e a maioria das aplicações utilizando esse framework open source necessitam se comunicar por meio de APIs web. A plataforma Java EE, com sua robustez e suporte avançado a REST, é uma das melhoras soluções atuais para suportar todos os requisitos de uma API REST de backend para aplicações baseadas em HTML5 e AngularJS.
Esta palestra abordará como construir uma aplicação em AngularJS utilizando tecnologias backend Java EE, incluindo JAX-RS, WebSockets, JSON-P e CDI. Ao final você vai entender os benefícios do uso destas tecnologias, bem como padrões e boas práticas aplicadas nesse modelo de desenvolvimento. Os tópicos abordados incluem JavaScript, HTML5, AngularJS e várias APIs do Java EE.
OAuth 2.0 is an open authentication and authorization protocol that enables applications to access data from each other. This session will show you how to define OAuth 2.0 settings to implement security for RESTful resources developed using JAX-RS for the Java EE platform. Join us to learn about safety requirements for REST services, HTTP Basic authentication, and centralized identity management with OAuth 2.0, plus get an overview of OAuth 2.0 specification, OAuth 2.0 and REST services, and existing alternatives for OAuth 2.0.
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...Rodrigo Cândido da Silva
Os microservices tornaram-se o tema mais quente na arquitetura de software, e muito se pode dizer sobre os seus benefícios. Mas é importante compreender que ao começar a decompor o monolito entramos no reino de sistemas distribuídos. Precisamos lidar com cenários de transparência de localização, recuperação de falhas, escalabilidade, autonomia, facilidade de atualização e outros aspectos. Por outro lado, quando tratamos toda essa complexidade, conseguimos definir aplicações que rodam “eternamente” – tornando-se auto-curáveis (self-healing) e muito escaláveis.
O projeto Spring Cloud traz ferramentas para facilitar a aplicação desses conceitos na prática, definindo padrões de implementação para sistemas distribuídos com suporte a gerenciamento de configuração, descoberta de serviços, circuit breakers, roteamento, distribuição de sessões, barramento de controle, dentre outras técnicas. Pode também ser combinado com a plataforma Netflix OSS, que oferece componentes especialmente úteis em um ambiente de microservices, como Eureka (registro), Ribbon (localização), Hystrix (tolerância a falhas), Zulu (roteamento).
Nesta palestra será demonstrado como usar na prática essas ferramentas, bem como os desafios e lições aprendidas – tudo com base em casos reais de uso de uma arquitetura de microservices implementada com Spring Cloud e Netflix OSS.
A versão do Java 9 acabou de ser lançada e traz muitas novidades e melhorias para a plataforma e na estrutura da linguagem. Novos recursos foram incorporados, como suporte à modularidade (Jigsaw), JShell, Stream API, Collection factories, dentre outros. Venha conhecer e acompanhar algumas demonstrações destes estes novos recursos em ação.
Venha conhecer as principais tecnologias disponibilizadas para o desenvolvimento de aplicações Web utilizando a plataforma Java Enterprise.
Neste mini-curso serão demonstrados conceitos e exemplos das bibliotecas para o desenvolvimento Java EE, como: JSF, JPA, CDI EJB, JAX-RS, dentre outras.
O AngularJS tem atraído muita atenção dos desenvolvedores, e a maioria das aplicações utilizando esse framework open source necessitam se comunicar por meio de APIs web. A plataforma Java EE, com sua robustez e suporte avançado a REST, é uma das melhoras soluções atuais para suportar todos os requisitos de uma API REST de backend para aplicações baseadas em HTML5 e AngularJS.
Esta palestra abordará como construir uma aplicação em AngularJS utilizando tecnologias backend Java EE, incluindo JAX-RS, WebSockets, JSON-P e CDI. Ao final você vai entender os benefícios do uso destas tecnologias, bem como padrões e boas práticas aplicadas nesse modelo de desenvolvimento. Os tópicos abordados incluem JavaScript, HTML5, AngularJS e várias APIs do Java EE.
O AngularJS tem atraído muita atenção dos desenvolvedores, e a maioria das aplicações utilizando esse framework open source necessitam se comunicar por meio de APIs web. A plataforma Java EE, com sua robustez e suporte avançado a REST, é uma das melhoras soluções atuais para suportar todos os requisitos de uma API REST de backend para aplicações baseadas em HTML5 e AngularJS.
Esta palestra abordará como construir uma aplicação em AngularJS utilizando tecnologias backend Java EE, incluindo JAX-RS, WebSockets, JSON-P e CDI. Ao final você vai entender os benefícios do uso destas tecnologias, bem como padrões e boas práticas aplicadas nesse modelo de desenvolvimento. Os tópicos abordados incluem JavaScript, HTML5, AngularJS e várias APIs do Java EE.
OAuth 2.0 is an open authentication and authorization protocol that enables applications to access data from each other. This session will show you how to define OAuth 2.0 settings to implement security for RESTful resources developed using JAX-RS for the Java EE platform. Join us to learn about safety requirements for REST services, HTTP Basic authentication, and centralized identity management with OAuth 2.0, plus get an overview of OAuth 2.0 specification, OAuth 2.0 and REST services, and existing alternatives for OAuth 2.0.
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...Rodrigo Cândido da Silva
Os microservices tornaram-se o tema mais quente na arquitetura de software, e muito se pode dizer sobre os seus benefícios. Mas é importante compreender que ao começar a decompor o monolito entramos no reino de sistemas distribuídos. Precisamos lidar com cenários de transparência de localização, recuperação de falhas, escalabilidade, autonomia, facilidade de atualização e outros aspectos. Por outro lado, quando tratamos toda essa complexidade, conseguimos definir aplicações que rodam “eternamente” – tornando-se auto-curáveis (self-healing) e muito escaláveis.
O projeto Spring Cloud traz ferramentas para facilitar a aplicação desses conceitos na prática, definindo padrões de implementação para sistemas distribuídos com suporte a gerenciamento de configuração, descoberta de serviços, circuit breakers, roteamento, distribuição de sessões, barramento de controle, dentre outras técnicas. Pode também ser combinado com a plataforma Netflix OSS, que oferece componentes especialmente úteis em um ambiente de microservices, como Eureka (registro), Ribbon (localização), Hystrix (tolerância a falhas), Zulu (roteamento).
Nesta palestra será demonstrado como usar na prática essas ferramentas, bem como os desafios e lições aprendidas – tudo com base em casos reais de uso de uma arquitetura de microservices implementada com Spring Cloud e Netflix OSS.
A versão do Java 9 acabou de ser lançada e traz muitas novidades e melhorias para a plataforma e na estrutura da linguagem. Novos recursos foram incorporados, como suporte à modularidade (Jigsaw), JShell, Stream API, Collection factories, dentre outros. Venha conhecer e acompanhar algumas demonstrações destes estes novos recursos em ação.
Serviços reativos foram definidos pelo Manifesto Reativo. Eles são construídos para serem flexíveis, fracamente acoplados, escaláveis, e também qualificados com base nos quatro principais princípios: responsividade, resiliência, elasticidade e dirigido à mensagens. Java e a plataforma Java EE oferecem uma ótima estrutura com bibliotecas para implementar serviços reativos e transformá-los em uma arquitetura otimizada para micro-serviços. Esta palestra apresentará as melhores práticas para implementar serviços reativos em Java usando RxJava, definindo uma arquitetura de micro-serviços baseada em casos reais e boa práticas aplicadas.
A versão do Java 9 trouxe muitas novidades e melhorias para a plataforma e estrutura da linguagem. Novos recursos foram incorporados, como suporte à modularidade (Jigsaw), JShell, Stream API, Collection factories, dentre outros. A versão 10 também acabou de ser lançada com alguns recursos bem importantes. Venha conhecer e acompanhar demonstrações destes recursos em ação e também discutir sobre as futuras modificações da próxima versão 11 planejada para setembro deste ano.
Spring 3: Uma Plataforma além do FrameworkDr. Spock
Apresentação realizada no dia 06/Nov/2010 no evento The Developers Conference (TDC2010) na trilha Java (16:40 às 17:30) promovido pela Globalcode e VOffice em Florianópolis/SC/Brasil.
Novidades do JSF: Um tour completo no JSF 2.2Dr. Spock
No processo de evolução da plataforma Java EE o JavaServer Faces continua contribuindo com a padronização da tecnologia de interfaces com usuário na Web com Java. A nova versão para o Java EE 7 conta com contribuições da comunidade e um processo transparante. Evoluções no JSF 2.2 são acompanhadas e influênciadas pela comunidade brasileira através da iniciativa adote uma JSR promovida pelo SouJava. Como parte desta iniciativa, esta sessão apresenta as novas funcionalidades previstas para o JSF 2.2 agrupadas de acordo a importância destas funcionalidades.
Micro-serviços tornaram-se o tema mais quente na arquitetura de software durante o ano passado, e muito pode ser dito sobre os seus benefícios. No entanto, é importante compreender que ao começar a decompor o monolito, entramos no reino de sistemas distribuídos lidando com cenários de transparência de localização, recuperação à falhas, escalabilidade, autonomia, fácil atualização, etc. O projeto Spring Cloud promove ferramentas para facilmente implementar estes conceitos, definindo padrões de implementação para sistemas distribuídos com suporte para gerenciamento de configuração, descoberta de serviços, circuit breakers, roteamento, distribuição de sessão, barramento de controle, dentre outros. Nesta palestra serão demonstrados os conceitos destas ferramentas com a utilização do projeto Spring Cloud e com o suporte da plataforma do Netflix OSS.
Serviços reativos foram definidos pelo Manifesto Reativo. Eles são construídos para serem flexíveis, fracamente acoplados, escaláveis, e também qualificados com base nos quatro principais princípios: responsividade, resiliência, elasticidade e dirigido à mensagens. Java e a plataforma Java EE oferecem uma ótima estrutura com bibliotecas para implementar serviços reativos e transformá-los em uma arquitetura otimizada para micro-serviços. Esta palestra apresentará as melhores práticas para implementar serviços reativos em Java usando RxJava, definindo uma arquitetura de micro-serviços baseada em casos reais e boa práticas aplicadas.
A versão do Java 9 trouxe muitas novidades e melhorias para a plataforma e estrutura da linguagem. Novos recursos foram incorporados, como suporte à modularidade (Jigsaw), JShell, Stream API, Collection factories, dentre outros. A versão 10 também acabou de ser lançada com alguns recursos bem importantes. Venha conhecer e acompanhar demonstrações destes recursos em ação e também discutir sobre as futuras modificações da próxima versão 11 planejada para setembro deste ano.
Spring 3: Uma Plataforma além do FrameworkDr. Spock
Apresentação realizada no dia 06/Nov/2010 no evento The Developers Conference (TDC2010) na trilha Java (16:40 às 17:30) promovido pela Globalcode e VOffice em Florianópolis/SC/Brasil.
Novidades do JSF: Um tour completo no JSF 2.2Dr. Spock
No processo de evolução da plataforma Java EE o JavaServer Faces continua contribuindo com a padronização da tecnologia de interfaces com usuário na Web com Java. A nova versão para o Java EE 7 conta com contribuições da comunidade e um processo transparante. Evoluções no JSF 2.2 são acompanhadas e influênciadas pela comunidade brasileira através da iniciativa adote uma JSR promovida pelo SouJava. Como parte desta iniciativa, esta sessão apresenta as novas funcionalidades previstas para o JSF 2.2 agrupadas de acordo a importância destas funcionalidades.
Micro-serviços tornaram-se o tema mais quente na arquitetura de software durante o ano passado, e muito pode ser dito sobre os seus benefícios. No entanto, é importante compreender que ao começar a decompor o monolito, entramos no reino de sistemas distribuídos lidando com cenários de transparência de localização, recuperação à falhas, escalabilidade, autonomia, fácil atualização, etc. O projeto Spring Cloud promove ferramentas para facilmente implementar estes conceitos, definindo padrões de implementação para sistemas distribuídos com suporte para gerenciamento de configuração, descoberta de serviços, circuit breakers, roteamento, distribuição de sessão, barramento de controle, dentre outros. Nesta palestra serão demonstrados os conceitos destas ferramentas com a utilização do projeto Spring Cloud e com o suporte da plataforma do Netflix OSS.
JavaOne LATAM 2015 - Batch Processing: Processamento em Lotes no Mundo Corpor...Rodrigo Cândido da Silva
Batch processing systems are regularly used to integrate data from multiple applications, usually developed and supported by different suppliers, and/or hosted on different software and hardware environments. JSR 352 (batch processing for the Java platform), which is part of the Java EE 7 platform, defines a programming model for batch applications and an execution environment on which to run and manage these batch processes. This presentation will show you how to create a batch processing system using the Java EE batch API. Topics covered will include batch processing architecture, developing Java EE batch jobs, the lifecycle of jobs, integration with message queues, and scalability and strength.
AngularJS tem atraído muita atenção ultimamente e a maioria das aplicações utilizando Angular necessitam comunicar-se por meio de uma API REST. A plataforma Java EE com sua robustez e o seu avançado suporte a REST é uma das melhoras soluções atuais para suportar todos os requisitos de uma API REST backend para aplicações baseadas em HTML5 e AngularJS. Esta palestra abordará como construir uma aplicação em Angular utilizando tecnologias backend Java EE, como JAX-RS, WebSockets, JSON-P e CDI. Ao final desta sessão, você vai entender os benefícios no uso destas tecnologias, bem como padrões e boas práticas aplicadas neste modelo de desenvolvimento. Os tópicos abordados incluem: Javascript, HTML5, AngularJS, algumas API's Java EE (JAX-RS, WebSockets, JSON-P, CDI).
Spring Data REST oferece uma customização no topo do projeto Spring Data que exporta os repositórios automaticamente como serviços REST. Implementa conceitos e boas práticas em arquiteturas REST, como RESTful, ALPS, HATEOAS, permitindo os clientes encontrarem e explorarem as funcionalidades expostas de uma maneira fácil e organizada.
Esta palestra irá abordar como desenvolver rapidamente uma API de microservicos REST utilizando Spring Boot e Spring Data REST. Será principalmente orientada a exemplos de código demonstrando a implementação destas tecnologias.
Serviços reativos foram definidos pelo Manifesto Reativo. Eles são desenvolvidos para serem mais flexíveis, fracamente acoplados, escaláveis e também qualificados a partir dos quatro princípios: responsivo, resiliente, elástico e direcionados a mensagens. A plataforma Java e Java EE oferecem uma ótima estrutura e bibliotecas para implementarem serviços reativos e transformá-los em uma arquitetura de micro-serviços resiliente.
Reactive services were defined by the Reactive Manifesto. They are built to be more flexible, loosely-coupled and scalable and also they are qualified based on the four principles: responsive, resilient, elastic and message driven. Java and the Java EE platform offers a pretty good structure and libraries to implement reactive services and transform it in a microservices architecture designed.
OAuth 2.0 is an open authentication and authorization protocol which enables applications to access each others data. This talk will presents how to implement the OAuth2 definitions to secure RESTful resources developed using JAX-RS in the Java EE platform.
The popularity of cloud environments is real and the deployment of SaaS applications is becoming a strong business model. To support these applications is essential to create a multi-tenancy environment separating each customer data and providing a single execution environment with security and isolated customer contexts. The main challenges of this architecture are: separation of contexts, data isolation, customisation features, resource isolation and management of the execution environment. This talk will demonstrate different technologies and strategies used to implement those features using the Java EE platform.
OAuth 2.0 is an open authentication and authorization protocol which enables applications to access each others data. This talk will presents how to implement the OAuth2 definitions to secure RESTful resources developed using JAX-RS in the Java EE platform.
The popularity of cloud environments is real and the deployment of SaaS applications is becoming a strong business model. To support these applications is essential to create a multi-tenancy environment separating each customer data and providing a single execution environment with security and isolated customer contexts. This talk will demonstrate different technologies and strategies used to implement those features using the Java EE platform.
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Ramon Durães
Explorando o desenvolvimento para web usando o ASP.NET 3.5 / AJAX / LINQ / Visual Studio 2008 no Campus Party 2009. Palestra realizada por Ramon Durães. MVP e especialista em desenvolvimento de software. Autor de livros e publicações relacionadas. Para saber mais visite o blog http://www.ramonduraes.net
Por Ernest DuarEsta sessão irá dar algumas das previews de Java EE 7 e suas tecnologias diversas (WebSocket, JSON-P, JAX-RS 2, JMS 2, 'Concurrency for Java EE', Cache e Batch API, etc.).
Referências: apresentação no Devoxx France 2013 https://blogs.oracle.com/arungupta/entry/java_ee_7_key_features
O desenvolvimento de aplicações no ambiente de nuvem já tornou-se ?mainstream?. É fato também que o deployment de uma aplicação Java EE neste ambiente pode ser feito rapidamente, sem muita necessidade de adaptação. Mas, muitos são os desafios enfrentados e as melhores práticas recomendadas afim de extrair todo o benefício (escalabilidade, elasticidade, produtividade, adaptabilidade, resiliência) que este ambiente pode oferecer. Nesta talk iremos demonstrar como tirar proveito dos recursos e serviços computacionais oferecidos pela nuvem (Microsoft Azure) no desenvolvimento de uma aplicação Java EE utilizando os últimos recursos da versão EE 8 (JAX-RS, CDI, JPA, EJB, JSON-P, Servlets, etc).
Microservices tornaram-se o tema mais quente na arquitetura de software atualmente, e muito pode ser dito sobre os seus benefícios. Mas, existem inúmeros desafios relacionados a implementação e propagação de segurança no contexto destes componentes. Esta palestra abordará como realizar os cenários de autenticação e autorização com microservices, bem como discutir boas práticas e estratégias de implementação de segurança cobrindo tecnologias como OAuth2, OpenID Connect, JSON Web Token.
Microservices have become the hottest topic in software architecture over the past year, and much can be said about their benefits. But there are many challenges related to their security implementation and security context propagation over their components. This session addresses how to perform authentication and authorization inside a microservices architecture, covering technologies such as OAuth2, OpenID Connect, and JSON Web Token and use of Spring Cloud Security to integrate with a Spring and/or Java EE–based application platform.
Microservices tornaram-se o tema mais quente na arquitetura de software durante o ano passado, e muito pode ser dito sobre os seus benefícios. Mas, existem inúmeros desafios relacionados a implementação e propagação de segurança no contexto destes componentes. Esta palestra abordará como realizar os cenários de autenticação e autorização com microservices, cobrindo tecnologias como OAuth2, JSON Web Token, utilizando a plataforma do Spring Cloud Security afim de integrar-se com aplicações Spring e/ou Java EE.
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Java EE 7 In Action
1. Java EE 7 In Action
Rodrigo Cândido da Silva
@rcandidosilva
http://about.me/rcandidosilva
2. Agenda
! Plataforma Java EE
! Java EE 7
! Web Socket API 1.0
! Batch API 1.0
! Concurrency Utilities
! JSON API 1.0
! JAX-RS 2.0
! Java Message Service 2.0
! JavaServer Faces 2.2
! Bean Validation 1.1
! Java Persistence API 2.1
! Outras APIs
4. Java Enterprise Edition
! Suporte ao desenvolvimento de aplicações
“enterprise”
! Aplicações distribuídas, seguras, escaláveis, de alta
disponibilidade e com baixo custo de manutenção
! Plataforma para desenvolvimento de software de
pequeno, médio e grande porte em múltiplas
camadas de componentes
! Componentes “rodam” em um servidor Java EE
6. Java Enterprise Edition
! Serviços oferecidos pelos containeres Java EE:
!
!
!
!
!
!
!
!
!
Gestão de memória, ciclo de vida de objetos
Conexões, Transações, Serviço de nomes
Segurança
Tolerância a falhas
Integração
WebServices
Clustering
Alta disponibilidade
Confiabilidade...
7. Java EE History
Java EE 7
Java EE 6
Java EE 5
J2EE 1.4
J2EE 1.3
CMP,
Connector
Architecture
Web
Services
Mgmt,
Deployment,
Async
Connector
Ease of
Development,
EJB 3, JPA,
JSF, JAXB,
JAX-WS,
StAX, SAAJ
Pruning,
Extensibility
Ease of Dev,
CDI, JAX-RS
JMS 2,
Batch, TX,
Concurrency,
Interceptor,
WebSocket,
JSON
JAX-RPC, CMP/
BMP, JSR 88
Web
Profile
Servlet 3,
EJB 3.1 Lite
Web
Profile
JAX-RS 2
8. Top 10 no Java EE 6
!
!
!
!
!
!
!
!
!
!
EJB packaging no WAR
Type-safe deployment injection
Deployment descriptors opcionais (web.xml, etc)
Padronização do Facelets no JSF
EJB em apenas uma classe
Extensibilidade para Servlets e CDI
CDI events
EJBContainer API
@Schedule baseado no modelo Cron
Web Profile
10. Java EE 7 Overview
JSP 2.2
JSF 2.2
JAX-RS
2.0
EL 3.0
Concurrency Utilities
(JSR 236)
Servlet 3.1
Common
Annotations
1.1
Interceptors 1.1
Managed Beans 1.0
Connector
1.6
New
EJB 3.2
JPA 2.1
Major
Release
CDI 1.1
JTA 1.2
Updated
JMS 2.0
Bean Validation 1.1
Portable
Extensions
Batch Applications
(JSR 352)
Java API for JSON
(JSR 353)
Java API for WebSocket
(JSR 356)
11. WebSocket 1.0
! Web Socket
! Modelo de mensagem bi-direcional, full-duplex, TCP
! Definido pelo W3C
! Web Socket API 1.0
! Modelo de programação para Web Sockets da
plataforma Java
! Anotações (@ServerEndpoint, @ClientEndpoint)
! Lifecycle callback handlers
! Permite empactá-los em aplicações Java EE
15. WebSocket 1.0
WebSocket Communication
...
@OnMessage
public void message(String message, Session client)
throws IOException {
for (Session session : peers) {
if (!session.equals(client)) {
session.getRemote().sendObject(message);
}
}
}
}
16. Batch API 1.0
! Serve para executar tarefas não-iterativas e
processos longos
! Processamento computacional intensivo
! Pode ser executado em sequencial ou paralelo
! Pode ser inicializado com:
! Chamada adhoc
! Agendado
! Não há uma API de agendamento incluída
17. Batch API 1.0
!
!
!
!
Job: um processo a ser executado
Step: uma fase do job a ser executada
JobOperator: gerencia o ciclo do processamento
JobRepository: metadados dos jobs
18. Batch API 1.0
Step Example
@Named(“accountReader")
...implements ItemReader... {
public Account readItem() {
// read account using JPA
<step id=”sendStatements”>
<chunk reader=”accountReader”
processor=”accountProcessor”
writer=”emailWriter”
item-count=”10” />
</step>
@Named(“accountProcessor")
...implements ItemProcessor... {
Public Statement processItems(Account account) {
// read Account, return Statement
@Named(“emailWriter")
...implements ItemWriter... {
public void writeItems(List<Statements> statements) {
// use JavaMail to send email
19. Concurrency Utilities
! Define uma API simples e padronizada para
utilização de concorrência, sem comprometer a
integridade do container
20. Concurrency Utilities
Managed Task Executor
public class TestServlet extends HTTPServlet {
@Resource(name=“concurrent/MyExecutorService”)
ManagedExecutorService executor;
Future future = executor.submit(new MyTask());
class MyTask implements Runnable {
public void run() {
... // Task logic
}
}
}
21. JSON API 1.0
!
!
!
!
API para parser e geração JSON
Streaming API
Object Model API
Realiza o binding de JSON para objetos Java
24. JAX-RS 2.0
!
!
!
!
!
!
Definição de APIs para cliente
Validar parâmetros via Bean Validation
Processamento assíncrono (server-side)
Possível definir filtros e interceptadores
Content negociation (server-side)
Suporte a Hypermedia (processar links)
25. JAX-RS 2.0
Client API
// Get instance of Client
Client client = ClientBuilder.newClient();
// Get customer name for the shipped products
String name = client.target(“../orders/{orderId}/customer”)
.pathParam(”orderId", ”10”)
.queryParam(”shipped", ”true”)
.request()
.get(String.class);
26. JAX-RS 2.0
Logging Filter
public class RequestLoggingFilter
implements ContainerRequestFilter {
@Override
public void filter(ContainerRequestContext requestContext) {
log(requestContext);
// Non-wrapping => returns without invoking next filter
}
...
}
27. Java Message Service 2.0
Menos verboso
Redução de “boilerplate code”
Suporte a injeção de dependência
Connection, Session e outros objetos são
automaticamente finalizados (obj.close())
! Simplificação na API do Java SE e EE
!
!
!
!
29. Java Message Service 2.0
Simplified API
@Inject
private JMSContext context;
@Resource(mappedName = "jms/inboundQueue")
private Queue inboundQueue;
public void sendMessage (String payload) {
context.createProducer().send(inboundQueue, payload);
}
30. JavaServer Faces 2.2
Suporte ao Flow Faces
Integração com HTML 5
Utilização filas para múltiplas requisições Ajax
Injeção em todos os artefatos JSF (lifecycle +
converters + validators)
! Novos componentes: FileUpload & BackButton
! Mais simples:
!
!
!
!
! Tag Handler não é mais necessário
! URLs compactas para mapear TagLibraries
33. Bean Validation 1.1
!
!
!
!
Integração com outras especificações
Validação em parâmetros e/ou retorn de métodos
Validação elementos de uma coleção
Constraint composition com OR
35. Java Persistence API 2.1
!
!
!
!
!
Schema generation
Persistence Contexts não sincronizados
Bulk update/delete using Criteria API
User-defined functions using FUNCTION
Stored Procedure Query