Archive for September, 2008

Eu polêmico? Jamais, sou daqueles caras que fico na minha, vejo inúmeras brigas, informações controversas em vários foruns de discussão Java no Brasil, que mais parecem aqueles caras daquele programa de futebol na rádio AM, que reúne sempre um Corinthiano, Palmeirense, São Paulino e um Santista faltando chegarem as “vias-de-fato”, eu passo, leio, me irrito, daí penso: “Não vale a pena responder, passei desta idade, fase como prefeririem”. Mas este entry visa tentar esclarecer algumas coisas, vamos lá tentar.

1 - Na última terça dia 23, estava em Brasilia e fui a reunião do DFJUG, levando minha lata de leite ninho para ajudar o projeto deles, que eu acho super válido, além de mim, estava amigos, entre eles Alexandre Gomes (Sea Tecnologia), Paulo Silveira(Caelum), Alexandre Porcelli (Caravela), Vladimir e João Paulo Viragine (JBoss), encontrei alguns amigos de Brasília da época do Loterias da Caixa, bem como outros membros do Grupo, na apresentação de Arun Gupta, sobre Glassfish, gostei muito das novidades e promessas para este servidor de aplicações, mas uma coisa me chamou atenção: Por que falar mal e atacar somente JBoss App Server para chamar a atenção sobre Glassfish, acredito que seria muito mais valioso falar das vantagens sobre WebOracleLogic ou qualquer outro. Mas acho que é mais fácil, tentar ir buscar os clientes que a JBoss como empresa passou anos até mobilizar para o momento Opensource, isso é de fato, e parece mais fácil, do que realmente em termos de mercado, tentar competir de igual pra igual com grandes players de App Server.
2- Esses dias, li um artigo de um cara que respeito muito, Osvaldo Doerdelin, Editor-Chefe da Java-Magazine, que não poupa em emitir opiniões extremamente pessoais sobre JBoss(claro, ao invés de imparciais) como por exemplo:

O que esta versão suporta é um Frakenstein chamado J2EE 1.4 com EJB 3.0

Definitivamente, o tempo de pesquisa e desenvolvimento para chegarmos ao JBoss 5.0 é algo que possa ter levado um tempo exarcebado, entretanto, este tempo vai garantir que o JBoss volte a acompahar as specs novas do JEE, a exemplo JEE6. Não cabe a mim, ficar tecendo explicações pelo tempo, porém nunca senti falta de nada importante no JEE5, já que EJB3, WebServices, JSF etc, estavam disponíveis há muito tempo. Sendo, porém, muito além de implementar a Spec, era preciso pensar nos próximos 5-10 anos de tecnologias Java, e avaliar como suportar não só JEE5, mas JEE6…7.8.1000 com o intuito de continuar sendo o AppServer mais simples, estável, performático e ainda querido no mercado. O atraso para spec JEE5, deverá não acontecer para a JEE6. Todavia, dias atrás precisamos rodar o JBoss jBPM num BIG AppServer o “Esfera de Teia” versão 6.1, e este por sua vez, não realizava o deploy devido a ORDEM DOS SERVLETS e LISTENERS do web.xml, e pensei “É este o valor de implementar JEE5?, ou poder rodar intereceptors, EJB3, JSF, MDBs, TimerServices etc?”

É por estes e outros motivos que eu ainda acredito que vemos Tecnologia no Brasil como SILOS, GUETOS, TIMES de FUTEBOL ou fanáticos de RELIGIÃO, ou pior como “meninos” mimados, ser mimado não é o problema, e sim, quando formamos opiniões, e aí você depende que 100% da sua audiência seja lúcida a ponto de dicernir o que é certo do errado.

Eu espero imensamente que as pessoas usem as tecnologias de código aberto JBoss não por que temos uma logomarca legal e bonita pra caramba, que até hoje meus amigos do Jiu-Jitsu acham que é uma camisa de “Rave”, ou porque a Flávia Rainone do JBoss AOP é super simpática, e sim, porque as pessoas acreditem que temos tecnologias que agregam, ajudam e que fazem com que a nossa vida de desenvolvedores possa ser mais divertida e fácil.

