JustJava 2008 – Terceiro dia

Depois de mais de uma semana estou escrevendo o resumo do último dia do JustJava 2008. O evento foi um sucesso e as apresentações do terceiro dia não deixaram a desejar. Segue abaixo o resumo das que estive presente:

Construindo Aplicações Escaláveis Usando Java NIO
Leandro Batista de Oliveira
Java NIO foi apresentada como uma tecnologia que oferece recursos para sistemas que fazem uso intensivo de leitura e escrita de dados. O objetivo da apresentação foi mostrar como melhorar o desempenho de aplicações que fazem o uso intensivo de rede, usando Java NIO. Foram apresentados exemplos em um caso prático de um servidor de mídia construído usando essa tecnologia.

Produtividade na Web com Apache Wicket
Bruno Borges e Claudio Miranda
Wicket foi apresentado como uma maneira natural de desenvolver sistemas para a plataforma web com produtividade. Foram apresentados exemplos de aplicações cujos modelos HTML não tinham tags nem scripts proprietários; usando pura orientação a objeto nos componentes e inclusive nas páginas; suporte nativo e extensivo a validações e conversões, integração com Spring, Ajax de fábrica, testabilidade, segurança, suporte a POJO em sua concepção, sem arquivos de configuração, suporte ao botão de voltar e duplo-clique, reusabilidade através de componentização. Foi mostrado por que Apache Wicket é produtivo, simples, rápido e divertido.

Os 7 hábitos dos arquitetos altamente eficazes
Paulo Silveira – Caelum
Foi apresentado porque ficamos confuso com tantos design patterns, padrões, frameworks e boas práticas. Paulo falou muito bem sobre usar herança ou composição, Injeção de dependências, Webservices, JPA, etc. Foi apresentado 7 pontos considerados muito importantes que o arquiteto deve sempre estar atento, independente da tecnologia escolhida.

Scala: a próxima linguagem Java?
Michael Nascimento Santos – Summa Technologies
Mister M apresentou muito bem a linguagem Scala, criada em 2001 e disponível ao público já por 4 anos. Ela tem sido considerada por muitos como uma possível sucessora da linguagem Java capaz de atender às necessidades atuais. Essa palestra considerarou as principais características da linguagem, sua compatibilidade e interoperabilidade com a linguagem Java e a viabilidade de se utilizar Scala hoje.

Gerenciamento de Projetos JEE usando Scrum e FDD
Manoel Pimentel Medeiros – Rhealeza Informática
Nessa palestra fomos apresentados aos conceitos e práticas da metodologia Scrum ouvindo sobre as principais dificuldades e soluções em um típico projeto de desenvolvimento de uma aplicação JEE usando as práticas para o planejamento, estimativas, execução e gerenciamento. Depois Scrum foi aliado com as práticas de engenharia de requisitos, modelagem e desenvolvimento, fornecidas pela metodologia FDD de forma que se tornou claro e de fácil entendimento como combinar essas duas metodologias de maneira efetiva para ajudar na construção de aplicações corporativas baseadas na tecnologia Java.

Conclusão
Depois de 54 palestras, 03 debates, 14 workshops e N muvucas o JustJava 2008 chegou ao fim e foi interessante ver que a comunidade está com a cabeça mais aberta. A presença de alguns “evangelizadores” de metodologias ágeis no Brasil, como o Rodrigo Yoshima, José Papo, Manoel Pimentel e Daniel Wildt foi muito importante e foi legal ver que mais e mais empresas no Brasil tem se rendido ao desenvolvimento ágil.

Este ano o CEJUG esteve representado por mim, Rafael Ponte e Leonardo da e-novar sem falar de Rafael Carneiro e Tarso Bessa que apresentaram uma palestra sobre EJB3 e Spring para um auditorio lotado.

Encontrei muita gente que conhecia apenas no mundo virtual como o Mister M, Guilherme Silveira, José Papo, Claudio Miranda, Eduardo Guerra e muitos outros.

Quero finalizar agradecendo a Fortes Informática por ter me enviado e a todo o pessoal da organização pelo belo trabalho realizado. Portanto fica a dica: em 2009 participe pois será ainda melhor e eu com certeza estarei lá e provavelmente ministrando uma apresentação.

JustJava 2008 – Segundo dia

Dando continuidade ao post anterior…

JustJava on Rails
Elderclei Regis Reami – UOL
Ele tentou mostrar na palestra como novos frameworks baseados na plataforma Java tem buscado alcançar a agilidade oferecida por Rails e também como utilizar Rails através do JRuby.

