 |
CHAT
- EJB ou não
com Glauco Reis
Glauco > Boa
tarde Guapo > Boa tarde a todos
Guapo > o Glauco já
está no chat Guapo > podemos iniciar as perguntas,
trocas de idéias, etc... Glauco > Claro, sem
problemas Guapo > Alguém tem uma primeira
pergunta? Guapo > bom, eu tenho
algumas perguntas, então vou começar Guapo > Glauco, você acha que a versão 3.0 os problemas de
incompatibilidade vão continuar? Glauco
>
Olá Guapo. Acredito que os mesmos problemas, de
compaibilidade entre servidores irão continuar Glauco > Não me parece que haja
um concenso para fazer com que todos os servidores tenham descritores
compatíveis entre si Guapo > então parece que o problema
está na especificação não ser mais específica? Glauco
> Eu acredito que os
fabricantes não desejam fazer com que componentes EJB sejam totalmene
interoperáveis Glauco > Se isto
acontecesse, poderia se trocar facilmente de servidores, e haveria uma guerra
por preço Glauco > Mas eu acredito que
este é o desejo de todos que utilizam EJBs Glauco > Que as informações de qual banco, coluna,
transações,etc fossem padrão entre os vários servidores Aprendiz > glauco vc acredita q EJB vai
acabar com o surgimento de novas tecnologias? Glauco > Aprendiz, é que novas tecnologias irão surgir. Isto
já aconteceu. A própria Sun criou e está tentando sepultar o JDO, pois de alguma
forma ele ofusca a tecnologia EJB daltondecamargo > Glauco, você
indicaria EJB 2.0 para o aprendizado de pessoa iniciando com a tecnologia Java,
ou indicaria para os mesmos esperarem até que haja uma implementação do 3.0, que
teoricamente será muito mais 'digestivo'? Glauco
> Olá Dalton, eu não acho que será tão mais fácil a codificação
utilizando EJB 3.0 Glauco > Hoje, por exemplo, o programador que utiliza xDoclet têm que
utilizar toda uma sequência de tags, que não é mais fácil do que criar duas
interfaces e uma classe abstrata Glauco > Para mim, a especificação 3.0 é um xDoclet padronizado pela Sun Glauco > Acho por outro
lado que ainda leva um longo tempo até as impementações EJB 3.0. Mesmo que o
JBOSS a implemente, muitas empresas utilizam proutos comerciais como o Websphere
e Oracle Guapo > mas esses problemas
que vemos acontecer quando se quer portar de um App server para outro
Guapo > tende a acontecer com todos os
tipos de EJBs? Glauco > Os EJBs mais
críticos são os do tipo CMP Glauco > Eu diria para uma empresa que deseja portar para vários servidores
de aplicação, evitar este tipo de EJB Glauco > Os de tipo Session são menos "danosos" daltondecamargo > O Gavin em entrevista
ao JF, declarou que a maior novidade da junção do Hibernate ao EJB3, será o
suporte a filtros. No seu ponto de vista, como você enxerga essa união do
Hibernate ao EJB3? Glauco > Acho que dificilmente será uma padronização entre empresas como
IBM ou Sun. Somente o JBOSS (que eu saiba) está indo para este caminho. Glauco
> Trocar o engine de
persistencia do JBOSS para o hibernate acho muito bom. Hibernate é estável e
padrão de mercado Glauco > Mas não
acho que a IBM irá fazê-lo, por exemplo Glauco > Nós voltamos ao problema original, que é termos uma
camada de negócios mais leve que EJBs, e que suporte todo o paradigma da OO daltondecamargo > Existem tantos O/R's
atualmente disponíveis no mercado, OJB, Hibernate, TopLink etc, você acha que a
escolha pelo Hiberante foi uma boa? Porque? ear > boa pergunta dalton Glauco
> Ele não é intrusivo. Eu sou totalmente contra a abordadem do JDO,
que modifica o bytecode, por exemplo. Você já parou para pensar como será o
mundo quando tivermos por exemplo um JDO e um AOP, ambos modificando o bytecode,
sem termos acesso a ele ? Glauco > Além disto, o hibernate chegou a um ponto onde muita gente utiliza
e a massa de pessoas que ajudam a depurar a tecnologia é grande. Os outros
players ainda não atingem um mercado tão grande. Glauco >
O TopLink, se não me engano é pago, certo ? daltondecamargo > Certo.
daltondecamargo > Claro, mas você já reparou o quanto de adoradores o OJB tem por
ex? Eu particularmente gosto muito do Hibernate, porém, é só ir no tss e postar
algo declarando que Hiberante é o melhor o/r, que milhares de pessoas dessem a
lenha em vc. daltondecamargo > Eu acho
que a entrada do Hibernate no grupo Jboss, ajudou um pouco. daltondecamargo > A questão é, porque
Hibernate e não castor? OJB etc, mas acho que a popularidade do hibernate fez a
diferença. Glauco > Os EJBs do tipo
session são mais facilmente portados para vários servidores. Glauco
> Eu acredito que o fator
popularidade faz com que a feramenta fique mais depurada daltondecamargo > concordo. Glauco
> Devemos forçar os fabricantes
a adotar uma abordagem multiplaforma, e não sermos obrigados a utilizar a
ferramenta do fabricante para fazermos deploy para o servidor dele Glauco
> Aliás, se você olhar a
premissa #1 da especificação, diz que um dia poderíamos utilizar qualquer
ferramenta e fazermos deploy para qualquer servidor Glauco > Eu não recomendo CMP, se a idéia é fazer um produto que irá vender
no mercado. daltondecamargo > Glauco, na sua
opinião, Gerônimo ou JBoss? Glauco > Eu ainda acho
JBOSS, o gerônimo ainda está muito no início e deve passar pelo amadurecimento
necessário, até chegar à maioridade Glauco >
Se você esquecer a personalidade do maioral do JBOSS,
tudo fica mais fácil Guapo > Acho que todos concordam que a idéia de EJBs é fenomenal. Acho que
o que falta é acertar uns ponteiros. Estou certo? Glauco
> Sem
dúvida nenhuma. Acho a tecnologia fantástica. ear > O problema é
quando esses ponteiros serão acertados. As vezes me sinto como se tivesse
comprado promessas vazias em TI. tetsuo >
Glauco, a Sun tentou criar um 'mercado de componentes'
com EJBs, agora está tentando mais uma vez com JSF. tetsuo >
A meu ver, nas especificações destas APIs sempre foi
dado um grande peso à possibilidade dos fornecedores fazerem extensões
proprietárias, opcionais ou obrigatórias, muitas vezes às custas de simplicidade
e facilidade de uso. tetsuo > O que
você acha disso? Glauco > Sem dúvida tetsuo. Os maiores problemas são as extensões
proprietárias, que acabam por inviabilizar qualquer portagem guest193223 > o EJB causa discussão desde seu lançamento ou só depois que novas
tecnologisa foram introduzidas no mercado? Glauco
> Eu acho que a discussão vêm
de uma longa data. Glauco > Mais uma
coisa que eu acabei não escrevendo no artigo Glauco >
Pegue a história dos EJBs. Mudou-se drásticamente da
especificação 1.0 para 1.1 adotando arquivo XML ao invés de serializado Glauco
> Novamente, quando foi de 1.1
para 2.0, mudou-se de uma classe concreta para abstrata Glauco > Agora, para a especificação 3.0, muda-se novamente,
trocando a abordagem para anotações Glauco > Olhe um empresário, que
precisa optar por uma tecnologia. Como ele vai acreditar, se muda tudo a todo
momento, e não apenas uma simples evolução? guest193223 > Glauco, por essas e outras, acredito que quando uma tecnologia
gera discordância na comunidade, e uma evolução não linear como você acabou de
descrever, deveria ser repensada, ou até banida, o que você acha?
Glauco > Concordo.
Veja a evolução dos Servlets, JSPs, JNDI, JDBC. Todas foram incrementais Guapo > Mas eu acho que as coisas estão
evoluindo... Guapo > porém a
complexidade de um arquitetura EJB Guapo > é muito maior que as outras Guapo > estamos falando de vários fatores Guapo >
persistência, disponibilidade, transações,
escalabilidade... ufa Glauco > A
tecnologia Swing, por exemplo, têm um grau de complexidade talvez maior do que a
tecnologia EJB, e nem por isto muda tão drasticamente daltondecamargo > Quando você diz "Eu
não recomendo CMP, se a idéia ..", você não concorda que criar toda persistência
manualmente é extramamente braçal? Como você encararia o hibernate neste ponto
para poder amenizar o trabalho do desenvolvedor? Glauco
> Criar manualmente é realmente complicado. Diversos engines leves
têm surgido, e tendem a gradualmente tomar o lugar dos EJBs Glauco > Isto é uma outra
questão. Quem aguenta pagar U$40000,00 por um servidor, para utilizar apenas a
camada Web. Não está na hora de o cliente comprar apenas pelo que ele utiliza ? daltondecamargo > Aí quem sabe entraria
o spring :) Glauco > Acho que o Spring, e outros
containers leves, vai forçar uma queda no preço dos servidores guest193223 > Guapo, você que trabalhou
em grandes empresas pode afirmar, então, que vale a pena as corporações
continuarem investindo em EJB, aguardando por melhorias?
Guapo > eu acho que sim, mas diversos
cuidados tem que ser tomados. Acho que dá pra usar bastante coisa boa dos EJBs
Glauco > Utilizar Session, BMP, MDB
são menos danosos e com poucas particlaridades por servidor guest193223 > isso é muito
interessante.... daltondecamargo > Certo, agora me responda. Uma empresa com 10 programadores, com
clientes de médio porte, onde nenhum destes programadores tem conhecimentos
avançados de EJB. A aplicação é web e terá no máximo 100 usuários simultânos.
Vale a pena a curva do aprendizado.. daltondecamargo >
desta equipe para implementar o sistema usando ejb? Ou
quem sabe, aprender a usar um spring da vida e implementar usando-o?
Glauco > Olha só pessoal. Peguem a
quantidade de empresas que geram sistemas WEb. Destas empresas, vejam quais
utilizam EJBs. Não há algo errado com os números ? Todo mundo usa a camada WEB
Java, mas nem todo mundo utiliza a camada de persistência J2EE Glauco
> Concordo,
Dalton. Muitos sistemas não rodam de forma distribuida, e se utilizam EJBs com a
expectativa de um dia serem escalados. Muitos nunca o são... Glauco
> Hoje em dia, conhecer EJB
é também um fator para o programador conseguir salários melhores daltondecamargo > Perfeito Glauco, vou
sair agora, muito obrigado pelas respostas, e pelos belos artigos que tem nos
proporcionado na MJ! Abraço a todos! Glauco
> Obrigado Dalton !!! Glauco > Mais alguma pergunta ? Guapo > Glauco, mais alguma
consideração? tetsuo > em um artigo
anterior seu, você abordou os padrões do livro Core J2EE Patterns
tetsuo > Você não acha que aqueles padrões eram mais 'remendos' pra
deficiências de EJBs do que qualquer coisa? tetsuo > Na segunda edição do livro, são introduzidos alguns padrões
interessantes, como o ApplicationService Glauco
> Completamente. Para mim, a maioria dos patterns EJB são remendos
para deficiências da tecnologia. tetsuo > Mas na
primeira edição, a maioria servia para 'diminuir os problemas causados pela
latência da rede', por exemplo tetsuo >
Isso é um problema de arquiteturas distribuídas, mas não
são todos os casos que necessitam desse tipo de arquitetura, não é?
Glauco > Mas aqui, cabe a seguinte consideração : Glauco
> Os problemas de latência da
rede foram grandemente diminuidos com as interfaces locais. O maior problema
delas, é que não são transparentes. Glauco > Muito poucas empresas rodam sistemas escalados e distribuidos. Glauco
> E eu posso também dizer que,
aquelas que decidem ir fundo no WLM, acabam encontrando algum problema no
servidor. Estas partes são muito pouco depuradas, porque acredito que são pouco
utilizadas tetsuo > E pela minha (não
tão grande) experiência, quando há balanceamento de carga, este ocorre na camada
web, não a EJB Glauco > Usar EJB, para
um sistema de apenas uma JVM, é o mesmo que vender geladeiras no polo norte. Glauco
> Também é verdade, tetsuo. É
mais fácil e existem mais recursos para fazer WLM na camada WEB Guapo > Bom pessoal, se ninguém tiver
mais perguntas ... Guapo > Eu gostaria
então de agradecer a presença de todo e do Glauco!! Guapo >
Na quinta feira tem chat sobre JMS Guapo
> Glauco alguma consideração final?
Glauco > Agradeço novamente a
participação de todos. Glauco > Precisamos nos unir, pois o
concorrente vende que tudo é fácil. Guapo > Mas sabemos que não é bem assim, e diria que o concorrente vai
descobrir várias coisas que Java já descobriu Glauco
> Até a próxima, pessoal !!! Guapo >
Então, oficialmente o chat está encerrado, quem quiser
continuar por aqui fique a vontade!! Guapo > Abraço a todos!! E novamente obrigado por participarem!!
Glauco > Obrigado...
|
 |