Eu não vou aqui falar mal de nenhum Application Server, ou de nenhuma empresa, não sei se amanha, eu possa precisar de um emprego, e uma delas possa querer um cara como eu, mas alguns fatos que as pessoas as vezes não prestam muita atenção numa estratégia de uma empresa open-source, e aqui alguns fatores:

  • Sim, a JBoss existe no Brasil, como empresa e com escritório em São Paulo, no mesmo prédio da Google, e não numa garagem, onde há o time técnico, suporte, educacional e vendas, além parceiros em quase todas as capitais brasileiras.
  • Uma comunida ativa em http://jbossbrasil.ning.com
  • Core-Developers, Consultores, Instrutores de JBoss contratados no Brasil de forma CLT, ou seja, que arrecada impostos, e com a chance de falar nosso idioma
  • Influenciadores direto de movimentos e futuros dos produtos JBoss globalmente
  • Investimento na Comunidade
  • Sendo a divisão da Red Hat no Brasil, que mais cresce em vários aspectos.

Claro, ainda queremos fazer muitas coisas, como aumentar imensamente nosso time, investir em projetos dentro das univesidades e educação de base, estar ainda mais ativos na comunidade, mas para isso, contamos não só com funcionários, mas com o próprio carinho da comunidade.

É difícil, você achar que eu estou sendo imparcial, visto meu empregador, mas é algo, que fatos como eu descrevi acima, me causam orgulho primeiro de ser Braileiro, por ver o Edson Tirelli, Clebert Suconic, Flávia Rainone, Stephan, Marcus Moysés, Charlton Barreto, Professor. Francisco Reverbel, serem profissionais respeitadissímos e de contribuições importantes para as tecnologias de middleware da próxima geração.
A JBoss foi fundada, por um cara não é um grande exemplo de diplomacia, mas ninguém pode considerá-lo nada menos que um gênio, se até o próprio Mark Fleury respeitou o Sun/Glassfish na declaração que vi nos slides de Gupta, eu sinceramente não entendo o porquê de falar tão mal sobre JBoss!? Também não entendo uma revista, na qual já anunciamos, fazendo declarações no mínimo fortes a um projeto que está longe de ser proprietário, e sim dirigido e focado em comunidade, mas com valor agregado para os clientes, via suporte e serviços, para justamente que o opensource não seja vítima das afirmações imbecis como “Não use Opensource, eles não tem suporte….”.

Eu ainda espero realmente, que os meninos um dia virem de fato “Arquitetos”. Ah, sobre o TomCat, nem vou comentar! Talvez eu devesse trabalhar na SpringSource para me sentir um pouco mais “p” da vida. Talvez o problema possa até ser Java, visto que no mundo Ruby o ROR é o que há, e e .net nada é melhor que MS IIS.

Deixei um comentário no blog de Arun Gupta, apenas para que ele refletisse na mensagem dele, apenas isso, já para Osvaldo, um cara que respeito, e de quem sempre só ouvi  o melhor, eu tenho certeza que a opinião dele, não é a da DevMedia, assim como aqui é extritamente expressa nada mais nada menos que o registro de uma visão para que cause o mesmo nas pessoas: apensa reflexão.

E

Mesmo no meio de semana, vai valer a pena com certeza ir ao evento este ano, além de várias palestras que citei no meu post anterior, não posso deixar de fazer propaganda da minha colega Flávia Rainone , que fará duas palestras que tenho certeza que serão sensacionais.

Sei que vem gente de vários lugares e para falar de tecnologia, como os amigos do CEJUG, isto mostra que de fato: Java está em todos os lugares. Sem falar nos “xirus” que vem do Rio Grande do Sul tchê, dos cariocas e os paulistanos de nascimento e os “adotados” também etc, ou seja, mesmo sendo no meio da semana!!! Tenho certeza que a comunidade fará com que seja um evento de sucesso.

Não estranhe também um patrocinador novo evento, talvez a “convergência” e a “interoperabilidade” chegaram nos eventos de Java do Brasil.

