Archive for December, 2006

Da Série ‘Mãe Diná’

Friday, December 29th, 2006

Ano passado eu postei aqui o que eu acreditava que importaria no mundo da tecnologia em 2006.

Antes de postar a versão 2007 da minha futurologia pessoal vamos, ao contrário do que fazem os videntes de televisão, avaliar as besteiras que eu disse ano passado.

Ruby on Rails: O framework para aplicações web em Ruby realmente fez sucesso este ano. Sua influência no mundo do desenvolvimento pode ser vista nos novos frameworks para plataformas como Java e .Net e mesmo com tanto preconceito contra o que não é ‘enterprisey’ podemos ver esta plataforma decolando e ocupando espaço de PHP. Vários livros, inclusive brasileiros, lançados.
Ruby: A linguagem Ruby, no entenanto, não decolou como esperava. Parece que realmente o que importa hoje é a velocidade de desenvolvimento e a disponibilidade de bibliotecas e componentes prontos, poucos prestam atenção no que a linguagem consegue fazer quando bem projetada. Talvez ano que vem.
Migrações: Java 5 e EJB 3.0 Tirando quem não tem opção, os novos produtos já estão sendo desenvolvidos para Java 5. Existe um buraco de profissionais que dominem EJB 3.0 que deve ser preenchido em breve. Com o fim do suporte oficial ao Java 1.3 este movimento ficará mais intenso em 2007.
Linguagens de JVM Cada vez mais alardeadas como a maior novidade das novas versões (>6) de Java. Infelizmente Java 6.0 atrasou bastante e a maior parte do hype vai para o próximo ano.
Linguagens de Domínio (DSLs) Quando preparei a minha palestra do Rio Java Summit 2006 sobre linguagens de JVM e DSLs foi muito compkicado encontrar material. Tive que recorrer basicamente à materiais com mais de dez anos de idade e experiência pessoal. Digite Domain Specific Languages no Google e veja que isso mudou bastante hoje, ainda assim ainda não chegou no mercado. A falta de livros continua.
Open Solaris Acho que ninguém mais lembra que o Solaris esté sendo aberto. Péssimo marketing da Sun, infelizmente.
Celulares Apesar do caos entre as operadoras, os aparelhos celulares estão ganhando mais poder de fogo e ficando cada vez mais baratos.
Web 2.0 Ninguém ainda sabe direito o que é Web 2.0 mas já se ganha dinheiro com ela. A recente onde de mashups aposentando interfaces SOA é algo que merece atenção.

No final das contas acho que não errei por muito. Futurologia nunca funciona mesmo. Em breve os wild guesses para o ano de 2007.

Caindo na Real? Nem tanto, nem tanto…

Tuesday, December 26th, 2006

Continuando nosso ciclo de resenhas e análises fragmentais causadas por uma imensa falta de tempo para escrever algo melhor, acabo de ler o Getting Real da 37Signals, empresa originária do Ruby on Rails e de aplicativos muito interessantes.

Adquiri a cópia impressa do livro (o mesmo pode ser lido de graça online) na lulu.com. A Lulu.com é um conceito recente (não novo) em publicação e está fazendo sucesso até na mídia tradicional de um país que costuma sempre ser atrasado em tudo (encontrem um erro tosco nessa matéria) mas ainda não tem a estrutura de uma Amazon. O livro demorou uns bons 30 dias para chegar…

A leitura em si foi rápida, trata-se de um apanhado de textos curtos, e foi relativamente decepcionante. A postura “nós somos a internet 2.0, nos ouça ou saia do playground” é incômoda mas nada que estrague a leitura. O problema real é que a temática do livro é a mesma de tantos outros textos… não há no livro nada que o faça especial.

Não me entenda mal, é um bom livro se você ainda não leu muito sobre coisas básicas como dar mais importância aos clientes, saber dizer não, etc., mas não vai mudar o mercado ou causar muito barulho.

Conto o final?

Friday, December 22nd, 2006

Como mencionado no capítulo anterior, comprei e assisti o filme do Joel Spolsky. Bom, o filme é bem legal, mas assim como algumas pessoas eu esperava mais. Ele fica muito no meio termo entre ser entendível por pessoas não técnicas (minha esposa é da área de humanas e gostou do filme) e o técnico (tive que explicar o que era VNC para ela) e acaba sendo mediano nas duas coisas ao invés de ser bom em uma delas.

É, sem dúvida, uma obra muito interessante para gerentes, de tecnologia ou não, e para profissionais de Recursos Humanos. O filme mostra (mas não se aprofunda) alguns desafios enfrentados tanto nas tarefas dadas aos estagiários quanto ao relacionamento entre todos.

