terça-feira, 15 de maio de 2012

Java CE Community Conference - O que rolou - 2º dia


Sábado dia 12/05/2012 foi o segundo e ultimo dia desse grande evento, perfeito em todos aspectos, muito organizado e com palestras de alto nível. Queria deixar logo de cara um agradecimento ao pessoal da Triadworks e Milfont Consulting por estarem sempre organizando grandes eventos no Ceará, podem ter certeza que vocês tem grande parcela na evolução dos profissionais locais. Bem agora vamos ao que interessa, ou seja, o resumo de tudo que rolou no ultima dia de conferencia

A primeira palestra do dia foi do Alberto Sousa "Scala, 1 ano de experiência". Como cheguei atrasado peguei só o final e não poderei comentar muito sobre a mesma, mas a Caelum também fez um review sobre o evento e quem tiver curiosidade de ler pode dar uma conferida aqui

O segundo palestrante do Sábado Marlus Saraiva da Fortes Informática com "JasperReports On Rails" comentou sobre alguns problemas encontrados por ele e sua equipe no desenvolvimento de relatórios no rails, hoje utilizam um biblioteca chamada RJB, Ruby Java Bridge para conseguir gerar relatórios.

Luca Bastos iniciou a terceira palestra "Machine Learning" que é o estudo de como construir o sistema que automaticamente melhorem com a experiência. Funciona com a junção de algoritmos + computação sobre demanda. Luca deu como exemplo de aplicações que fazem seu uso, o Linkedin. Interessante que Luca estudou, mas nunca teve oportunidade de trabalhar com Machine Learning e até brincou que faz parte do seu cinto de utilidades, que contem diversos assuntos que ele estuda para caso um dia precise. O homem é um monstro. Api Java para trabalhar com Machine Learling chama-se Weka. 

Mauricio Linhares fechou a manha de palestras com a missão de defender o uso de Scala, depois que Alberto Sousa falou de suas experiências negativas com a mesma. Mauricio precisou usar Scala quando sentiu a necessidade de migrar seu projeto em Ruby para Java (é ele não se via mais programando em Java) Seus motivos são que Java envelheceu e não acompanhou a evolução das outras linguagens.
Mauricio deu como pontos positivos da Scala: uso de Closures, possuir bibliotecas maduras, linguagem compatível com o código Java, ferramentas em situações aceitáveis para uma linguagem que está chamando atenção agora.

Como pontos negativos citou: que não foi feita para cruds web, pois seu foco é programação concorrente e para sistemas de mensageria, features muito complexas, coleções diferentes de Java, deve-se ter cuidado.

Rodrigo Kumpera abriu o período da tarde, seu tema foi "Crie aplicações nativas para Iphone e Android com o Mono" Kumpera relembrou a evolução dos telefones celulares.Contou que algumas preocupações que devemos ter quando desenvolvemos para dispositivos moveis é saber que uma hora ele vai falhar, uma hora os dados vão corromper ou a net ficar lenta. Para tentar amenizar tais problemas Kumpera deu algumas explicações arquiteturais ensinando o que pode ser compartilhado na aplicação e o que não pode.

Mostrou-nos o funcionamento de uma aplicação feita por ele chamada MWC que serve para organizar eventos e funciona para todas as plataformas, é open source e está liberada no seu guit.

A segunda palestra da tarde com tema "Não está feito até estar testado - integração continua e o Builda" foi feita pelo Tiago Bastos. Seu lema Works on every machine, testes tem que rodar e compilar. A falta de uma ferramenta de integração que funcionasse em diversas linguagens fez com a empresa em que trabalha iniciasse o projeto Builda. Sua instalação é simples e contem 3 passos: adicionar um repositório, adicionar uma chave publica e clicar em build. Vale a pena lembrar outra frase proferida por Tiago " Programar não é só escrever código, temos que garantir que ele funciona ". Uma curiosidade do projeto Builda é que quando estava em fase de desenvolvimento era o próprio projeto que fazia sua integração. Builda é software proprietário e precisa de uma licença. 

Regis Melo deu uma palestra sobre "Como construir software para rodar nos 7 continentes". Sua palestra consistiu em contar experiências de vida em seus 23 anos de desenvolvimento, hoje dono da Sagarana Tech, passou por vários desafios e possui diversos produtos espalhados pelo mundo. 