Brincadeiras a parte, uma das demos que espero mostrar amanhã, terá a presença do MobiCents, que é nossa plataforma de Comunicações(Telco[SIP], Vídeo, Midia, Presença etc) open source da JBoss. E toda a integração de uma arquitetura SOA a uma plataforma muito comum para soluções de telco/call-center. Sendo assim, vejo vocês todos amanha!

justjava2008.png

JustJava 2008 começa nesta quarta, e neste ano, acontecerá quarta, quinta e sexta, este é o evento mais tradicional de Java no país, por estas e outras que vale sempre a pena enviar uma palestra para este evento. Este ano, consegui aprovar uma palestra com o tema SOA (Arquitetura Orientada a Serviços), que acontecerá as 15:00 horas no auditório, no dia 10, quarta-feira. Veja mais abaixo:

Título: OpenSource SOA: Reais maneires de trazer esta cultura para sua empresa
Resumo: Arquitetura Orientada a Serviços - SOA, é um dos assuntos mais debatidos da atualidade, e um dos mais procurados nas empresas na atualidade, porém pouco se tem visto de casos de aplicabilidades reais ou até mesmo casos de sucesso. Esta palestra traz muito poucos slides, já que fala-se bastante de SOA em termos teóricos, sendo assim, iremos focar em muita prática sobre aspectos gerais que englobam SOA numa perspectiva de tecnologia opensource, vamos mostrar 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 como por exemplo Borland Delphi(TM). Serão 50 mintutos de muita prática, integração com o público e alguns minutos para perguntas gerais. Mostraremos no final, 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.

Se você está interessando em SOA, eu recomendo fortemente você também assistir as seguintes palestras:

a) Palestrante: Rafael Pereira Nunes - Instituto Metodista de Ensino Superior - Arquiteto de Software

Titulo: Restful WebServices
Resumo: Desde que começamos a desenvolver softwares há a necessidade de integrá-los, ao longo dos anos descobrimos e criamos diversos padrões para estas integrações, com a popularidade e uso massivo da web a transformamos em também uma plataforma de integração. Porém muita complexidade e burocracia foi agregada a estas integrações dificultando e em alguns casos incompatibilizando integrações de plataformas heterogêneas. E é bem sabido que a proposta de um web service é exatamente o contrário, disponibilizar e consumir serviços independente da plataforma em que qualquer uma das partes foi implementada. REST é a resposta a essa complexidade e burocracia desnecessária, é 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.

b) Palestrante: Eric Claudiney Machado de Oliveira - Luceroli Consultoria - Analista Desenvolvedor Especialista Java
Título: Desenvolvimento Java com Portlets 2.0 (Nova JSR 286)
Resumos: O conceito de um portal define uma plataforma que permite a usuários ter um ponto único de acesso baseado na web para entrega de aplicativos e/ou serviços. Essa arquitetura cresceu, primeiramente com implementações proprietárias e sem padronização, para trilhar um novo caminho de padronização com a JSR 168, e depois com crescimento de SOA. Desde 2003, houve a padronização da tecnologia de portais, trazendo ganhos para clientes, empresas de portais e a comunidade de desenvolvedores em geral. Entretanto surgiram lacunas, além da evolução natural da arquitetura Java, e uma nova JSR se fez necessária (JSR 286). Suporte a eventos, sessões compartilhadas entre portlets, suporte a frameworks como JSF, Struts e Spring , além de supporte AJAX, estão entre as novidades da nova JSR, com release liberado no ultimo mês de junho.

c) Palestrante 1: Bianca de Oliveira Spazziani - Serasa - an Experian Company - Arquiteta de Soluções
Título: Interoperabilidade entre Java e .NET
Resumo: Uma realidade no mercado atual é a predominância, dentro de uma mesma empresa, de aplicações desenvolvidas tanto na plataforma Java quanto na plataforma .NET. E, com o crescimento cada vez maior do market share anual de cada uma das plataformas é bastante óbvio que nenhuma das duas deixará de ser importante a curto ou médio prazo. Para se adaptar a este ambiente heterogêneo será cada vez mais necessário ter componentes Java e .NET trabalhando em conjunto. Mas obter interoperabilidade nem sempre é uma das tarefas mais fáceis, é preciso escolher a melhor solução tanto no mundo Java quanto no .NET sem que necessariamente haja custo ou complexidade muito altos. Para isso, apresentaremos diversos conceitos a serem compreendidos, formas de obter interoperabilidade (web services, messaging, unified runtime layers), melhores práticas e alguns perigos da interoperabilidade.

