[quote=Luca]Olá
Concordo. E provavelmente formado e bolovado pelo infame livro Core J2EE Patterns 1a edição. É como twitei hoje de forma obviamente radicalizada pela necessidade de impacto dos 140 chars: Arquiteto que desenvolveu de mais de 3 sistemas distribuídos quase certamente é um imbecil EJBtizado. (*)
De todos os sistemas distribuídos que já ouvi falar, a maioria não precisava ser distribuído e na prática também não podiam ser considerados realmente distribuídos porque muitas vezes o banco de dados era um gargalo na tal “distribuição”. Esta é a herança maldita dos EJBs <= 2.x. Não canso de repetir que os EJBs foram a maior tolice que já vi em todos os meus mais de 40 anos de informática. Reparem que os teóricos da SUN capricham nas bobagens porque JSF (+facesxpto) também é dose para elefante.
Fico aqui imaginando o que diria para um arquiteto que pretendesse emprego em uma empresa que eu estivesse coordenando o processo de seleção e ele incluisse no currículo sistemas arquitetados com EJBs <= 2.x.
(*) Escrevi quase porque há exceções: há alguns raros sistemas que realmente precisam ser distribuídos. E destes raros casos, algumas vezes acontece deles serem projetados de forma que realmente funcionem distribuído sem gargalos ou único ponto de falha.
[]s
Luca[/quote]
Não queria que isso virasse um flame novamente, já discuti inúmeras vezes essa questão sobre EJB até mesmo com o Luca, então vou tentar ser breve.
1- Primeiro há um contexto histórico e quais opções tínhamos em mãos naquela época ? Corba ? Vai desenvolver qualquer treco com Corba aí vc vai amar EJBs, pode acreditar.
2- Muitos massacram o ejb anterio à versão 3 e concordo que é uma especificação densa com algumas coisas ruins como Entity Beans. Lembro que muitos sistemas que precisavam ser distribuídos usavam a fórmula Session + DAO só pra evitá-los. Entretanto, SessionBeans estavam lá, MDB estava lá também e sinceramente acho que foi uma das melhores coisas do mundo EE.
3- Por fim, qualquer análise fora de contexto se torna burra e estúpida. Usar EJB por usar é burro assim como criticar a tecnologia sem conhecer as problemáticas envolvidas também.
Hoje realmente essas tecnologias não fazem sentido, temos uma série de formas de resolver os mesmos problemas, desde Grids de memória ( Hadoop, Coherance, Gigaspaces…), cluster de VMS (TerraCota) e por aí vai , por isso gosto sempre de lembrar o contexto, levando em consideração material de apoio como livros, publicações e época.
Com relação ao tópico, o Rodrigo colocou muito bem. Particularmente não acredito num arquiteto que não sente junto com a equipe para analisar os problemas, implementação até para fazer uma análise coesa sobre a situação geral do(s) projeto(s).
Agora sentar no dia-a-dia para programar com a equipe, acaba realmente se tornando inviável, principalmente quando vc é o único da insituição com vários projetos rolando e diferentes equipes. Se você sentar pra resolver junto, acabou seu papel, pois não terá tempo de responder aos questionamentos e nem analisar a coisa toda de fora…