Padrões para Ampliar a Testabilidade na Plataforma Java
Wanderlei C. A. Souza – UOL
Foi apresentado que a testabilidade de um componente é um importante fator para determinar a qualidade do produto de software. Ele apresentou técnicas para ampliar a testabilidade na plataforma Java. Também foi apresentado alguns exemplos práticos de testabilidade, como assertivas, logging e inclusão de falhas, demonstrando como testabilidade afeta diretamente o esforço para a automação de testes.

Dark Java: a programação como uma arte infernal
Helder da Rocha – Argo Navis
Helder deu um show em sua apresentação… começou com a frase. “Por que deixar as coisas simples se você pode complicá-las?”. Demostrou como utilizar os recursos mais obscuros da linguagem Java e de frameworks populares para escrever código que nem você mesmo vai entender, muito menos manter. O ponto alto foram os “9 pecados”, que são sempre cometidos com as melhores das intenções. Os maiores pecados se cometem em nome da flexibilidade, da eficiência e do design de um futuro esperado.

Enterprise Mashups
Felipe A. Oliveira – BEA
A palestra teve como objetivo trazer ao público-alvo a visão de design orientada a serviços, benefícios diretos colhidos através dessa abordagem, melhores práticas e problemas que um projeto SOA pode enfrentar. Foi apresentado ao público como lidar com o ativo de serviços crescente dentro das companhias, como estabelecer políticas : segurança, serviço; versionamento, controle de tráfego entre outros. Cases reais como Amazon, entre outros do mercado nacional serão apresentados, a fim de ilustrar como o tema.

Design e qualidade em sistemas orientados a objetos
Eduardo Issao Ito – Summa Technologies
Durante a apresentação a idéia foi falar de design orientado a objetos, e alguns princípios básicos (que muitas vezes são esquecidos em favor de detalhes da técnicos da linguagem), e como um bom design pode contribuir para um software de qualidade.

Testes de Integração com Selenium
Guilherme Silveira e Anderson Leite – Caelum
Foi um ótimo workshop onde o Selenium foi abordado e demonstrado como a melhor opção para teste funcionais na web. Foi apresentado um pouco da experiência da Caelum e uma forma mais orientada a objetos de escrever os testes e o uso de grids para uma execução mais rápida em um servidor de integração contínua.

Arquiteturas de Aplicações com JBoss Seam
Alessandro Lazarotti
Durante a apresentação o Seam foi muito bem vendido para o público presente. Alessandro falou muito sobre a motivação e a história do surgimento do Seam explorando e demostrando suas vantagens e facilidade, responsáveis por trazer grande ganho de produtividade e satisfação ao dia a dia de nossa vida de desenvolvimento.

Mitos do Desenvolvimento de Software e Soluções Ágeis
Rodrigo Yoshima – ASPERCOM
Ele apresntou os mitos do desenvolvimento de software através de argumentos da literatura. Apresentou soluções viáveis e pragmáticas numa visão bem-humorada dos problemas muito comuns dos projetos: Até onde meu Design deve ir? Como deve ser meu processo de desenvolvimento? Tenho problemas no gerenciamento de projetos. O que fazer? O que é necessário para satisfazer os usuários? Foi mostrado a visão constante nas literaturas de autores importantes do movimento Ágil como Ken Schwaber, Martin Fowler, Mike Cohn, Scott Ambler, Kent Beck entre outros.

JustJava 2008 – Primeiro dia

Entre os dias 09 e 13 de Setembro estive em São Paulo pela Fortes Informática para o JustJava 2008. O evento foi um sucesso e vou falar um pouco de como foi o primeiro dia com um resumo de cada apresentação que participei.

Keynote
Bruno Sousa – Sun Microsystem
O evento foi aberto com a nóticia de que este ano seria o maior já realizado contando com 54 palestras, 03 debates e 14 workshops, sem falar das muvucas que são organizadas no final de cada dia. Em seguida foi apresntado um resumo do Java One deste ano, depois a nova roupagem que foi dada aos applets e um caneta com a JVM capaz de reconhecer texto, gravar o que se fala ao escrever, traduzir textos e outras cosinhas legais. No final ele agradeceu ao patrocinadores e deu como aberto oficialmente o evento.

Keynote
Marden Neubert – UOL
Foi apresentado a experiência de quase dez anos da UOL com Java. A apresentação focou bastante na metodologia de desenvolvimento mostrando como sairam do nada, passaram pelo formal com RUP e chegaram ao ágil com Scrum e XP.

Integrando o futuro: JBoss Seam e Spring Framework
Alberto “Spock” Lemos – Globalcode
Spok começou falando das vantagens do Seam e depois das vatagens do Spring. Por diversas vezes falou, “não usem EJB…”, desmonstrando como é fácil, produtivo e robusto usar o Seam compartilhando recursos com o Spring e este gerenciando os POJOS responsáveis pelas regras de negócio.