d) Palestrante: Leandro Tiemin Yung - Accenture do Brasil SA - Arquiteto de Soluções
Título: Depois do Desenvolvimento, aplicações Java e infra-estrutura de TI
Resumo: A idéia é apresentar uma visão de infra-estrutura sobre aplicações Java em ambientes de produção e servidores de aplicação. Apresentar as atividades de ambientes e vivência do dia-a-dia com as aplicações, conceitos, arquitetura, problemas comuns e estruturais de projetos que aparecem e impactam as aplicações em ambiente de produção. Aplicações em ambiente produtivo ao longo do tempo se comporta de maneira diferente do ambiente de desenvolvimento, seja por questãos de consumo de memória, processamento, número excessivo de usuários, conexões com o banco de dados mal comportadas, etc. Tudo isto é reflexo de projetos que atendem os requisitos funcionais de projeto, mas falham em requisitos não-funcionais de qualidade e infra-estrutura. Algumas dicas são extremamente úteis, pequenos cuidados podem ser tomados durante a fase de elaboração e implementação podem resultar em aplicações mais leves e evitam a dor de cabeça de ter que corrigir erros e melhorar performance depois. O palestrante é arquiteto Java e responsável por arquitetura de aplicações em ambientes de produção da Petrobras na região São Paulo Sul.

e) Palestrante: Paulo Eduardo de Azevedo Silveira Caelum - Especialista Java
Título: Os 7 hábitos dos arquitetos altamente eficazes
Resumo: Ficamos confuso com tantos design patterns, padrões, frameworks e boas práticas? Como devemos desenhar nossas classes? Usar herança ou composição? Injeção de dependências? Webservices ou RMI? JPA ou Hibernate? Devo usar EJB? Para tomar essas e outras decisões, vamos apresentar aqui 7 pontos que consideramos muito importantes que o arquiteto deve sempre estar atento, independente da tecnologia escolhida. Esses são pontos em que devemos focar nosso estudo: a tecnologia sempre vai mudar, já os conceitos aqui apresentados sempre serão muito discutidos. Entre eles, falaremos de boas práticas em OO, o reusou e o open source, o uso de DTOs e o ajuste de granularidade entre serviços, além dos princípios da Bala de prata e da Janela quebrada.

f) Palestrantes: Felipe A. Oliveira - Scaphe Systems - DS e BEA - Arquiteto de Software
Título: Enterprise Mashups - SOA 2.0
Resumo: A palestra tem por 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. Será 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. Também será apresentado todo o universo de tecnologias, produtos e metodologias que são comumente utilizados pelos consultores dos principais players de mercado como Bea-Oracle, IBM e Sun Microsystems. Por fim, será apresentada a evolução do conceito SOA, em cima da pluralidade das linguagens computacionais (plataformas), diversidade de protocolos e serviços expostos pelas companhias.

g) Palestrante: Bruno Borges - Jawsys Consultoria - Consultor Java
Resumo: As buzzwords do momento, SOA/ESB/EDA, soam complicada para a maioria. Mas produtos Open Source tentam simplificar a implementação de arquiteturas orientadas a serviços. Com o Apache ServiceMix, é possível ver que SOA não soa tão complicado quanto parece. Veremos como funciona o ServiceMix integrado com o Apache CXF para publicar serviços como Web Services, de forma simples e descomplicada. Finalmente, entenderemos que SOA, ESB e EDA não são Sistemas Orientados A Especialistas Superiores, Bons e Experientes, Dignos Arquitetos: qualquer um pode implementar!

Estas seriam algumas das palestras que eu gostaria de estar assistindo, na quinta estarei no Rio de Janeiro a trabalho, mas não poderia deixar aqui meu boa sorte para os amigos que vão estar palestrando, bem como um ótimo evento a todos os congressistas!

[]s

E

