Fabio Velloso Lançamento WildFly 8



Documentos relacionados
NOME DA APRESENTAÇÃO

TDC2012. EJB simples e descomplicado, na prática. Slide 1

Tema: Oracle Weblogic Administration 11g

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo

Experiência em missão crítica de missão crítica

EJB ainda tem vez no Java EE 6? Fernando Lozano Consultor 4Linux

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

Desenvolvendo aplicações desktop em Java: presente e futuro

Microserviços: flexibilidade e agilidade a que preço?

Integrações e o ecossistema Java. Fabric8 ao Resgate!

Oracle WebLogic Server 11g: Conceitos Básicos de Administração

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Associação Carioca de Ensino Superior Centro Universitário Carioca

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

ESET Remote Administrator ESET EndPoint Solutions ESET Remote Adminstrator Workgroup Script de Logon

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Java EE 7 In Action. Rodrigo Cândido da

UFG - Instituto de Informática

Ricardo R. Lecheta. Novatec

DF-e MANAGER 2.6 Pré-requisito de Instalação Novembro de 2015

Web Technologies. Tópicos da apresentação

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

35% GARTNER. Despesas com tecnologia ocorrem fora da T.I. Fazem uso de tecnologias não aprovadas pela T.I.

Programação e Configuração de Aplicações JEE. Edilmar Alves

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

Demoiselle Tutorial Módulo 1 Arquitetura

J2EE TM Java 2 Plataform, Enterprise Edition

Adriano Reine Bueno Rafael Barros Silva

Capítulo 1 - Java EE 6 por alto - 1

Spring: Um suite de novas opções para Java EE

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL. Java Peristence API 1.

MÓDULO. Linguagem de Programação para Web 2

Integrando Eclipse e Websphere Application Server Community Edition

Google App Engine. André Gustavo Duarte de Almeida. Computação Ubíqua e Nuvens. Natal, 24 de maio de 2012 andregustavoo@gmail.com

TOTVS Colaboração NF-e/CT-e Logix. Integração TOTVS Colaboração NF-e/CT-e Logix

Manual de Instalação PIMSConnector em Windows

GUIA DE INÍCIO RÁPIDO NHS NOBREAK MANAGER 4.0 TOPOLOGIA MÍNIMA DE REDE PARA A INSTALAÇÃO E USO DO SOFTWARE COM GPRS

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

INTEGRADOR DE MENSAGENS CORPORATIVAS PARA UMA INFRA-ESTRUTURA DE ELETRONIC DATA INTERCHANGE (EDI)

OCEL001 Comércio Eletrônico Módulo 9_3: OpenShift

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Parceiro Oficial de Soluções Zabbix no Brasil

Java para Desenvolvimento Web

Arquitetura de Banco de Dados

Configurando o DDNS Management System

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

EAI Manual do Administrador

Projeto de Redes de Computadores. Desenvolvimento de Estratégias de Segurança e Gerência

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

SCC Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart.

Introdução ao Active Directory AD

Anexo V - Planilha de Apuração Aquisição de Solução de Redes Sociais

Enterprise Java Beans

Manual de Instalação do Agente Citsmart

UNIVERSIDADE. Sistemas Distribuídos

Integração entre o IBM HTTP SERVER, APACHE WEB Server e IBM Websphere Application Server

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Tópicos. Atualizações e segurança do sistema. Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP)

Explorando os novos recursos de EJB 3.1. Fabio Velloso

JSF - Controle de Acesso FERNANDO FREITAS COSTA

18/04/2006 Micropagamento F2b Web Services Web rev 00

Encontro de Utilizadores Esri ArcGIS for Server 10.2 Administração Orador: João Ferreira Esri Portugal

Tecnologias Web. Padrões de Projeto - Camada de Apresentação

J2EE. J2EE - Surgimento

MÓDULO Programação para Web 2

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Introdução ao kit J2EE SDK (Sun)

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

As soluções endpoint vêm em duas versões: ESET Endpoint Security e a versão mais leve do produto, ESET Endpoint Antivirus.

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

Desenvolvendo Aplicações Web com NetBeans

Aplicações Desktop: Swing/SubMacroForms. Carlos Renato Alves Gouveia Novembro/2008

ARQUITETURA DE SISTEMAS. Cleviton Monteiro

Software de gerenciamento de impressoras

Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério.

Desktop em minutos com genesis, Matisse, Java WebStart e JSR-296

GERAÇÃO DE RELATÓRIOS

Manual de Instalação PIMSConnector em Linux

Java II. Sérgio Luiz Ruivace Cerqueira

Padrão ix. Manual de Instalação do Q-Ware Server Versão

Auditando o Acesso ao Sistema de Arquivos no Windows 2008 Server R2

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

CSAU Guia: Manual do CSAU 10.0 como implementar e utilizar.

SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010)

Aula 03 - Projeto Java Web

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT

Minicurso Computação em Nuvem Prática: Openstack

UNIDADE IV ENTERPRISE JAVABEANS

Rational Requirements Composer Treinamento aos Analistas de Qualidade e Gestor das Áreas de Projeto

Como sobreviver com Java 2? Saulo Arruda

JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS

TUTORIAL JAVA AS - HTTP CLIENT COMPOSITION ENVIROMENT 7.1

INTEGRAÇÃO DE TÉCNICAS DE SISTEMAS DISTRIBUÍDOS APLICADA AO DESENVOLVIMENTO DE UM AMBIENTE PARA O JOGO DE XADREZ

Transcrição:

Fabio Velloso

Agenda Introdução e objetivos Java EE 7 WildFly 8 Conclusão

Agenda Introdução e objetivos Java EE 7 WildFly 8 Conclusão

Fabio Velloso Bio Bacharel em Ciência da Computação - UFSCar MBA FGV Desenvolvedor Java desde 1996 Fundador do SouJava Professor de SOA e Web Services do curso de Pós- Graduação "Lato-Sensu" em Desenvolvimento de Software para Web da UFSCar Atualmente desenvolve projetos pessoais com Big Data, Cloud Computing, Design Thinking, Service Design e Economia Criativa

Objetivos Apresentar novidades do Wildfly 8, funcionalidades evoluídas do JBoss AS 7 e novidades do Java EE 7 com exemplos executando no WildFly 8

O que é? Servidor Java EE da Red Hat Versão final lançada em 11 de fevereiro Em versões anteriores chamamos de JBoss Application Server Java EE 7 Compatible Full e Web profile Open Source JBoss EAP

Funcionalidades Java EE 7 Compatible Full e Web profile Novo servidor Web Redução de portas administrativas Avanços no jboss-cli Maior granularidade no controle de acesso Log de auditoria e papel de auditor Novo admin console Poliglota Suporte Java 8

Agenda Introdução e objetivos Java EE 7 WildFly 8 Conclusão

Java EE 7 API s

Java EE 7 API s RED Hat Web JSF 2.2 Fragments JSP 2.3 EL 3.0 JAX-RS 2.0 JAX-WS 2.2 JSON 1.0 WebSocket 1.0 CDI Extensions CDI 1.1 Interceptors 1.2, JTA 1.2 Servlet 3.1 Commons Annotations 1.1 Managed Bean 1.0 EJB 3.2 Concurrency 1.0 Bean Validation 1.1 JPA 2.1 JMS 2.0 JCA 1.7 Batch 1.0

Java EE 7 Novas APIs e funcionalidades Web modernas WebSockets Processamento assíncrono e listeners não bloqueantes (Servlets 3.1) JSON REST Processamento Batch Concurency Utilities JMS 2.0 CDI

Java EE 7 WebSocket - JSR 356 Full duplex e bidirecional comunicação sobre uma conexão TCP Chats, jogos RFC 6455 HTML 5 e JavaScript no client Não necessita uma nova conexão TCP a cada troca de mensagem entre server e client Faz o handshake via HTTP Upgrade Cliente inicia conexão através de uma URI Server aguarda conexão WebSocket que suporta multiplas conexões

Java EE 7 WebSocket - JSR 356 Cria o EndPoint e define a URL Payload da mensagem WebSocket Marca método para receber a mensagem WebSocket

Java EE 7 Batch API - JSR 352 API para processamento batch em Java EE Define modelo de programação e um runtime para tarefas a serem executadas Descrito em XML (Job XML) Job é a entidade que encapsula o processo batch Abstrações: job, step, reader, processor, writer Pode-se definir a sequência, tarefas concorrentes e particionar job em múltiplas threads

Java EE 7 Batch API Define o job fase de um job, independente e sequencial Bloco onde se define reader, processor e writer Item oriented processing, numero de itens no bloco JobOperator joboperator = BatchRuntime.getJobOperator(); long jobid = joboperato.start("slmplewildflyjob", new Properties());

Java EE 7 Batch API Valores de reader, processor e writer são nomes CDI de classes que implementam: ItemReader, ItemProcessor ou ItemWriter ou estendem classes abstratas (Reader e Writter)

Java EE 7 JSON Processing - JSR 353 Parser e geração de texto JSON Stream API Consumir forward read-only pull parsing Geração Par nome, valor JSON Objects JSON Arrays

Java EE 7 JSON Processing - JSR 353

Java EE 7 Concurrency - JSR 236 API para executar tarefas concorrentes em Java EE com segurança, garantindo a integridade do container Estende Java Concurrency Utilities para Java EE ManagedExecutorService é a versão Java EE de java.util.concurrent.executorservice Unidade a ser executada concorrentemente é chamada de task ManagedExecutorService pode implementar Runnable ou Callable Callable Task pode retornar valor e lançar checked exception

Java EE 7 Concurrency - JSR 236 Runnable ou Callable para definir a tarefa Injeção do ManageExecutor Submetendo a tarefa

Java EE 7 JMS 2.0 - JSR 343 Simplificação da API JMSContext combina em funcionalidades os objetos Connection e Session da JMS 1.1 JMSContext pode ser injetado via CDI JMS 1.1 necessita de um connection factory Java EE 7 tem factory padrão JMS 2.0

Java EE 7 JMS 2.0 - JSR 343 Cria recurso durante deploy Uso opcional Java EE 7 fornece connection factory padrão já configurada Interface simplificada Nome JNDI Mapeado

Java EE 7 JAX-RS 2.0 - JSR 339 Filters e Interceptors Processamento assíncrono Client API Validação Outras melhorias ResourceTemplate Link

JAX-RS 2.0 Client API Client API com todos objetos ClientBuilder gera objeto Client para processamento WebTarget define o path Define o media type Chamada HTTP GET Fluent API

JAX-RS 2.0 Asynchronous Processing @Suspended método assíncrono retorna void Nova thread retorna o resultado Executa na nova thread

Java EE 7 JAX-RS 2.0 e JSON Processing

Agenda Introdução e objetivos Java EE 7 WildFly 8 Conclusão

Redução de portas Uso de HTTP Upgrade Função Porta Protocolos Gerenciamento 9990 HTTP/JSON Management, HTTP Upgraded Remoting - Configuração mais simples de firewall Importante para Cloud (Native Management & JMX), Web Administration Console Aplicação 8080 HTTP (Servlet, JAX-RS, JAX-WS), Web Sockets, HTTP Upgraded Remoting (EJB Invocation, Remote JNDI) Múltiplas instâncias em um único server Overhead apenas no request/response HTTP Upgrade inicial

Undertow Novo Servidor Web integrado no WildFly 8 Servlet 3.1 container Suporte a Web Sockets Suporte a HTTP Upgrade Leve e flexível Alta performance APIs bloqueantes e não bloqueantes com NIO jar de aproximadamente 1MB utiliza menos de 4Mb de heap

Undertow mod_cluster HTTP load balancer MCMP (Mod Cluster Managed Protocol) Conexão adicional entre load balancer e back-end nodes se comparado com mod_jk e mod-proxy Recebe informações sobre undeploy e redeploy de aplicações Recalcula e gerencia melhor a carga Java fluent API

Undertow Criação de vários handlers ClientBuilder gera objeto Client para processamento Inicia a execução do processo em uma JVM

Server mode Dois server mode a partir do JBoss 7 Standalone e Domain Standalone Cada Application Server é uma instância independente Similar as versões do JBoss 4, 5 e 6 JBOSS_HOME/bin/standalone.sh JBOSS_HOME/standalone/configuration

Server mode Domain Múltiplos servidores gerenciados em um ponto central Físicos ou virtuais Cada servidor pode ter várias instancias de application servers sob controle de um processo Host Controller Host Controller é responsável por gerenciar o ciclo de vida dos servers Start - JBOSS_HOME/bin/domain.sh Configuração - JBOSS_HOME/domain/configuration

Domain mode Master Host Controller Fonte: http://blog.akquinet.de/2012/06/29/managing-cluster-nodes-in-domain-mode-of-jboss-as-7-eap-6/

jboss-cli Command line interface Disponível a partir do JBoss 7 Tarefas administrativas Domain e standalone Conectar com controller de um domínio ou domínio especifico Habilitar níveis de segurança (RBAC) Registrar módulos Deploy de aplicações, undeploy, status do deploy

Controle de acesso Dois modelos para controle de acesso Simples Padrão Usado no JBoss 7 Autentica e tem todos privilégios RBAC (Role Based Access Control) mais granular baseado em roles

Controle de acesso RBAC (Role Based Access Control) 7 roles pré-definidos Roles são conjuntos de permissões Permissões definem as ações que podem ser executadas lookup, read, write, start, shutdown Users e groups são definidos em roles Alteração de perfil utilizando jboss-cli editando o domain.xml Perfis armazenados em LDAP

Controle de acesso Perfis padrão Monitor: leitura de configurações e estado do servidor. Não pode acessar dados sensíveis. Deployer: Mesmas permissões do Monitor, porém pode efetuar deploy e undeploy. Operator: Estende o papel monitor. Permissões: Capaz de iniciar/parar um servidor. Maintainer: Capaz de modificar as configurações, exceto as informações sensíveis

Controle de acesso Perfis padrão Administrator: Capaz de modificar configurações, incluindo as informações sensíveis. Acesso irrestrito, exceto logs de auditoria. Auditor: Mesmas permissões do Monitor, pode ler dados sensíveis e logs de auditoria. SuperUser: Acesso irrestrito, equivalente o AS7 sem o RBAC.

Admin Console

Admin Console Adicionar usuário Habilitar RBAC Outra opção é editar o domain.xml e standalone.xml

Admin Console

Admin Console

Admin Console

Admin Console

Admin Console Simples Rapido Única instancia para vários domínios Grande evolução visual e funcional em comparação com outras versões API para estender as funcionalidades criar subsitemas dentro do JBoss Modules estender a console WEB

Logging Log de auditoria disponível a partir do AS 7 Log de acesso, autenticação e de operações administrativas Formatado em JSON Não é habilitado por padrão Habilitar log de auditoria com jboss-cli para o host controller Habilitar para todos servidores de um host controller

Logging Usuário admin criou um log Profile em que o log foi criado Operação add de criação do log

Automated Patching Mecanismo de Update Arquivos zip com update e metadado Uso do ClassLoader Modular Pode-se aplicar múltiplos patches Single Server ou múltiplas instâncias Standalone ou managed domain host Local ou remoto Servidor em execução, mas precisa restart Ferramenta atual é jboss-cli admin console não tem a funcionalidade

Suporte Cloud Wildfly quickckstart Criação de instância do WildFly via interface Web Métricas, Banco de dados e integração continua com Jenkins podem ser adicionados Criar a aplicação por linha de comando Acesso jboss-cli por SSH

Suporte Cloud

Suporte Cloud REST API BROKER

Suporte Cloud Wildfly clickstart Configura um build service, repository e uma aplicação de exemplo a basic Wildfly com continuous deployment e Maven Deploy manual Nomes JNDI JDBC Realm Maven e Jenkins

Outras novidades Compatibilidade com JDK 8 Hibernate Search Indexação para objetos com full text searching Múltiplos data sources, Infinispan e entidades de banco RESTEasy JAX-RS 2.0, JSON Web Encryption, Jackson, Yaml, JSON-P e Jettison Removido suporte a: CMP,JAX-RPC (JSR 101) e JavaTM EE Application Deployment (JSR-88)

IDEs Integrado com IDE s NetBeans 7 e 8 IDEA 13 JBoss Tools NetBeans 8, OpenJDK 8 e WildFly 8 Lambdas Plugin 1.0.7 funcional Plugin 1.0.4 com erros Stop e Restart

Agenda Introdução e objetivos Java EE 7 WildFly 8 Conclusão

Conclusão Suporte a Java EE 7 Rápido e leve Novo servidor Web HTTP Upgrade mod_cluster Melhor controle de acesso Interface administrativa melhorada Evoluções na administração por linha de comando Open Source

Referências WildFly - http://wildfly.org/8/ Permissões no WildFly - http://claudius.com.br/ 2014/02/permissoes-rbac-no-console-wildfly-8/ WildFly no OpenShift - https://www.openshift.com/ quickstarts/wildfly-8 WildFly na CloudBees - https://github.com/ CloudBees-community/wildfly8-clickstart Java EE samples - https://github.com/javaeesamples/javaee7-samples

OBRIGADO @fabiovelloso fabio@soujava.org.br fabiovelloso soujava.org.br facebook.com/soujava @soujava