Vale ver mas eu não compraria.

Sessão Pipoca Nerd

Friday, December 15th, 2006

Acaba de chegar no escritório meu DVD do ‘12 Weeks with geeks’, possivelmente a coisa mais nerd já filmada. Comentários em breve ;)

(BTW, sigam meu exemplo e escolham bem suas esposas, só assim vocês podem assitir documentários geeks)

Coquetel de Lançamento da IASA-Brasil

Thursday, December 14th, 2006

Anteontem (12/12/2006) foi realizado no centro do Rio um coquetel para marcar o lançamento público da IASA Brasil e seu capítulo do Rio de Janeiro. Estavam presentes convidados de diversos segmentos, acadêmicos, empresários, gerentes e arqutietos. Foi uma oportunidade de introduzir os interesses da IASA no mundo e no Brasil, além de ter a oportunidade de conhecer um pouco mais destes membros iniciais.

IASA Logo

Mais detalhes no blog da Associação.

Tabs, Sessão Web e Escalabilidade

Wednesday, December 13th, 2006

Ultimamente tenho utilizado o Jira como Issue Tracker. Apesar de gostar bastante do produto (mesmo sentindo falta de funcionalidades simples que o Bugzilla tem) ele tem algo que me deixa profundamente irritado: a maneira com que guarda informações em escopo de sessão.

Boa parte do meu dia é destinado a avaliar a lista de requisições e bugs, designar pessoas para corrigí-las e organizar as modificações que serão lançadas em qual release dos produtos que coordeno. Isso envolve, como se pode esperar, visualizar dezenas de issues ao mesmo tempo na tela, e como sou um cara Web 2.0 não posso deixar de fazer isso em dezenas de tabs.

O problema é que o Jira guarda informações sobre o que estou visualizando em sessão. Quando abro várias tabs existe uma grande possibilidade de editar a issue errada, sempre tenho que dar um refresh na página antes de alterar algo.

Outro ponto importante é nunca, nunca mesmo, colocar informações que você vai pegar numa página em Sessão. Sessão é apenas para dados que precisam ser armazenados por mais de uma página, se você quer mandar dados de um servlet ou Action para um arquivo JSP utilize escopo de request e faça um forward.

Além de profundamente irritante, essa arquitetura não é escalável. Quando você atinge milhares de usuários famintos por conteúdo não dá para manter estado, simples assim. Arquiteturas escaláveis geralmente guardam apenas o mínimo necessário, e isso é bem pouco mesmo, e deixam o resto para os browser gerenciarem com cookies ou reescrita de URL.

Cluster de sessão web é um problema. No natal de alguns anos atrás fui acionado para resolver um problema em código legado do meu então cliente. Sem muitos motivos aparentes as 7 máquinas do JBoss cluster simplesmente não respondiam, ficavam apenas trocando informações em rede. Olhando o código eu percebi que alguém achou uma boa idéia serializar um arquivo PDF para mostrar ao usuário e… guardá-lo em sessão. A sessão era replicada e logo tínhamos 7 máquinas distribuindo entre si dezenas de arquivos PDF de 6MB cada.

Quanto ao problema original, eu ainda não usei, mas no início do ano tivemos uma apresentação sobre o JBoss Seam por Gavin King no Rio Java Summit 2006 onde ele mostrava que o framework gerencia automaticamente isso, que ele chama de ‘conversations’. Segundo amigos que olharam o código não é anda muito bonito de se ver, mas para o programador parece que é tudo muito tranquilo.

Vale uma olhada.

POJOs Anotados

Wednesday, December 13th, 2006

Pergunta feita em PVT que possivelmente vale registrar:

E ai Shoes, beleza?

Depois de ler seus artigos sobre “objetos burros” entre outros, estou montando um sistema teste para trabalhar desta forma, mas surgiu uma dúvida. Os annotations vão ter que ficar nas minhas classes de negócios, isso não seria errado? Não estariamos misturando as coisas?

Olá,

Sim e não.

Se você procruar na internet vai achar dezenas de páginas de debates sobre se um POJO com metadados ainda é um POJO. Eu acho que não, mas também não acho que isso seja relevante.

Desde que você mantenha cosias de infra-estrutura apenas como metadados, nunca como código de negócio, seus objetos estão ‘limpos’.

Presente, Passado e SOA

Sunday, December 10th, 2006

Bom, semana passada foi dai da minha apresentação no evento sobre SOA do IQPC, como vocês já sabem. Foi muito interessante preparar e ministrar essa palestra principalmente porque fugia do lugar comum que é apresentar uma nova tecnologia ou mostrar uma ferramenta, tão comum em exemplos deste tipo.

