O documento discute o futuro do Java EE, GlassFish e Apache Maven. Em três frases:
1) O documento apresenta as novidades do Java EE 7 e do servidor de aplicação GlassFish 4.0, que será a implementação de referência do Java EE 7.
2) Também discute o uso do Apache Maven para gerenciamento e build de projetos Java EE, incluindo plugins úteis como o plugin do GlassFish Embedded para executar o servidor localmente durante o desenvolvimento.
3) Por fim, aborda a importância do Java EE na nuvem e suas caracterí
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.
Palestra realizada durante o VII Encontro de Tecnologia da Informação na FIC. Foi uma palestra muito boa, tive um ótimo retorno. Pena que nos slides não há o demo que eu fiz no NetBeans, acho que foi o mais importante.
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.
Em uma visão macro, o que tiveram destaque para uma filtragem mais especificas foram o ZEND2 devido a robustez e grande credibilidade de mercado, CodeIgniter devido a grande parte do que saim do desenvolvimento "comum" e passam a ter um primeiro contado com algum tipo de framework, e suas comunidades bastante ativas, e Yii a mais jovens desse framework, porém com um grande crescimento nos últimos anos no meio do desenvolvimento PHP.
Obtive um resultado positivo, pois aderir por uma escolhe bastante objetiva e que hoje tem me dado resultado de usabilidade e tempo.
Apresento alguns conceitos sobre a arquitetura do JBoss Fuse. Nesta apresentação criamos um simples serviço CXF e mostramos diferentes formas de implantar e gerenciar o serviço no JBoss Fuse 6.1
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.
Palestra realizada durante o VII Encontro de Tecnologia da Informação na FIC. Foi uma palestra muito boa, tive um ótimo retorno. Pena que nos slides não há o demo que eu fiz no NetBeans, acho que foi o mais importante.
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.
Em uma visão macro, o que tiveram destaque para uma filtragem mais especificas foram o ZEND2 devido a robustez e grande credibilidade de mercado, CodeIgniter devido a grande parte do que saim do desenvolvimento "comum" e passam a ter um primeiro contado com algum tipo de framework, e suas comunidades bastante ativas, e Yii a mais jovens desse framework, porém com um grande crescimento nos últimos anos no meio do desenvolvimento PHP.
Obtive um resultado positivo, pois aderir por uma escolhe bastante objetiva e que hoje tem me dado resultado de usabilidade e tempo.
Apresento alguns conceitos sobre a arquitetura do JBoss Fuse. Nesta apresentação criamos um simples serviço CXF e mostramos diferentes formas de implantar e gerenciar o serviço no JBoss Fuse 6.1
A apresentação aborda sobre a origem e o core do Spring, um framework open-source para desenvolvimento Java, bem como seus principais projetos e porque esse mega projeto de quase 20 anos de idade, ainda hoje é popular do mundo Java. Discutiremos sua arquitetura, funcionalidades e um roadmap dos projetos que estão sendo trabalhados no momento.
A apresentação visa repensar os padrões JavaEE para evitar o uso de padrões obsoletos, focando no container server-side, para criar arquiteturas enxutas.
Secrets of Performance Tuning Java on KubernetesBruno Borges
Java on Kubernetes may seem complicated, but after a bit of YAML and Dockerfiles, you will wonder what all that fuss was. But then the performance of your app in 1 CPU/1 GB of RAM makes you wonder. Learn how JVM ergonomics, CPU throttling, and GCs can help increase performance while reducing costs.
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX AppsBruno Borges
Streamline the building, testing, packaging, and release of your desktop JavaFX applications for all major platforms with simple to use CI/CD Pipelines and GitHub. This session will cover the details of combining GitHub for hosting source code and binaries for Mac OS, Windows and Linux of your application, and how to take advantage of Azure Pipelines plan for Open Source projects. We will learn about using a Maven archetype and a Gradle starter project for JavaFX apps, both ready for CI/CD and how they are configured. Join this talk and get ready to streamline your desktop apps just like your microservices.
"Serverless" can have different meanings. But regardless of what anyone says, one thing is clear: there are many servers behind it! The goal of this presentation will be to understand when, how, and why to adopt serverless technologies. To do that, we will observe the three pillars of serverless: event-driven, micro-billing, and self-scaling abstract infrastructure, and on top of that we will look into the expected developer experience and how it will positively impact developers' productivity. Lastly, let's take a look at some architectural patterns that can help you initially adopt the technology for brand new projects as well as into existing systems.
A Look Back at Enterprise Integration Patterns and Their Use into Today's Ser...Bruno Borges
Functions, and the so called serverless computing have freed deveopers from worring about infrastructure, and even upper platform layers, as well some steps in the software development lifecycle. But once you have functions deployed, how do they interact with each other? How message navigates between them? Maybe, just maybe, it’s time to look back again at EIPs - Enterprise Integration Patterns, and their use in this new way of deploying code to the Cloud. This talk will cover primarily the use of one of the key EIP frameworks - Apache Camel - and top patterns applicable to Serverless Computing using Functions services by Cloud vendors as part of the demonstrations.
Java SE is ideal for building lightweight microservices and those services are increasingly being deployed to the cloud. Cloud platforms are attractive deployment targets due to their high availability, affordability, ease of management, and access to services like object storage, messaging, and databases. And when well architected, Cloud Java apps exhibit a number of qualities like portability, updatability, configurability, composability, and scalability.
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
4. Java SE 8 e Java EE 7
Java EE 7
5 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
5. Novidades em produtos Oracle
● Oracle ADF Essentials
– Grátis para desenvolvedores e para deployment em produção
– Deploy em qualquer servidor de aplicação Java EE
● Oracle WebLogic Server 12c
– ZIP com apenas 183 Mb
– Grátis para desenvolvedores
● Oracle ADF Mobile
– iOS
– Android
6 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
6. MySQL Server
Java EE 7
7 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
13. The following is intended to outline our general product direction.
It is intended for information purposes only, and may not be
incorporated into any contract. It is not a commitment to deliver
any material, code, or functionality, and should not be relied
upon in making purchasing decisions. The development,
release, and timing of any features or functionality described for
Oracle’s products remains at the sole discretion of Oracle.
14 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
14. Bruno Borges
● Desenvolvedor há 12 anos
● Florianópolis, Rio de Janeiro e São Paulo
● Conferências
– JavaOne, JustJava, ApacheCon, The Developers Conference,
Profissão Java
● Evangelista Java EE – Oracle do Brasil
@brunoborges
15 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
15. Agenda
● Java EE
– Versão 6
– Futuro: Java EE 7
● GlassFish
– História
– Futuro
● Apache Maven
● Embedded GlassFish Maven Plugin
16 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
16. O que o mercado procura?
17 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
17. Spring vs Java EE ?
● Java EE evoluiu graças ao Spring
● Full e Web profiles – lightweight!
● Spring utiliza recursos EE
● Java as a language / Java as a platform
● Java EE as a platform / Java EE as a framework
18 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
18. Desenvolvimento Moderno com Java EE 6
Flexível & Leve Estensível
• API Java EE mais enxuta • Integre frameworks open source
• DI (Dependency Injection) • Habilite a instalação “Drag & Drop”
agora é um padrão Java EE de frameworks open source
• Manipule cenários simples e • Extensões padrões para DI não
complexos sem dependências criam mais lock-ins proprietários
externas
Produtividade no
Desenvolvimento
• Modelo de programação em POJOs
• Mais anotações, melhor suporte de IDE
• Menos config. XML, mais convenções
• Anotações e não deployment descriptors
19 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
19. Mais produtividade, menos código: Java EE 6
25% 50% 80%
Menos Classes Menos Linhas Menos Linhas
Java* de Código* de XML*
• Menos XML, Menos Código • Simplificação, Produtividade • Modernização
• Java Server Faces 2.0 • Managed Beans 1.0 • Context & Dependency
• Java Servlets 3.0 • Bean Validation 1.0 Injection 1.0
• Java Persistence 2.0 • JAX-WS 2.2 • Bean Validation 1.0
• Enterprise Java Beans 3.1 • Java API for RESTful
& Interceptors 1.1 Web Services
* Baseado em um aplicativo criado no JavaOne usando POJO / JPA / REST
20 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
21. Java EE 6
●
As coisas boas do Java EE 6
– Não precisa mais de web.xml
– Melhora na API de Servlets para tratar FileUpload
– Validation (JSR 303) no JPA
– CDI @Inject #FWT o/
22 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
22. Java EE 6
●
As coisas boas do Java EE 6
– EJB do jeito que todo mundo queria
●
Não precisa mais de um ejb-jar.xml
●
Anotações
●
@Singleton e @Startup beans
●
@Schedule bean's methods
●
Operações assíncronas
23 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
23. Do JEE 6 para o JEE 7
24 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
26. Java EE 7
● EJB 3.2 – JSR 345
– Suporte a multi-tenancy
– Melhora no uso de anotações para simplificar o modelo de programação
– Alinhamento com outras especificações como CDI, JMS e
BeanValidation
● JPA 2.1 – JSR 338
– Introdução da interface StoredProcedureQuery
27 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
27. Java EE 7
●
Servlet 3.1 e WebSockets
JSF 2.2 – JSR 344
– Mais fácil de criar componentes
– HTML5 e
– Template em HTML puro
– Novos componentes
– Mobile devices
28 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
28. Java EE 7
O mais esperado (IMO)
●
JMS – Java Messaging Service 2.0 – JSR 343
●
Melhora no modelo de programação
●
Integração com CDI
●
Mudanças na API para permitir maior integração entre vendors
de JMS com qualquer container JEE
●
“Cloud-friendly”: suporte a multi-tenancy e outras funcionalidades
relacinadas a Cloud
29 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
34. GlassFish - História
●
Criado pela Sun em 2005
●
2006 (v1), RI do JEE 5
– para desenvolvedores
●
2007 (v2), adicionou Clustering
e outras funções
– para enterprise
●
2009, (v3) RI do JEE 6
– Nova arquitetura (OSGi,
fast-startup, etc)
35 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
35. GlassFish - História
●
V 3.1 – Fevereiro 2011
– Load Balancing
– Centralised Admin
●
V 3.1.1 – Julho 2011
– Correção de bugs
36 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
36. GlassFish - História
●
V 3.1.2 – Fevereiro 2012
– Correção de bugs
– Novo console administrativo
– Melhorias no Thread Pool
– Transaction Recovery
37 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
37. GlassFish - Futuro
●
Versão 4.0 - Roadmap
– Java EE 7
– Suporte a virtualização
– PaaS oriented
38 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
38. GlassFish 4.0
Servidor de Aplicação Enterprise Ready
Referência de Implementação Java EE 7
39 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
39. Migração simples do GlassFish para o Oracle
WebLogic 12c
40 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
40. Desenvolvimento JEE + leve c/ WebLogic 12c
1GB
●
Melhoría de 2X à 6X do tamanho do download para
os desenvolvedores
●
Sem instaladores, faça unzip e inicie o uso dentro do
Windows, Linux ou OSX (Mac)
6X
318MB
●
Inicie uma instância com o parâmetro
-Dservertype=wlx
para carregar o WebLogic 168MB
12c sem os contêiners de EJB, JMS e JCA 2X
●
Faça download e utilize o produto sem custo
(estudos), sem chaves de ativação ou datas de
expiração dos produtos. Use a vasta documentação Distribuição 11g Distribuição 11g
(Formato Zip)
Distribuição 12c
online da Oracle
41 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
42. O que é?
• Projeto Open Source da Apache
• O Maven é:
– Um sistema de build automatizado +
– Um sistema de gestão de projetos +
– Um sistema para gerir dependências +
– Um sistema de descrição de projetos +
– Um sistema de geração de sites + ...
43 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
43. Apache Maven
● Ferramenta de build
– Convention over configuration
– Arquivos POMs
– Repositório de artefatos
– Plugins
44 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
44. Apache Maven
● Perfeito para
– Integração Contínua
– Aceleração na ambientação de novos desenvolvedores
45 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
47. Definição das dependências
<plugin>
● Como controlar <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
quais dependências <version>2.2</version>
<configuration>
vão para o MANIFEST <archive>
<manifest>
e/ou para o WEB-INF <addClasspath>true</addClasspath>
</manifest>
/lib? </archive>
</configuration>
– default </plugin>
vai para o MANIFEST, e no WEB-INF/lib
– <optional>true</optional>
vai para o MANIFEST, mas não no WEB-INF/lib
– <scope>provided</scope>
não vai para o MANIFEST, nem para o WEB-INF/lib
48 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
49. GlassFish Embedded plugin
● Permite rodar o GlassFish (tanto Web quanto Full profile)
a partir do Maven
– $ mvn embedded-glassfish:run
● Permite fazer deploy e undeploy em uma instância
remota
– $ mvn embedded-glassfish:deploy
– $ mvn embedded-glassfish:undeploy
50 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
50. GlassFish Embedded plugin
● Permite iniciar ou parar uma instância remota ou local
(embedded)
– $ mvn embedded-glassfish:start
– $ mvn embedded-glassfish:stop
● Permite administrar uma instância remote ou local
(embedded)
– $ mvn embedded-glassfish:admin
51 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
51. GlassFish Embedded plugin
● Como configurar?
– Artefatos no repositório central (#win o/)
– Dependências necessárias e seus escopos
52 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
52. GlassFish Embedded plugin
<dependency>
<groupId>org.glassfish.main.extras</groupId>
<artifactId>glassfish-embedded-all</artifactId>
<!-- ou web para projetos q nao usam todo o profile JEE -->
<version>3.1.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
53 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
53. GlassFish Embedded plugin
● Como configurar?
– Plugin
– domain.xml (para DataSource e outras configurações de container)
54 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
56. Integração com Servidores de IC
Servidor de
Integração
Repositório Contínua Servidor
do Código Compila &
WebLogic
Empacota
GlassFish
57 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
57. Outros plugins interessantes
● Dependency
– Visualizar as dependencias
$ mvn dependency:tree
– Copiar as dependencias para algum diretório
$ mvn dependency:copy-dependencies
– Criar um ClassPath
$ mvn dependency:build-classpath
– Modo offline
$ mvn dependency:go-offline
58 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
58. Outros plugins interessantes
● Assembly
– Agregar artefatos e dependencias do projeto em um arquivo ou diretório,
por exemplo:
● Criar um ZIP com todas as dependências
● Criar um ZIP com todos os fontes
● Criar um JAR (big-fat) executável
<plugin>
59
<groupId>org.apache.maven.plugins</groupId>
Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
59. Outros plugins interessantes
● GMaven - Groovy
– Scripting no build usando linguagem Groovy
● Em alguns servidores, pode ser necessário criar arquivos XML
específicos (como deployment descriptors)
● Com o GMaven, é mais fácil de gerar esses arquivos
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.3</version>
</plugin>
60 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
61. Outros plugins interessantes
● Archetype
– Auxilia na definição de “esqueletos” de projetos reutilizáveis
– Grandes empresas podem se beneficiar, quando possuem
arquitetura padrão para todos os projetos
62 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware