Fabiane Bizinella Nardon, Chief Scientist, TailTarget
Baixar apresentação (PDF - Português)
É muito bom ser um desenvolvedor Java na era do Big Data! Diversas ferramentas e frameworks à disposição e uma comunidade vibrante pronta para experimentá-las. Aprendemos algumas lições valiosas depois de processar bilhões de tuples diariamente com um dos maiores conjuntos de dados da América Latina. Nesta sessão, queremos apresentar uma série de receitas sobre como resolver problemas comuns ao processar Big Data usando Java. Falaremos sobre como trabalhar com cache distribuído, como integrar de forma eficaz diferentes bancos de dados NoSQL, como criar pipelines de processamento, como expandir clusters Hadoop e muito mais.
JUN 25 | 12:00 - 13:00
Mezanino: Sala 12
Sessão Paralela - SES16187
Tracks: Java do lado do servidor
Fernando Babadopulos, CTO, TailTarget
Baixar apresentação (PDF - Português)
Bilhões e bilhões de tuplas são adicionadas aos conjuntos de dados a cada dia. Os desenvolvedores Java frequentemente precisam encontrar soluções para armazenar, processar e consultar esses dados com eficácia em bancos de dados NoSQL. Java fornece várias maneiras de integrar bancos de dados NoSQL com Hadoop e outros aplicativos Java, mas existem alguns truques e desvantagens que você precisa conhecer ao criar aplicativos que precisam ser escaláveis. Nesta sessão, vamos compartilhar nossa experiência no processamento de enormes conjuntos de dados e daremos insights sobre como usar diferentes bancos de dados NoSQL com maior eficácia ao realizar o processamento distribuído com Java.
JUN 24 | 13:30 - 14:30
Mezanino: Sala 12
Sessão Paralela - SES16188
Tracks: Java do lado do servidor
Jaromir Hamala, Developer, Hazelcast
A API de cache JSR-107 (JCache) foi lançada em março de 2014. Pela primeira vez desde a versão inicial de Java, temos uma API padronizada e desvinculada de fornecedores para armazenamento em cache. O que isso significa para os desenvolvedores e por que devemos nos importar? Não se trata de mais uma abstração pesada demais e difícil de usar? Nesta sessão, apresentaremos conceitos e estruturas com base em JCache. Você aprenderá a lidar com as diferenças nas implementações subjacentes, saberá como migrar das atuais API de cache de código fechado para o JCache e verá como evitar as armadilhas comuns.
JUN 25 | 10:45 - 11:45
Mezanino: Sala 11
Sessão Paralela - SES16189
Tracks: Java do lado do servidor
Johannes Weigend, CTO QAware Germany, QAware GmbH
Baixar apresentação (PDF - Inglês)
Nesta sessão focada em código, mostraremos como desenvolver um back-end em Java EE REST começando de zero, usando NetBeans e GlassFish. Apresentarei o desenvolvimento de um AngularJS HTML5 Client. Uma visão geral da apresentação está disponível on-line: http://qaware.blogspot.de/2014/10/simplifying-javascripthtml5-rich.html
JUN 23 | 09:30 - 10:30
Mezanino: Sala 11
Sessão Paralela - SES16214
Tracks: Java Clientes e UI (Interface do Usuário)
Loiane Groner, IT Specialist, Citibank - loiane.com
Java é uma plataforma consolidada para aplicativos empresariais, mas o HTML5 vem ganhando popularidade e tornando-se um astro do front-end. Nesta sessão, você aprenderá a maximizar a combinação dessas duas tecnologias — com Java no back-end e HTML5 no front-end — explorando a efetiva troca de dados, arquiteturas possíveis (web, desktop e móveis), dicas e lições aprendidas nos projetos (com implementação de intranet e domínio público), e verá também como diagnosticar e resolver algumas das questões básicas de segurança.
JUN 23 | 10:45 - 11:45
Mezanino: Sala 12
Sessão Paralela - SES16215
Tracks: Java Clientes e UI (Interface do Usuário)
Rodrigo Cândido da Silva, Arquiteto de Software, GUJavaSC
Baixar apresentação (PDF - Português)
OAuth 2.0 é um protocolo aberto de autenticação e autorização que permite que os aplicativos acessem os dados uns dos outros. Esta sessão mostrará como definir as configurações do OAuth 2.0 para implementar segurança nos recursos RESTful desenvolvidos com JAX-RS para a plataforma Java EE. Junte-se a nós e conheça os requisitos de segurança para os serviços REST, autenticação HTTP Basic e gestão de identidades centralizada com o OAuth 2.0. Confira também uma visão geral da especificação OAuth 2.0, OAuth 2.0 e serviços REST e as alternativas existentes para o OAuth 2.0.
JUN 24 | 10:45 - 11:45
Mezanino: Sala 10
Sessão Paralela - SES16211
Tracks: Java do lado do servidor
Vinicius Senger, Programador, Globalcode; Yara Senger, Sócia diretora, Globalcode
"Nesta sessão, você verá como usar Java SE e ME em projetos da IoT (Internet das Coisas) a fim de criar produtos desde o protótipo até a produção em escala industrial. Vamos apresentar soluções reais desenvolvidas no Brasil tanto por startups como por empresas já consolidadas que vendem centenas de devices baseados em Java por mês. Vamos abordar questões de arquitetura, mercados verticais e combinações de sensores, além de compartilhar algumas experiências boas e ruins que tivemos nos últimos anos criando projetos, protótipos e produtos com Java e microcontroladores programados em C/C++. Demonstrações doidas estão previstas também – não perca!
JUN 25 | 10:45 - 11:45
Mezanino: Sala 12
Sessão Paralela - SES16212
Tracks: Java e a Internet das Coisas
Marco Antonio Maciel, Principal Consultant, Oracle; Bruno Borges, Gerente de produtos e developer advocate – Java e nuvem, Oracle
Esteja avisado: nesta sessão, os participantes com mais de 18 anos podem ficar bêbados! Vamos demonstrar, end-to-end, como fazer você mesmo uma chopeira controlada com Java e conectada com a Internet! Vamos mostrar um aplicativo visual JavaFX usando Java SE 8 e rodando em Raspberry Pi. Você verá como usar um aplicativo Java EE 7, e como rodar na Nuvem para processar os dados do Twitter e comunicar-se com Raspberry Pi. Por fim, você aprenderá a usar um processamento de eventos complexos (CEP) no dispositivo embarcado para avisar aqueles usuários que estão bebendo demais!
JUN 25 | 09:30 - 10:30
Mezanino: Sala 12
Sessão Paralela - SES16213
Tracks: Java e a Internet das Coisas
Henri Kerola, Senior Vaadin Expert, Vaadin
Baixar apresentação (PDF - Inglês)
Esta apresentação mostrará como você pode combinar os recursos funcionais das modernas linguagens Java Virtual Machine (JVM) com o framework Vaadin Java, a fim de escrever códigos de UI mais claros. Depois de apresentarmos as ferramentas e os conceitos, começaremos com um aplicativo Vaadin simples, escrito em Java 7, mostrando a evolução passo a passo usando Java 8 e Scala, e demonstrando os benefícios de cada uma dessas linguagens. Veremos também como o Vaadin facilita o uso da abordagem FRP (programação reativa funcional) em sua lógica de UI (interface de usuário). Não é necessário ter nenhuma experiência anterior em Java 8, Scala ou Vaadin para acompanhar a apresentação — basta ter noções básicas de Java e interesse na abordagem funcional.
JUN 25 | 13:30 - 14:30
Mezanino: Sala 13
Sessão Paralela - SES16231
Tracks: Java Clientes e UI (Interface do Usuário)
Abdelmonaim Remani, Master Software Engineer, Capital One
As estrelas estão alinhadas para o Duke no espaço da engenharia de dados. Cada importante tecnologia de big data é escrita em Java ou fornece excelente suporte à linguagem Java Virtual Machine (JVM). Esta sessão o ajudará a entender as mais importantes tecnologias de big data, assim você poderá implementar uma estratégia evolutiva em Java e nas linguagens JVM relacionadas. Falaremos sobre inúmeras tecnologias em um nível técnico agradável, incluindo NoSQL, Hadoop, Spark, Storm e Kafka. Também faremos uma análise técnica aprofundada, com destaque para as melhores práticas e padrões, entre os quais, arquitetura lambda e data lakes (lagos de dados). Não importa se você é um experiente engenheiro de dados ou se está apenas sondando o terreno, esta sessão tem alguma coisa para você!
JUN 24 | 09:30 - 10:30
Mezanino: Sala 11
Sessão Paralela - SES16209
Tracks: Java do lado do servidor
Hanneli Tavante, Developer, Codeminer 42
Curioso a respeito dos estranhos parâmetros que tratamos como argumentos para a Java Virtual Machine (JVM)? Esta sessão didática explicará as noções básicas de código de byte, modelo de memória, coletor de lixo e vários outros conceitos que às vezes podem causar problemas para os desenvolvedores. Também daremos dicas de desempenho com base nos componentes internos do JVM. Elaborada para iniciantes em programação em Java, esta sessão revelará as melhores práticas sobre como melhorar o desempenho com conhecimento básico dos componentes internos do JVM.
JUN 23 | 16:00 - 17:00
Mezanino: Sala 11
Sessão Paralela - SES16250
Tracks: Core Java Platform
Paulo Mota, Director, Product Management, Oracle
Nesta sessão, você saberá como levar suas habilidades em Java à próxima onda de aplicativos. O Java 8 permite criar apps móveis no próprio dispositivo e executá-los tanto no iOS quanto no Android. Saiba como usar as soluções Oracle para executar seu código Java diretamente em dispositivos móveis.
JUN 25 | 10:45 - 11:45
Mezanino: Sala 13
Sessão Paralela - SES16251
Tracks: Core Java Platform
Jim Weaver, Principal Member of Technical Staff, Oracle
Baixar apresentação (PDF - Inglês)
O Oracle Developer Cloud Service é um moderno ambiente de desenvolvimento PaaS (plataforma como um serviço) para empresas. Nesta sessão, você ficará atualizado e entenderá como usar o Oracle Developer Cloud Service.
JUN 23 | 14:45 - 15:45
Mezanino: Sala 13
Sessão Paralela - SES16271
Tracks: Java, DevOps, e Cloud
Ruslan Synytsky, CEO, Jelastic
Baixar apresentação (PDF - Inglês)
Os contêineres mudaram a mentalidade de TI para a metodologia DevOps e permitem aos desenvolvedores trabalhar da mesma forma tanto em ambientes de desenvolvimento, testes, preparação ou de produção. Eles fornecem a abstração certa para microsserviços, e várias plataformas da nuvem já os integraram em pipelines de implementação. Nesta sessão, faremos uma análise do atual cenário de DevOps e contêineres, e mostraremos como, juntas, essas inovações podem ajudar as empresas a alcançar as metas comerciais de maneira mais rápida e eficaz. Falaremos também sobre problemas conhecidos e soluções para aplicativos Java em contêineres.
JUN 23 | 09:30 - 10:30
Área de Exposição: Auditorio
Sessão Paralela - SES16272
Tracks: Java, DevOps, e Cloud
Jaime Navarro, WW PBC Java Team Lead, Oracle
Baixar apresentação (PDF - Inglês)
Esta sessão ajudará administradores de TI e desenvolvedores de ambientes Java a saber qual é a melhor maneira de aproveitar as ferramentas de monitoramento e diagnóstico incluídas no Java Development Kit. Falaremos sobre como economizar tempo e recursos reunindo informações detalhadas e específicas de modo inteligente no processo Java Virtual Machine (JVM) e no aplicativo executado na JVM. Venha e entenda melhor os comportamentos dos aplicativos Java e JVM. Você aprenderá como analisar com eficácia os extensos e detalhados dados sobre os aplicativos Java.
JUN 23 | 12:00 - 13:00
Mezanino: Sala 12
Sessão Paralela - SES16237
Tracks: Java, DevOps, e Cloud
Rodrigo Cândido da Silva, Arquiteto de Software, GUJavaSC
Baixar apresentação (PDF - Português)
Sistemas de processamento em lotes são comumente utilizados para integrar dados de múltiplas aplicações, normalmente desenvolvidos e apoiados por diferentes fornecedores e/ou hospedados em diferentes ambientes de software e hardware. A JSR-352 (Batch Processing for Java Platform), que faz parte da plataforma Java EE 7, define um modelo de programação para aplicações batch e um ambiente de execução para rodar e gerenciar estes processos em batch. Esta palestra apresenta como criar um sistema de processamento em lotes utilizando a API do Java EE Batch.
Sumário
1. Visão geral
2. Arquitetura de processamento Batch
3. Desenvolvendo Java EE batch jobs
4. Ciclo de vida dos jobs
5. Integração com message queues
6. Escalabilidade e robustez
JUN 23 | 09:30 - 10:30
Mezanino: Sala 10
Sessão Paralela - SES16273
Tracks: Java do lado do servidor
Gerrit Grunwald, Java Technology Evangelist, Oracle
Baixar apresentação (PDF - Inglês)
O gateway do Java IoT (Internet das Coisas) cuida da infraestrutura para que você possa manter o foco em seus dispositivos e casos de uso empresarial para o desenvolvimento da IoT. Com o respaldo do Oracle Internet of Things Cloud Service, o gateway cuida da comunicação entre os dispositivos, autorização de usuários, segurança e armazenamento na nuvem. Nesta sessão, você saberá por que usar um gateway de IoT em conjunto com um serviço na nuvem é uma escolha sensata, especialmente para empresas de grande porte.
JUN 24 | 10:45 - 11:45
Mezanino: Sala 13
Sessão Paralela - SES16274
Tracks: Java e a Internet das Coisas
Edson Yanaga, Technical Lead, Produtec; Bruno Souza, Founder and Developer, ToolsCloud, Inc.
Esta palestra é baseada na série de artigos "Improving your developer career" publicada na Oracle Java Magazine. Tornar-se um profissional competente e destacado é uma ambição que todo desenvolvedor Java possui. Mas muitas vezes a jornada para alcançar esse sucesso mostra-se difícil. Certamente o sucesso não pode ser alcançado do dia para a noite, mas nesta palestra veremos uma série de pequenas atitudes e ações que você como Desenvolvedor Java pode realizar todos os dias para tornar o caminho mais rápido, agradável e efetivo.
JUN 24 | 09:30 - 10:30
Mezanino: Sala 12
Sessão Paralela - SES16275
Tracks: Core Java Platform
Fabio Velloso, Consultor, Summa Technologies; Claudio Seidi, Arquiteto de Sistemas, Telefonica Brasil
Baixar apresentação (PDF - Português)
Spark é uma tecnologia para processamento de grandes volumes de dados em memória e com alta performance. Em conjunto com Hadoop e bancos NoSQL faz parte do complexo ecossistema de Big Data.
Nesta palestra vamos apresentar aplicações e situações em que a utilização do Spark é mais adequada do que Hadoop, como machine learning e data mining interativo. Abordaremos a integração de Spark com Hadoop e bancos NoSQL, criando uma arquitetura escalável e performática, que possibilita o desenvolvimento de soluções para problemas de diferentes características e necessidades. Também demonstraremos a utilização de Spark com Lambda Expressions, para a criação de um código Java mais conciso, de rápido desenvolvimento e execução.
JUN 23 | 16:00 - 17:00
Mezanino: Sala 12
Sessão Paralela - SES16277
Tracks: Java do lado do servidor
Baruch Sadogursky, Developer Advocate , Jfrog
Migrar os tradicionais aplicativos Java do lado do servidor para a nuvem no modelo multitenant apresenta inúmeros desafios. Participe desta sessão e conheça a nossa experiência em criar uma oferta de SaaS (software como um serviço) —que tem sido usada com sucesso pela comunidade Java— e os desafios que enfrentamos durante a conversão para o SaaS. Os tópicos da sessão também incluem nossa experiência com a plataforma EC2, a importância da automação e como usamos ferramentas como Chef e Puppet para o provisionamento de SaaS. Por fim, vamos descrever como a criação de uma versão SaaS do nosso produto mudou nossa opinião sobre a versão do software, além de compartilhar nossas recomendações sobre como distribuir as versões de seu produto com sucesso, seja como um SaaS ou por download.
JUN 25 | 12:00 - 13:00
Mezanino: Sala 11
Sessão Paralela - SES16278
Tracks: Java, DevOps, e Cloud
Gerrit Grunwald, Java Technology Evangelist, Oracle
Baixar apresentação (PDF - Inglês)
A situação da saúde pública para a população de idosos nos centros urbanos pode ser boa, mas para aqueles que vivem na zona rural, ela pode ser um tanto problemática. Nesta sessão, mostraremos uma solução que permite usar o Java executado em um dispositivo de gateway em conjunto com iBeacons, diferentes sensores e um dispositivo móvel para monitorar o estado de saúde de um idoso, informando os familiares ou o centro de saúde mais próximo em caso de emergência. Mostraremos como seria a execução de uma solução completa usando Java e Oracle Cloud.
JUN 24 | 12:00 - 13:00
Mezanino: Sala 13
Sessão Paralela - SES16279
Tracks: Java e a Internet das Coisas
Michael Nascimento, Systems Architect, Team Leader and Developer, TecSinapse
A nova versão do Java SE 8 finalmente traz uma API abrangente para lidar com diversos aspectos de data hora. Nesta palestra bastante prática, serão explorados os conceitos básicos da API, bem como os tipos básicos. Além disso, haverá muita demonstração de cenários práticos do dia a dia que permitirão entender como usar as novas classes na prática.
JUN 25 | 13:30 - 14:30
Mezanino: Sala 11
Sessão Paralela - SES16280
Tracks: Core Java Platform
Edson Yanaga, Technical Lead, Produtec
O Java 8 já completou 1 ano de aniversário de lançamento, e provavelmente muitos de nós já utilizaram algumas novas APIs e fizeram alguns lambdas com streams em Colllections. Porém é impressionante o enorme conjunto de possibilidades disponíveis para se trabalhar e, principalmente, pensar de modo funcional. Nesta palestra veremos lambdas e streams do Java 8 além do básico: com exemplos de uso diversos e integração com APIs como JPA, e exemplos de criação de suas próprias APIs que possam explorar o potencial de lambdas e streams.
JUN 23 | 13:30 - 14:30
Mezanino: Sala 11
Sessão Paralela - SES16281
Tracks: Core Java Platform
Alexandre Castro, Desenvolvedor Java, Summa Technologies do Brasil
Baixar apresentação (PDF - Inglês)
Com a chegada do Java 8, novos e poderosos recursos foram incorporados à plataforma. Lambda Expressions e Stream API foram dois deles. Nesta palestra será apresentada diversas maneiras de se trabalhar com a Stream API, além de dicas e alertas no uso desses recursos.
JUN 24 | 14:45 - 15:45
Mezanino: Sala 13
Sessão Paralela - SES16282
Tracks: Core Java Platform
Martin Skarsaune, Senior Developer and Co-Owner, Kantega AS
O depurador Java pode ser seu melhor amigo, mas você sabe como ele funciona? Esta sessão trará uma análise detalhada sobre como o JVM (Java Virtual Machine) e o depurador Java interagem para criar uma poderosa ferramenta, além de revelar como as ferramentas aproveitam essa interação para reunir informações valiosas dos sistemas em execução. Faremos algumas experiências também — venha e veja como registrar o rastreamento de pilha com valores para encontrar a causa NullPointerException. Prepare-se para ver uma série de informações valiosas sobre a abertura de seu aplicativo.
JUN 23 | 13:30 - 14:30
Mezanino: Sala 11
Sessão Paralela - SES16283
Tracks: Core Java Platform
Simon Ritter, Head of Java Technology Evangelism, Oracle
Baixar apresentação (PDF - Inglês)
Um novo e importante recurso de linguagem no Java SE 8 é a introdução de expressões lambda — uma maneira de definir e usar funções anônimas. Por si só, esse recurso oferece uma maneira excelente de simplificar situações em que normalmente usaríamos uma classe interna. Contudo, o Java SE 8 também traz uma série de novas classes nas bibliotecas de padrões, desenvolvidas especificamente para aproveitar as vantagens das expressões lambda. As novas classes estão incluídas em dois novos pacotes: java.util.stream e java.util.function. Nesta sessão, primeiro faremos uma breve discussão sobre a sintaxe e o uso das expressões lambda e depois vamos nos concentrar em como usar as streams para simplificar incrivelmente o modo como operações agregadas e de grande volume são processadas em Java.
JUN 23 | 10:45 - 11:45
Mezanino: Sala 13
Sessão Paralela - SES16284
Tracks: Core Java Platform
Bruno Souza, Founder and Developer, ToolsCloud, Inc.; Edson Yanaga, Technical Lead, Produtec
Atualmente já atingimos um patamar suficiente de ferramentas de automação de processos de desenvolvimento e implantação de software. Em muitos cenários os containers já entregam flexibilidade, independência e não-intrusão num nível adequado.
Mas mesmo com este cenário técnico favorável, DevOps continua sendo um desafio para as equipes. O grande impedimento para a adoção bem sucedida de DevOps são as pessoas e suas interações. Nesta palestra veremos:
-ferramentas de automação de deployment para aplicações Java
-containers
-definição de equipes (Dev, Ops e/ou DevOps) e atribuições
-obtenção de buy-in de todos os envolvidos
-definição métricas que contribuam para o sucesso
-casos de sucesso de containers Java em produção.
JUN 24 | 14:45 - 15:45
Mezanino: Sala 10
Sessão Paralela - SES16285
Tracks: Java, DevOps, e Cloud
David Delabassee, Software Evangelist, Oracle
Baixar apresentação (PDF - Inglês)
Com o passar dos anos, o Java EE continua se reinventando e o Java EE 8 não será exceção a esta regra! Nesta sessão vamos analisar os planos para o Java EE 8 e as novas JSRs que farão parte do Java EE 8, entre as quais, MVC JSR, JSON-B JSR, Security JSR e muito mais. Veremos também como será a evolução de tecnologias existentes, como Servlet 4 com suporte a HTTP/2, para o Java EE 8, o plano para substituir os beans orientados por mensagens na API do Java Message Service, CDI (injeção de contextos e dependência) / alinhamento do Enterprise JavaBeans, JAX-RS 2.1 e muito mais. Esta sessão terminará com uma discussão sobre como você pode se envolver nos futuros desenvolvimentos do Java EE 8.
JUN 23 | 12:00 - 13:00
Mezanino: Sala 13
Sessão Paralela - SES16286
Tracks: Java do lado do servidor
Simon Ritter, Head of Java Technology Evangelism, Oracle
Baixar apresentação (PDF - Inglês)
O Java ME 8 oferece uma plataforma de aplicativos integrada, uniforme, moderna e com recursos avançados, voltada a uma grande variedade de hardware incorporado, e que abrange de sistemas desktop aos menores dispositivos incorporados. Nesta sessão, você conhecerá os novos e importantes recursos do Java ME 8, como conjuntos de perfis e APIs opcionais, serviços modulares, bibliotecas compartilhadas, I/O (entradas/saídas) de dispositivos periféricos e muito mais. Verá também como criar software escalável e independente de hardware, que já vem com inteligência integrada e uma infinidade de casos de usos incorporados.
JUN 24 | 09:30 - 10:30
Mezanino: Sala 13
Sessão Paralela - SES16287
Tracks: Java e a Internet das Coisas
Aurelio Garcia-Ribeyro, Senior Group Product Manager, Oracle
Baixar apresentação (PDF - Inglês)
O Java SE 8 é um grande passo rumo à modernização da linguagem e das bibliotecas Java. Esta é a maior atualização já feita ao modelo de programação Java e inclui novos recursos como expressões lambda e métodos padrão, uma nova API de data e hora, Nashorn, o engine JavaScript, perfis compactos e muito mais. Nesta sessão, você verá o que os principais recursos novos do Java SE 8 têm a oferecer aos desenvolvedores.
JUN 23 | 09:30 - 10:30
Mezanino: Sala 13
Sessão Paralela - SES16288
Tracks: Core Java Platform
Michael Nascimento, Systems Architect, Team Leader and Developer, TecSinapse
Faz pouco mais de um ano que o Java SE 8 foi lançado e quase dois anos do lançamento do Java EE 7. Como combinar as tecnologias nos seus projetos para tirar o máximo da produtividade das versões mais recentes do Java? Como o uso do lambda pode melhorar seu código? Quando e por que escolher a API de stream ou Concurrency Utilities? Como usar java.time com JSF e JPA ou combiná-lo com @Schedule e timers do EJB? Como usar a retenção de parâmetros e as múltiplas anotações do mesmo tipo com CDI, Bean Validation e outras tecnologias? Qual a aplicação práticas de extension methods e métodos estáticos de interfaces nas APIs do seu projeto? Venha aprender na prática com um dos autores do java.time e membro do Expert Group do BeanValidation 1.1.
JUN 23 | 14:45 - 15:45
Mezanino: Sala 12
Sessão Paralela - SES16289
Tracks: Core Java Platform
Guilherme Silveira, Educational Leader, Caelum
Gostamos de Java porque essa tecnologia nos oferece uma rede de segurança, alertando-nos de erros comuns que só pegaríamos em tempo de execução por meio de notificações dos usuários finais. Além disso, o modo como o type-safety está incorporado em Java nos permitiu usar poderosas ferramentas de refatoração, análise de código e muito mais. Mas e quanto aos outros elementos do nosso aplicativo, como falta de propriedades nos arquivos de configuração ou o uso de valores incorretos nas visualizações? Todos nós já passamos por isto — resultados ruins para o usuário final ou, pior ainda, erros de serviço interno [500]. Use o type-safety para proteger todas as suas configurações e visualizações! Com Java, você obtém todos os benefícios da linguagem que aprendemos a amar, sem a necessidade de usar nenhuma linguagem extra. Como os bugs são detectados antes, é muito mais fácil corrigir códigos incorretos.
JUN 24 | 10:45 - 11:45
Mezanino: Sala 12
Sessão Paralela - SES16310
Tracks: Java do lado do servidor
Anderson Braz, IT Architect, Brazoft
Baixar apresentação (PDF - Inglês)
JavaFX direto das trincheiras é uma sessão que de forma dinâmica esclarece e exemplifica o uso da tecnologia para desenvolvimento de aplicações corporativas.
Além disso, propõe uma solução de design orientado a testes com MVP (Model-View-Presenter), não esquencedo da característica multi thread que a solução apresenta.
Alguns assuntos com certeza serão mesclados nessa palestra, como é o caso do uso de Executor Services para gerenciar o comportamento multi thread e também Guice como AOP e Injetor de Dependência.
JUN 24 | 12:00 - 13:00
Mezanino: Sala 10
Sessão Paralela - SES16311
Tracks: Java Clientes e UI (Interface do Usuário)
Otavio Goncalves de Santana, Software Engineer, JavaBahia, Soujava
Certamente com a versão do Java 8, além das melhorias de performances, tivemos diversas melhorias que tornaram a vida do desenvolvedor muito mais fácil, como Lambda e Streams conheça esses recursos e muitos outros que virão para compor o vigésimo ano da linguagem mais utilizada no mundo.
JUN 25 | 09:30 - 12:00
Mezanino: Sala 9
Hands-on Lab - LAB16312
Tracks: Core Java Platform
Einar Saukas, Principal Consultant, Summa Technologies; Fabio Velloso, Consultor, Summa Technologies
Baixar apresentação (PDF - Português)
Microserviços é uma estratégia de desenvolvimento que prioriza componentização da aplicação em múltiplos serviços, gerenciados de forma independente. Isso traz maior flexibilidade e agilidade no desenvolvimento e melhor aproveitamento da computação em nuvem.
Separar a aplicação em inúmeros serviços independentes e auto-contidos dificulta o gerenciamento transacional, exige maior monitoração e segurança, afeta a performançe. É fundamental planejar a orquestração de serviços, processos de teste e repensar a integração com o legado.
Nesta palestra vamos avaliar aplicações de microserviços e como implantar melhores práticas. De integração com servidores Java EE até escolha de Containers, veja como microserviços pode impulsionar seu projeto Java.
JUN 23 | 09:30 - 10:30
Mezanino: Sala 12
Sessão Paralela - SES16313
Tracks: Java do lado do servidor
Heather Vancura, JCP Program Manager, Oracle; Thomas Modenis, Community Organizer and Developer
Baixar apresentação (PDF - Inglês)
O JCP (Java Community Process) é fundamental para a evolução da tecnologia Java. Nesta sessão, falaremos sobre diferentes maneiras como você pode participar do programa JCP e envolver-se através da iniciativa Adopt-a-JSR. Você também saberá das próximas mudanças ao processo JSR (Java Specification Request) e como envolver-se no esforço JCP.next, na JSR 358 e na JSR 364. Contaremos com Spec Leads, JUG Leaders, participantes do Adopt-a-JSR e membros do JCP que irão compartilhar as experiências adquiridas ao participar do programa JCP e os resultados alcançados graças a tal envolvimento. Traga suas dúvidas e sugestões, e saia com a motivação e as informações necessárias para tornar-se um participante ativo no avanço da plataforma Java.
JUN 23 | 12:00 - 13:00
Mezanino: Sala 11
Sessão Paralela - SES16314
Tracks: Java Clientes e UI (Interface do Usuário)
Manfred Riem, Principal Member of Technical Staff, Oracle
Baixar apresentação (PDF - Inglês)
Já faz tempo que o JSF é usado como componente da plataforma Java EE, mas agora entra em cena o MVC (model-view-controller). Então, o que cada uma dessas funcionalidades agrega ao Java EE e como escolher entre as duas? Esta sessão destacará os fatores que irão ajudá-lo a determinar se vale a pena usar as duas.
JUN 23 | 13:30 - 14:30
Mezanino: Sala 13
Sessão Paralela - SES16315
Tracks: Java do lado do servidor
Jim Weaver, Principal Member of Technical Staff, Oracle; Stephen Chin, Lead Java Community Manager, Oracle
Através da demonstração de projetos de trabalho e código fonte, esta sessão mostrará como você pode aproveitar suas habilidades de programação em Java para criar projetos que façam parte do seu hobby usando o Raspberry Pi como uma interface de baixo custo com o mundo físico. Você sairá desta sessão com o conhecimento necessário para começar a desenvolver seus próprios projetos incorporados em casa ou no escritório e poderá aproveitar suas habilidades de programação em Java para conectá-la à Internet das Coisas. Comece a construir o futuro agora com a tecnologia Java 8 Embedded!
JUN 24 | 13:30 - 14:30
Mezanino: Sala 13
Sessão Paralela - SES16316
Tracks: Java e a Internet das Coisas
Leonardo Zanivan, Arquiteto de Software, Trier Sistemas
Baixar apresentação (PDF - Português)
Desde o princípio a segurança das aplicações JavaEE no que diz respeito a autenticação e autorização tem sido motivo de confusão por parte dos desenvolvedores. Muito provavelmente pela complexidade ou pelas limitações de alguns componentes da plataforma. Por isso, muitas vezes optamos por frameworks de terceiros ou construímos uma solução caseira. O objetivo da palestra é demonstrar de forma prática o uso da autenticação declarativa do container (login-config), com vários tipos de módulos de login. Além disso haverá um esclarecimento sobre as especificações JAAS, JACC e JASPIC e melhorias na integração com Servlet. Ao final irei falar sobre as mudanças propostas para o JavaEE 8, que promete resolver de uma vez por todas essa confusão.
JUN 24 | 13:30 - 14:30
Mezanino: Sala 10
Sessão Paralela - SES16317
Tracks: Java do lado do servidor
Breandan Considine, Developer Advocate , JetBrains
Baixar apresentação (PDF - Inglês)
O ASR (reconhecimento de fala) foi alvo de enorme atenção com o advento dos serviços baseados na nuvem, como Cortana, Siri, Majel, entre outros. Uma gravação do dispositivo é processada em um servidor remoto e o texto é retornado ao usuário — com uma latência de ida e volta de 200 ms. Será que a execução em Java pode alcançar melhores resultados ou a questão do ASR é realmente um mistério? Como as modernas bibliotecas de ASR são mais lentas e menos precisas, tudo indica que grande parte da inovação acontecerá em um datacenter ou microchip, por trás de contratos de confidencialidade e a portas fechadas. Nesta sessão, tentaremos desconstruir essa noção, analisando a situação do ASR em Java. Não é necessário ter experiência anterior com reconhecimento de fala.
JUN 25 | 12:00 - 13:00
Mezanino: Sala 13
Sessão Paralela - SES16318
Tracks: Java, DevOps, e Cloud
Leonardo Lima, CTO, V2COM; Otavio Goncalves de Santana, Software Engineer, JavaBahia, Soujava
Baixar apresentação (PDF - Inglês)
Venha conhecer a JSR 363 - Unidades de Medida! É a primeira JSR voltada a ajudar você a trabalhar com dispositivos IoT, padronizando o uso de medidas expostas pelos sensores.
Todos sabemos que podemos representar temperaturas, por exemplo, como float. Porém, esse float está em Celsius? Kelvin? Esse é um dos problemas que a JSR quer resolver: ter todas as medidas e valores representados de uma forma padrão. Também aplicável para aplicações científicas, aonde representação, conversão e formatação de dados é bastante importante.
Nessa apresentação, veremos como tanto desenvolvedores quanto provedores podem utilizar a JSR, codificando um posto inteligente. Também falaremos como participar de uma JSR e como é importante a participação de todos!
JUN 24 | 14:45 - 15:45
Mezanino: Sala 12
Sessão Paralela - SES16319
Tracks: Java e a Internet das Coisas
Stephen Chin, Lead Java Community Manager, Oracle
Sobreviver como um zumbi não é nada fácil — com os constantes riscos da luz do sol, do fogo e dos caçadores de zumbis, o trabalho de infectar os moradores locais pode ser mortal. Felizmente, com o novo app JavaFX ZombieTime, movido por JSR 310 Date e Time API, você pode ficar sossegado. Com suporte a DST e fuso horário integrado, você não precisa mais se preocupar se vai ficar perambulando em pleno sol quente. Use o Durations para calcular com precisão quanto tempo você tem para infectar os moradores locais antes de desintegrar-se. Coordene ataques globais aos humanos sincronizando-se com outros mortos-vivos no Instants. Com a força do Java 8, erradicar a raça humana com um vírus altamente infeccioso nunca foi tão fácil!
JUN 25 | 09:30 - 10:30
Mezanino: Sala 13
Sessão Paralela - SES16321
Tracks: Core Java Platform
Georges Saab, Vice-presidente Plataforma Java SE, Oracle; Bruno Borges, Gerente de produtos e developer advocate – Java e nuvem, Oracle; Robert Clark, Diretor sênior de desenvolvimento de software, Oracle
O contínuo progresso e valor de Java continuam modernizando positivamente o mundo em que vivemos. De dispositivos inteligentes a soluções empresariais complexas, a tecnologia Java oferece aos desenvolvedores uma plataforma aberta, baseada em padrões de mercado e voltada à comunidade, que pode ser usada para desenvolver aplicativos sofisticados, escaláveis e de última geração. Neste keynote, você aprenderá a criar o futuro com Java diretamente com os principais especialistas em engenharia e executivos da Oracle, que mostrarão como essa tecnologia está impulsionando a inovação junto aos desenvolvedores, revolucionando o desenvolvimento de aplicativos e aprimorando os serviços dos aplicativos para a IoT (Internet das Coisas), arquiteturas empresariais e computação em nuvem.
JUN 23 | 17:30 - 19:00
Keynote Hall
Keynote - CON16322
Tracks: Core Java Platform; Java, DevOps, e Cloud; Java e a Internet das Coisas; Java do lado do servidor; Java Clientes e UI (Interface do Usuário)
Jim Weaver, Principal Member of Technical Staff, Oracle
Baixar apresentação (PDF - Inglês)
Com o Oracle Process Cloud Service, você acelera o design, a automação e a gestão dos processos de negócios na nuvem. Nesta sessão, você ficará atualizado e entenderá como usar o Oracle Process Cloud Service.
JUN 23 | 09:30 - 10:30
Mezanino: Sala 8
Sessão Paralela - SES16418
Tracks: Java Clientes e UI (Interface do Usuário)
Bruno Borges, Principal Product Manager, Oracle
Nashorn é o novo engine de JavaScript contido no JDK 8. Participe desta sessão para obter uma visão geral dos recursos e assistir a demonstrações interessantes destacando o que é possível fazer com Nashorn — de scripts simples até scripts totalmente capazes do lado do servidor na nuvem e aplicativos de UI usando JavaFX.
JUN 23 | 13:30 - 14:30
Mezanino: Sala 12
Sessão Paralela - SES16450
Tracks: Core Java Platform
Geertjan Wielenga, Product Manager, Oracle
Você encontra dificuldades em manter sua produtividade ao trabalhar com frameworks de Maven e HTML5, como o AngularJS, ou com hardware da Internet das Coisas, como Raspberry Pi ou Java EE? Você gostaria de ter ferramentas gratuitas, fáceis e prontas para usar, que lhe permitissem desenvolver todos os tipos de aplicativos? Então você realmente precisa experimentar o NetBeans IDE! Participe desta sessão e conheça os mais recentes aprimoramentos e recursos interessantes do NetBeans IDE — ambiente gratuito e de código aberto usado por engenheiros da Boeing e da NASA, arquitetos Java, como James Gosling, e uma série de outros profissionais.
JUN 23 | 16:00 - 17:00
Mezanino: Sala 13
Sessão Paralela - SES16451
Tracks:Java Clientes e UI (Interface do Usuário)
Bruno Souza, Founder and Developer, ToolsCloud, Inc.; Simon Ritter, Head of Java Technology Evangelism, Oracle
O keynote da comunidade Java celebra o próspero ecossistema de desenvolvedores Java e entusiastas dessa tecnologia, destacando o papel que os Java User Groups desempenham na América do Sul e, particularmente, no Brasil. Este keynote prestará uma homenagem aos 20 vibrantes anos de história de Java, apresentando várias celebridades da comunidade Java e suas obras em inovadoras vinhetas de demonstração. A paixão da comunidade Java é uma inspiração para todos os desenvolvedores e uma das peças mais importantes do quebra-cabeça de como criar o futuro com Java. Junte-se a seus pares e espere algumas surpresas que irão agitar a conferência JavaOne.
JUN 25 | 15:00 - 16:00
Keynote Hall
Keynote - CON16619
Tracks: Core Java Platform; Java, DevOps, e Cloud; Java e a Internet das Coisas; Java do lado do servidor; Java Clientes e UI (Interface do Usuário)
Simon Ritter, Head of Java Technology Evangelism, Oracle
Se você tem interesse em experimentar o novo recurso lambda no Java 8, então este laboratório de “alto nível" foi feito para você. Os participantes usarão o JDK 8 e o NetBeans em exercícios que incluirão o novo recurso lambda da linguagem de programação Java e a nova API da biblioteca de streams. A sessão começará com exercícios simples para que os iniciantes possam aprender os princípios básicos. Serão acrescentados exercícios sobre agrupamento e redução paralela para desafiar os participantes mais avançados. Não é necessário ter conhecimento prévio no recurso lambda de Java para participar da sessão, mas é interessante ter feito algum tutorial ou participado de alguma outra sessão sobre lambda no JavaOne.
JUN 23 | 13:15 - 15:45
Mezanino: Sala 9
Hands-on Lab - LAB16651
Tracks: Core Java Platform
Simon Ritter, Head of Java Technology Evangelism, Oracle
Se você tem interesse em experimentar o novo recurso lambda no Java 8, então este laboratório de “alto nível" foi feito para você. Os participantes usarão o JDK 8 e o NetBeans em exercícios que incluirão o novo recurso lambda da linguagem de programação Java e a nova API da biblioteca de streams. A sessão começará com exercícios simples para que os iniciantes possam aprender os princípios básicos. Serão acrescentados exercícios sobre agrupamento e redução paralela para desafiar os participantes mais avançados. Não é necessário ter conhecimento prévio no recurso lambda de Java para participar da sessão, mas é interessante ter feito algum tutorial ou participado de alguma outra sessão sobre lambda no JavaOne.
JUN 24 | 13:15 - 15:45
Mezanino: Sala 9
Hands-on Lab - LAB16651
Tracks: Core Java Platform
Bruno Borges, Principal Product Manager, Oracle; David Delabassee, Software Evangelist, Oracle; Manfred Riem, Principal Member of Technical Staff, Oracle
O tema principal do Java EE 7 é impulsionar a produtividade e adotar HTML5. As mudanças incluem APIs como JAX-RS 2 e a nova API de cliente, uma revisão profunda do Java Message Service 2, processamento de lotes em Java, Concurrency Utilities para Java EE, WebSocket, JSON-P, Java Server Faces 2.2 e muito mais. O laboratório prático apresentará essas mudanças passo a passo e orientará os participantes na criação completa de um aplicativo no Oracle GlassFish Server 4 usando NetBeans.
JUN 24 | 09:30 - 12:00
Mezanino: Sala 9
Hands-on Lab - LAB16652
Tracks: Java do lado do servidor
Bruno Borges, Principal Product Manager, Oracle; David Delabassee, Software Evangelist, Oracle; Manfred Riem, Principal Member of Technical Staff, Oracle
O tema principal do Java EE 7 é impulsionar a produtividade e adotar HTML5. As mudanças incluem APIs como JAX-RS 2 e a nova API de cliente, uma revisão profunda do Java Message Service 2, processamento de lotes em Java, Concurrency Utilities para Java EE, WebSocket, JSON-P, Java Server Faces 2.2 e muito mais. O laboratório prático apresentará essas mudanças passo a passo e orientará os participantes na criação completa de um aplicativo no Oracle GlassFish Server 4 usando NetBeans.
JUN 25 | 12:15 – 14:45
Mezanino: Sala 9
Hands-on Lab - LAB16652
Tracks: Java do lado do servidor
Bruno Borges, Principal Product Manager, Oracle; William Antonio Siqueira, Senior Technical Support Engineer, Red Hat
Desenvolvendo o famoso jogo 2048 com JavaFX e Java 8 neste laboratório prático, você descobrirá vários recursos novos da linguagem, como API de streams e expressões lambda, além de novas classes e métodos de utilitários. Venha e conheça também conceitos básicos de animações 2-D em JavaFX, processamento paralelo, design de UIs, criação de estilos CSS e muito mais.
JUN 23 | 09:30 - 12:00
Mezanino: Sala 9
Hands-on Lab - LAB16653
Tracks: Java Clientes e UI (Interface do Usuário)
Baruch Sadogursky, Developer Advocate, Jfrog
Baixar apresentação (PDF - Inglês)
Você se lembra do épico Java Puzzlers? Conheça a versão em Groovy e outras versões bem organizadas! Embora o trabalho tenha sido feito totalmente em Grails, o pessoal JFrog quebrou a cabeça para tentar resolver alguns puzzles. E tem muito mais! Vamos contar com a contribuição de verdadeiros senseis em Groovy, entre os quais, @glaforge, @aalmiray, @tim_yates e @kenkousen, que tornarão esta sessão uma inesquecível jornada ao O_O do Groovy. Você contará com a dose esperada de diversão e aprendizado, além de conhecer erros e falhas — grandes e pequenos — no hardcore desenvolvimento em Groovy/Grails.
JUN 25 | 09:30 - 10:30
Mezanino: Sala 11
Sessão Paralela - SES16928
Tracks: Core Java Platform
Otavio Goncalves de Santana, Software Engineer, JavaBahia, Soujava
Baixar apresentação (PDF - Inglês)
Muitos sistemas financeiros que desenvolvemos processam valores monetários. Contudo, os conceitos de dinheiro e moeda são comumente relegados a classes primitivas como Double e BigDecimal. . Muitas vezes são criados tipos customizados, mas problemas como taxas de câmbio, conversões, arredondamentos e formatação com diferentes moedas geralmente extrapolam o esperado. A JSR 354 (Money and Currency API) é um esforço para definir uma API e fornecer uma implementação de referência para resolver os problemas definidos em torno dos conceitos de dinheiro e moeda. Nesta palestra, exploraremos como usar a JSR 354 para tarefas como arredondamento, precisão e formatação, conversão de moedas etc.
JUN 24 | 09:30 - 10:30
Mezanino: Sala 10
Sessão Paralela - SES16575
Tracks: Java Clientes e UI (Interface do Usuário)
Bruno Souza, Founder and Developer, ToolsCloud, Inc.; Edson Yanaga, Technical Lead, Produtec
The current level of automation tools for software development and implementation is good—in many cases, the containers already offer satisfactory flexibility, independence, and nonintrusion. However, the adoption of DevOps still presents a challenge to teams, with people and their interactions causing the biggest obstacle. Join this session to learn about deployment automation tools for Java applications, containers, how to define a team (Dev, Ops, and/or DevOps) and assignments, obtaining buy-in from everybody involved, defining metrics that can contribute to success, and success stories of Java containers in progress.
JUN 24 | 12:00 - 13:00
Mezanino - Sala 12
Sessão Paralela - SES16285
Tracks: Java, DevOps, e Cloud
Rodrigo Cândido da Silva, Arquiteto de Software, GUJavaSC
Baixar apresentação (PDF - Português)
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.
JUN 24 | 16:00 - 17:00
Mezanino - Sala 10
Sessão Paralela - SES16211
Tracks: Java do lado do servidor
Alessandro Jannuzzi, Microsoft
Através de demonstrações, a Microsoft exibirá para os desenvolvedores Java os recursos disponíveis no Azure para desenhar, implementar e manter aplicações Java em múltiplas camadas, seja em IaaS ou PaaS, de maneira transparente e integrada com ferramentas de desenvolvimento e DevOps Open Source como Eclipse, Jenkins, Puppet, Chef, Docker e outros.
JUN 23 | 10:45 - 11:45
Mezanino - Sala 11
Sessão Paralela - SES17293
Tracks: Java, DevOps, e Cloud
Bruno Borges, Principal Product Manager, Oracle
Nashorn is the new JavaScript engine inside JDK 8. Join this session for an overview of its features and watch cool demos highlighting what is possible with Nashorn—from simple scripts to fully capable server-side scripts in the cloud, as well as UI applications using JavaFX.
JUN 24 | 16:00 - 17:00
Mezanino - Sala 12
Sessão Paralela - SES16450
Tracks: Core Java Platform
Airton Lastori, Consultor de Vendas Senior, Oracle
Baixar apresentação (PDF - Português)
As necessidades cada vez maiores de escalabilidade e performance nas aplicações Web e Mobile exigem novas estratégias no uso de bancos de dados, como por exemplo novos métodos de acesso NoSQL para MySQL. Tais métodos foram implementados recentemente e incluem APIs Java e Memcached que são uma alternativa de alto desempenho e escalável para consultas simples e que não requerem a definição de um esquema de dados rígido, mas também permitem aproveitar todas as vantagens já conhecidas de bancos de dados relacionais existentes. Nesta apresentação mostraremos os novos métodos de acesso NoSQL para MySQL Server com InnoDB e MySQL Cluster e alguns casos de uso em arquiteturas Web e Mobile.
JUN 25 | 13:30 - 14:30
Mezanino - Sala 12
Sessão Paralela - SES17197
Tracks: Java do lado do servidor
Mauricio "Maltron" Leal, Solution Architect, Red Hat
Conforme a filosofia DevOps vai sendo adotada em todo o mundo, é importante entender como podemos migrar os atuais aplicativos Java EE para uma nova arquitetura de microsserviços. Essa medida pode trazer benefícios como aceleração do tempo de implementação, maior eficiência e menores custos de desenvolvimento, sem falar no aumento da produtividade. Esta sessão apresentará as considerações necessárias para adotar um processo no estilo DevOps e as vantagens que você poderá obter depois de implementá-lo.
JUN 24 | 16:00 - 17:00
Mezanino - Sala 13
Sessão Paralela - SES16210
Tracks: Java do lado do servidor