" Big data analytics – Por que o dado por si só não significa nada " foi o assunto abordado pelo Fernando Meyer, que inovou com slides feitos a mão. Muito criativo. 
Fernando explicou que Big data nada mais é que dados, a única diferença para um BD normal é como esses dados são medidos. Existem N formas de armazenar dados. exemplos de sistemas de armazenamento de dados são o Mongo e o Cassandra. 

Ultima palestra do evento foi dada por Alexandre Costa Martins da Dataprev, que resolveu falar sobre "Desafios e experiências no desenvolvimento de um sistema do tamanho do Brasil" essa é outra palestra que não poderei comentar pois me ausentei do evento, mas deve-se louvar a atitude da Dataprev, um órgão publico federal que fez presente ao evento custeando a entrada de 30 de seus funcionários.

Bem isso foi o que rolou nesses 2 dias de eventos, pelo "resumo" que é um pouco extenso dá para ver como foi bom o nível das palestras e que venham os próximos.

sexta-feira, 11 de maio de 2012

Java CE Community Conference - O que rolou - 1º dia

Hoje 11/05/2012 começou em Fortaleza o Java CE Community Conference um dos maiores eventos do Brasil relacionado a linguagem Java, confesso que o evento está superando minhas expectativas e  olhe que elas sempre foram grandes. Tentarei resumir em dois posts (um para o primeiro dia e outro para o segundo dia) tudo que rolou na conferencia!

O credenciamento dos participantes começou por volta das 7:30hs, a primeira palestra sofreu um pequeno atraso de  +- 15 min. O evento não poderia começar com palestrantes mais gabaritados que o Paulo Silveira e Raphael Lacerda com o tema "Chegando ao Lambda no Java 8"  Raphael foi o primeiro a falar e mostrou alguns exemplos de listas no java e como fazemos para itera-las hoje, após isso falou sobre o lambda e sobre  Api orientada a fluent interface   que faz por exemplo, o desenvolvedor iterar uma lista com poucas linhas de código. Lambda usa proxy dinâmico o que faz o processamento ficar um pouco mais lento, mas o ganho em economia de código compensa. Paulo entrou na palestra para falar sobre o Java 8 e suas novidades, já está no 36º build  e entre as mudanças propostas teremos um método  forEach na interface List mas não tenhamos medo a jvm saberá defender os métodos para evitar quebra de contrato nos códigos antigos, teremos uma espécie de Herança múltipla, interfaces serão classes abstratas com a restrição de não poderem conter atributos.
Lambda estará incorporado no Java 8, o método sort foi incorporado as listas e não só as coleções.

Loiane Gronner foi a segunda palestrante do dia com o tema "ExtJs 4 + Vraptor uma combinação explosiva" uma grande vantagem dessa combinação dar-se pela fácil maneira que o vraptor sérializa seus objetos, dando suporte a json já. Ela fez questão de deixar claro que não existe framework perfeito citando inclusive a vantagem do ExtJs de se integrar a outros frames java script caso o desenvolvedor sinta falta de algo como Jquery e Prototype.
Mostrou o clássico exemplo do ExtJs, o tema Desktop que ele permite desenvolver, não se omitiu ao contar a desvantagem do ExtJs  por ser Gpl 5 e não poder ser comercializado, mas o valor da licença sai em torno de  U$ 600,00 por desenvolvedor. Loiane deu exemplos de como trabalhar com MVC no ExtJs e como ficaria usando um projeto com camadas MVC também no lado do cliente.
Por ultimo ela comentou sobre o  sencha touch 2 que pode ser usado para mobile e é o primeiro framework JS para mobile, permitindo também desenvolver aplicações cross device.

A terceira palestra do dia foi ministrada pela dupla da TriadWorks Marcelo Diniz e Yuri Adams e o tema escolhido foi "Gradle  envolvido na automatização", fui apresentado a essa ferramenta de automatização de tarefas, confesso que gostei bastante e vou pesquisar mais sobre o assunto, gradle é uma ferramenta de automatização equivalente ao maven ou ant sem as desvantagens do uso de xml, convenções extremamente inflexíveis, suas vantagens são: Dsl de projeto, ser voltada para projetos baseados na Jvm, possuir a velocidade e o hashing do git, poder da metaprogramação do groove, possuir convenção mas sempre com flexibilidade para mudanças! Parabéns a dupla gostei muito da palestra.

