Dev in Rio 2009: Eu Vou!

August 30, 2009

No dia 14/09 vai rolar um evento aqui no Rio de Janeiro que promete ser um sucesso: Dev in Rio 2009. E, claro, eu não poderia deixar de estar presente. Organizado pelo meu amigo Guilherme Chapiewski e pelo Henrique Bastos, contará com a presença de grandes nomes nacionais e internacionais falando sobre Open Source, Java, Ruby on Rails, Django e Desenvolvimento Ágil.

Nos vemos lá!

Dev in Rio 2009

Advertisements

Falando em Java 2008

May 20, 2008

No último domingo estive no Falando em Java 2008. Foi um evento excelente, muito bem organizado pelo pessoal da Caelum. Na minha opinião os destaques foram:

  • A apresentação sobre Domain-Driven Design (DDD) do Sérgio Lopes. No dia anterior eu tinha participado de um workshop sobre DDD bastante interessante. Mas essa apresentação foi simplesmente show. No pouco tempo disponível – apenas 40 minutos – o Sérgio conseguiu passar o que é a essência de DDD: foco no domínio para resolver o problema; resgate da Orientação a Objetos; utilização da Linguagem Ubíqua, onde os mesmos termos utilizados na conversa com o cliente apareciam no modelo expresso em código. Fez isso usando um exemplo prático, onde a partir de uma conversa com o cliente implementava o sistema que este queria. Excelente!
  • A palestra do Fabio Kung sobre JRuby on Rails. O Kung deu uma aula sobre Ruby, JRuby e Rails. O mais interessante foi o final, onde ele mostrou que, apesar de JRuby on Rails (assim como Ruby MRI on Rails) ser lento e ter seus problemas para deploy em produção, a versão 3 do GUJ (feita em JRuby on Rails) consegue atender diversas vezes mais requisições por segundo do que a versão atual, em java.
  • A presença do Emmanuel Bernard, líder de diversos projetos do Hibernate. O Emmanuel fez duas apresentações. A primeira foi sobre a versão 2.0 do Java Persistence API (JPA). Basicamente eles estão incluindo nesta nova versão diversas funcionalidades que já existem no Hibernate e em outras ferramentas de ORM. A segunda foi sobre o Hibernate Search, uma ferramenta que utiliza o Apache Lucene e possibilita full text search de modelos de domínio persistentes. Muito interessante!

“Modelagem Ágil e DDD” e “Falando em Java 2008”

May 12, 2008

Nesse próximo final de semana estarei em São Paulo para 2 eventos, junto com Vitor Pellegrino e Bruno Carvalho. O primeiro é um workshop de Modelagem Ágil e Domain-Driven Design que vai acontecer na sexta e sábado (dias 16 e 17). O segundo é o Falando em Java 2008 da Caelum, que acontece no domingo (dia 18). Neste evento, vamos estar acompanhados também do Guilherme Chapiewski.

Depois vou postar aqui as minhas impressões desses 2 eventos que prometem!


POJOs

March 4, 2008

Ultimamente tenho notado em listas de discussão, blogs, etc., pequenas confusões em relação ao termo POJO.

Algumas pessoas acham que POJO é sinônimo de JavaBean. Não é. JavaBean é uma especificação de um modelo de componentes. Os beans são componentes de software reutilizáveis que podem ser manipulados por ferramentas visuais para a criação de componentes compostos, applets, aplicações, etc.

Como um construtor público sem parâmetros e gets/sets públicos para os atributos são requisitos necessários (mas não suficientes) para um objeto atender à especificação JavaBean, alguns acham que POJO é sinônimo de objetos com construtores públicos e gets/sets para os atributos. Não é.

O termo foi criado por Martin Fowler, Rebecca Parsons e Josh MacKenzie e significa Plain Old Java Object ou Simples e Velho Objeto Java. Segundo o próprio Fowler, o termo foi criado ao preparem uma palestra para uma conferência em setembro de 2000. Nessa palestra eles mostravam diversos benefícios de se utilizar objetos comuns, simples, no lugar de algo mais pesado como EJBs, para implementar lógica de negócios. Eles não entendiam porque as pessoas tinham resistência em utilizar tais objetos comuns para lógica de negócios e chegaram a conclusão de que isso acontecia pois estes objetos não tinham uma denominação de efeito, que causa impacto. Então, criaram POJO.

Ou seja, um POJO nada mais é que um objeto simples, que não depende de implementar interfaces ou herdar de classes de algum framework externo. Não é, necessariamente, um JavaBean (mas pode ser). Não é, necessariamente, um objeto que tem getters e setters públicos para todos os seus atributos (mas pode ser).