Minha palestra teve como foco desmistificar as características do SOA, mostrando que elas já estavam disponíveis, especificadas e documentadas em sua maioria há uma década. Como não há muito material sobre esta comparação (estes slides são provavelmente a coisa mais direta sobre essa comparação que existe hoje na Internet) precisei tirar a poeira dos livros sobre componentes e procurar conceitos comuns na parca literatura que se pode levar em conta sobre SOA (ou seja: nada de papers de fornecedores apresentando sua gloriosa ferramenta gráfica, estes sim abundantes).

As conclusões estão nos slides, pena que a palestra é mais um bate-papo e não foi gravada, mas acho que dá pra tirar algo de bom deles.

O mais interessante na verdade foi conversar com as pessoas. A maioria era de gerentes de grandes empresas públicas, bancos e alguns funcionários de grandes empresas de software. As empresas destas pessoas as enviaram para tentar entender o que é SOA e como adotá-lo na empresa. Eu não pude acompanhar o evento todo e não sei se as pessoas conseguiram informações sobre o que queriam: qual o caminho para migrar para SOA?

Uma das comparações que eu faço entre SOA e CBD é que CBD é, na minha opinião, ingênuo. A impressão que se tem ao ler sobre o uso de componentes é que é possível utilizar a técnica de maneira bem gradual, indo aos poucos transformando seus sistemas em componentes distribuídos. SOA é bem mais agressivo, criando cascas de serviços sobre os sistemas num tempo muito curto.

Ao mesmo tempo, não sinto nos vendors compromisso com isso. A maioria do material que vi neste evento e em qualquer outra fonte é sobre como usar ferramentas e técnicas para gerenciar e orquestrar serviços que já existem, poucas coisas falam do dilema que é transformar sistemas em serviços.

Este é um bom tópico para atacar numa próxima oportunidade. Nos últimos meses venho constantemente lidando com a transformação de sistemas legados em serviços ou ainda com a mudança arquitetural de sistemas que estão em desenvolvimento para este modelo.

A impressão que tive é que com a quantidade de dinheiro que se está investindo em SOA hoje não dá mais pra chamar de futuro, mas de presente. Claro que há um problema muito grande aí: Este foi o mesmo cenário, por exemplo, com EJBs.

Eu espero sinceramente que tenhamos aprendido a lição e que estudemos os conceitos por trás das coisas antes de sair por aí implementando sistemas que não funcionam utilizando ferramentas caríssimas.

SOA in Rio

Wednesday, December 6th, 2006

Zair Ramos, do Rio[JW]UG avisa:

O Grupo de Usuários WebSphere (RioWUG) juntamente com a IBM gostariam de convidá-lo para a próxima reunião do RioWUG , comemorativa do 2o. aniversário.

O tema central do evento será SOA . Venha conferir como a infraestrutura de Software IBM fomenta e implementa SOA, bem como sua arquitetura .
Além disso mostraremos as novidades da versão 6.1 do WebSphere Application Server e tendências da plataforma WEBSPHERE.

LOCAL: Teatro da UNIVERCIDADE (antigo teatro Delfim), campus Lagoa, na Rua Humaitá, 275
HORÁRIO: de 9h às 19h
INSCRIÇÕES PELO SITE:
www.websphere.org/groups.php?groupid=106
É necessario primeiramente registrar-se no RIOWUG (JOIN) e depois registrar-se como participante no evento do dia 13/dez (ATTEND A MEETING )

Segue agenda do evento:
=================================================
HORARIO EVENTO
09:00/10:00 Abertura - Representante UNIVERCIDADE e Representante RIOWUG
10:00/11:00 Palestra 1 - Zair Ramos - Introdução SOA
11:00/12:00 Palestra 2 - Marilia Coelho - Infraestrutura de Desenvolvimento IBM para ambiente SOA
12:00/13:30 Almoço
13:30/14:30 Palestra 3 - Luiz Phelipe Assumpção- Websphere Process Server / BPEL
14:30/15:30 Palestra 4 - Carlos Rischioto - Novidades WebSPhere Application Server (WAS 6.1) e debate sobre migração
15:30/16:00 Coffee Break
16:00/17:00 Palestra 5 - Enterprise Service Bus - ESB
17:00/18:00 Palestra 6 - Ana Vieira - Futuros e tendências - plataforma WEBSPHERE
18:00/19:00 Encerramento

Palestra Disponível: SOA vs. CBD

Wednesday, December 6th, 2006

Como já mencionado aqui, a convite do IQPC eu minsitrei ontem uma palestra comparando SOA com arquitetura de componentes. Esta foi também a primeira palestra oficial da IASA no Brasil.

Os slides estão disponponíveis, comentário em breve.