O trabalho que a comunidade Brasileira de Java realiza é de fato impressionante, mobilizar inúmeras cidades para poderem falar sobre Java é realmente algo de muito orgulho em ser brasileiro.

Estou muito feliz e honrado, por comparecer em 3 destas cidades: São Paulo, Salvador e se tudo der certo Belo Horizonte.

Em Salvador, estamos desenvolvendo vários projetos, levando open source em esfera profissional em vários segmetos para o estado da Bahia e para o Nordeste de modo geral. No caso do JavaBahia, obrigado pelo convite, e ao nosso parceiro NorthTech pelo convite.

Este ano não vou poder ir a Belém, minha cidade linda e querida, mas pelo que eu vi o evento está super bem elaborado e com presença de ótimos palestrantes.
Esse meu blog virou mesmo site de divulgação de eventos, mas estes valem a pena, vejo vocês por lá então :D

A LocaWeb entrou nos eventos de tecnologia agora não apenas como patrocinadores, mas como realizadores de um evento que pelo menos no desenho tem tudo para ser fabuloso. O Rails Summit contará com vários profissionais pesados internacionais e com os brazucas que fazem barulho nesta comunidade.

Você deve perguntar: “Por que este loco do Edgar está divulgado este evento de Rails se ele é um cara de Java?”, as respostas seriam:

  • Recentemente uma pessoa importante na JBoss retornou para a companhia que é o Bob McWhirter, ele que já foi o cara por trás da CodeHaus e Drools agora vai estar a frente da iniciativa JBoss para Ruby que nem nome tem ainda, mas você pode conferir a carta de retorno do Bob aqui
  • Outra, que o suporte a outras linguagens na JVM (como no CLR do .net) é uma realidade, e não tem volta, sendo assim, uma hora ou outra, vamos ter que nos deparar com linguages novas e seus paradigmas.
  • E vai ter um cara que eu acho gente boa a bessa lá falando: Fábio Kung
  • São tecnologias em grande parte open source

Site do evento: http://www.locaweb.com.br/railssummit/default.asp?language=6

Realizei alguns testes no branch que deve ser um dos últimos antes do release GA do JBoss ESB, entre as inúmeras novidades, que vão desde monitoração até suporte a novos componentes, destacarei neste post, a comunicação com Enterprise Java Beans - EJB.

Por padrão o JBoss ESB Server que é o servidor JBoss com suporte aos componentes ESB, não traz o EJB Container embutido nele, entretanto provando que o JBoss App Server é um servidor 100% personalizável, nada impede que adicionemos este suporte, e para isto os passos são simples:

  • Copiar o ejb3-persistence.jar para o jboss_home/[perfil]/lib on seu perfil pode ser o “default”
  • Copiar os seguintes arquivos e pastas para o seu perfil (ex: default) :
  • ejb3.deployer (pasta com o serviço de deployer EJB3)
  • ear-deployer.xml (descritor do deployer de EARs)
  • ejb3-interceptors-aop.xml (interceptors padrões)
  • ejb-deployer.xml (descritor do deployer de EJB3

Copiando isto para o seu ESB Server , este por sua vez estará apto a receber componentes EJB3, já que o container EJB está agora junto do container ESB.Novo QuickStart: ejbProcessor Na versão GA, será possível testar um novo quickstart, o ejbProcessor, se você for fazer isto hoje do branche, deverá receber alguns erros do deployer do JBoss quando tentar realizar o deploy, na verdade, nem o script ant dos quickstarts deixa você fazer deploy no ESB Server, se este não tiver o EJB container instalado. Seguindo os passos acima, você poderá realizar o deploy sem problemas.

O mais importante notar neste novo quick-start é a declaração do Serviço EJB dentro do jboss-esb.xml:

jboss-esb.png

Como você pode observar, dado que estes EJBs estejam associados a algum protocolo (jms, ftp, filesystem, email, rest etc), eles serão ativados de acordo como descrito no exemplo.

Como você pode imaginar agora, todo seu arsenal de EJBs podem facilmente responder a eventos dentro do seu barramento de serviços.

Bom uso de seus EJBs, sejam eles 3.0 ou 2.x!

[]s

E