Domain-Driven Design
S̩rgio Lopes РCaelum
Domain Driven Design é sem dúvida a abordagem de desenvolvimento de software mais falada no momento. Ele falou como aplicar as boas práticas de Orientação a Objetos, escrever código próximo do domínio do cliente e entregar software que efetivamente resolva o problema. A apresentação foi muito divertida e abordou os conceitos fundamentais do DDD de forma prática discutindo inclusive alguns tópicos mais avançados e polêmicos envolvendo conceitos como entidades, repositórios, value objects e outros.

OpenSource SOA: Reais maneiras de trazer esta cultura para sua empresa
Edgar Silva – JBoss
A apresentação focou em muita prática sobre aspectos gerais que englobam SOA numa perspectiva de tecnologia opensource, mostrando ao invés de teoria, aspectos práticos de integrações de sistemas com o advento de ESBs, trazendo a realidade da necessidade de termos o uso de orquestração via BPM e Engine de regras, além de um exemplo usando de integração usando REST, outro com FileSystem e um até com sistemas legados. No final foi mostrado algumas soluções que aderiram a SOA primeiramente adquirindo cultura, isto sendo permitido pelo advento do OpenSource, ou seja, fazendo com que as empresas utilizassem tecnologias e modelos arquiteturais funcionais,antes de terem que realizar qualquer gasto ou investimento desnecessário.

Programação Orientada a Aspectos Dinâmica e Sistemas Adaptáveis
Flavia Rainone – JBoss
Foi demostrado que a programação orientada a aspectos dinâmica consiste em adicionar e remover aspectos de um sistema em tempo de execução. Aspectos são unidades de programação que encapsulam funcionalidades ortogonais, como transação, segurança, logging, entre outros. A adição e remoção dessas unidades em tempo de execução permitem a evolução dinâmica de um sitema, no qual suas funcionalidades ortogonais são alteradas ao longo do tempo. A principal aplicação desse recurso é a evolução e a manutenção de sistemas que não podem ser desligados ou reinicializados com freqüência. Assim, é possível não somente adicionar novos requisitos ao sistema, como também corrigir pequenas falhas e erros, tornando-o adaptável.

JavaSE 7 e o futuro da linguagem Java
Michael “Mister M” Nascimento – Summa Technologies
Com a recente ênfase na JVM como uma plataforma para várias linguagens e a difusão do conceito de “programador poliglota”, muitas incertezas surgiram com respeito à evolução da linguagem Java e mesmo se ainda faz sentido alterar uma linguagem tão “antiga” e amplamente utilizada. Durante a palestra, Mister M abordou as novas funcionalidades propostas para o Java SE 7, a possibilidade de implementação de alterações polêmicas, como closures e o que esperar da linguagem Java no futuro.

RESTfull Web Services
Rafael Pereira Nunes – Instituto Metodista de Ensino Superior
Foi demostrado como o REST é a resposta a complexidade e burocracia desnecessária para a integração de sistemas. Ele é uma forma simples, descomplicada e eficiente de integrar aplicações -seja gerando serviços ou consumindo-os – utilizando a web como plataforma, porém sem dificultar a vida de ninguém.

Conhecendo o Spring Framework

Sábado dia 12 de abril de 2008, aconteceu na Fanor(Faculdades Nordeste) o Café com Tapioca do CEJUG de abril onde eu, Cristiano Milfont e a dupla Rafael Carneiro e Tarso Bessa falamos respectivamente sobre Spring Framework, OpenSocial e Spring X EJB3.

Fiz uma apresentação sobre o Spring Framework onde começei explicando o que é DI(injeção de dependência) e IoC(inversão de controle), depois falei sobre a importância de se trabalhar com interfaces e buscar o baixo acoplamento entre os objetos durante o desenvolvimento de nossas aplicações. Falei também sobre AOP(programação orientada a aspectos) onde demostrei exemplos utilizando proxys dinâmicos e AspectJ. Exibi o exemplo de uma aplicação web utilizando a integração do Spring com Struts2 e JPA com Hibernate e finalizei demostrando como é possivel ter menos arquivos xml utilizando o Spring-annotations.

Procurei durante a apresentação falar pouco sobre a teoria e parti logo para exemplos práticos, onde tentava demostrar situações de utilização para o assunto que estava sendo tratado. Pelos comentários após o evento acho que meu objetivo foi atingido e creio que o código fonte dos exemplos servirá muito bem com base de consulta.

Apresentação

Link para download direto

Página do evento
Clique aqui.

Exemplos
Clique aqui

Fotos
Meu álbum
Álbum do Café com Tapioca
Álbum do Silveira Neto

Outros posts sobre o evento
Cristiano Milfont
Paulo Jr.
Rafael Carneiro