A ultima palestra da manha foi dada pelo Douglas Campos um desenvolvedor apaixonado por open source inclusive aconselhando fortemente seguirmos esse caminho, Douglas trabalha na Jboss e possui muito conhecimento em linguagens de baixo nível. Seu tema foi "InvokeDynamic Crash Course" , ele falou sobre como a jvm baseia-se em pilhas e que Java é uma linguagem limitada mas isso não é nenhum problema. Confesso que não poderei falar mais sobre a palestra por que boiei legal.

Após o almoço tivemos a primeira palestra com Otavio Santana e participação do Juggy um bonequinho que auxilia formulando perguntas e contando piadas ( bem inovador e divertido)  o seu tema foi "Desenvolvendo JEE persistindo com NoSql", alguns casos de sucesso do uso de NoSql são o twitter e o facebook. Otavio fez uma comparação entre o sql e o NoSql, sql é o carro utilitário ou seja serve pra tudo, enquanto o NoSql é um carro de corrida ou seja: muito rápido mas especifico. NoSql visa ser como um hospital ou seja estar sempre disponível, não usa drives somente a api isso faz dificultar a migração de BDs, pode ser configurado para armazenar dados tanto em memória como em disco com isso gerando um menor custo de I/O. NoSql faz busca somente pela chave e possui 4 modelos (Chave-valor,Documento,Grafo e Família de colunas). NoSql não possui relacionamentos.

A segunda palestra da tarde foi de um cara que sou suspeito em falar, pois foi quem me introduziu no java, Francisco Barroso com o tema "Cucumber testando aplicações java" , Barroso contou o por que mudar o teste de interface do seu trabalho do Selenium Ide para o Cucumber que é uma ferramenta desenvolvida em Ruby e possui uma linguagem muito legível tanto para o cliente quanto para desenvolvedores.

Terceira palestra da tarde foi dada por um ex-companheiro de trabalho Diogo Sousa "Simples pelo simples, google android RoboGuice , enfatizou o que na minha opiniao esta correto, 2012 será o ano do mobile no Brasil, explicou que o RoboGuice  é pouco usado pela comunidade de desenvolvedores de android . falou de cases de sucesso como Groupom e facebook. RoboGuice é um framework de D.I para android de código aberto e baseado no guice da google.

Leonardo Leitão abriu a quarta palestra com o tema "Rest nas nuvens"  e começou sua palestra dando uma explanação sobre Rest ( modelo arquitetural em cima do http ) explicou algumas qualidades de trabalhar com o Cloud, falou sobre Saas, Paas e Iaas,- Software as a service, Plataform as a service e Infrasctuture as a service. Enfatizou bem as vantagens do uso do amazon como provedor de nuvens porque o desenvolvedor so contrata o que quer e se a aplicação evolui em termos de acesso o provedor se adapta para tal, fornecendo Elastic load balance, Auto scaling  e Elastic compute cloud. Concluindo que  E2c+ elastic load balance + auto scaling como formula do sucesso.

Tivemos outra dupla na quinta palestra Carlos ViIllela e Gregorio Melo voltaram ao assunto de Bds  com o tema "Quebrando Relacionamento: Nosql, Redis e Hbase" , como ja tínhamos tido uma excelente palestra sobre NoSql os dois focaram no assunto Redis e Hbase, o Cv falou mais sobre redis que é sua praia e o Gregorio falou sobre Hbase.
Como uma característica do Redis e ser rápido e fácil de configurar porem limitado, e oque queremos dizer com limitado? Limitado a guardar dados que caibam na memória, possui String, List, Hash Set e Sorted Set  como tipo de dados e é atômico.
O Hbase não precisa de Dml nem Dll para o banco, usa timestamp para guardar as versões dos dados  já que não tem conhecimento das colunas, funciona com objeto parecido com o json. Resumindo Redis e bom para cache e Hbase para Search.
Um conselho valido e que não se resolve tudo com o uso dos bds já mencionados, se não tem certeza vá pro caminho tradicional Sql.

A ultima palestra do dia foi do Bruno Sousa o Javaman, na verdade não foi palestra, ele respondeu algumas perguntas sobre o futuro do java, como a briga da Oracle x Google e só uso do JavaMe.

Bem foi isso que rolou no primeiro dia, amanha escreverei um post sobre o segundo dia. Ate amanha.