Seja bem vindo ao Fórum do JavaFree.org
Aqui você irá encontrar respostas para TUDO o que você precisa sobre java.
Deseja participar? Crie sua conta ou efetue seu login
O Portal javafree.org inicia mais uma promoção para os usuários do fórum. Quem publicar mais posts válidos (perguntas ou respostas) entre 16/4 a 13/7 levará para casa um iPad 2 de 16GB!
Boa noite Srs!!! Gostaria da ajuda de vocês, pois minha empresa deseja migrar seus sistemas de Visual DataFlex, para JAVA. Aliás, já estamos começando esta tarefa. Estamos usando o struts e estamos analisando a possibilidade de implementar EJB. Mas embora sejam muitos sistemas, a maioria são pequenos. O que vocês podem me dizer sobre a tecnologia EJB?! Quais as vantagens e desvantagens?! Na verdade, não conheço bem esta tecnologia, estou procurando me enterar agora... Ficarei muito grato a quem puder me ajudar. ops:
EJB funciona principalmente para ambiente distribuído
Se você tem processos demorados você coloca um EJB em outro micro e manda ele rodar
Fora isso o EJB pode funcionar como um Servidor de Aplicações, centralizando toda a lógica, independente de tipo de conexão, JSP ou Swing.
Usando EJB você começa a ter oportunidades como o mapeamento objeto relacional automatizado, o EJB já implementa alguma coisa, mas se você não gostar pode usar um Hibernate ou um OJB da vida.
A aplicação fica bem maior, requer um servidor J2EE, não somente um container web. Gera mais código e mais manutenção.
_________________
Vitor Pamplona http://vitorpamplona.com @vitorpamplona
EJB é a tecnologia de componentes distribuídos da plataforma java. Algo parecido seria CORBA ou DCOM (é? eu não entendo muito de MS).
As vantagens obtidas por componentes EJB incluem: delimitação declarativa de transações (ao invés de chamadas explícitas no meio do código), distribuição (comunicação entre objetos remotos), controle de concorrência e ciclo de vida (contratos sobre a criação, uso, reciclagem e remoção de objetos). Além disso, também existem componentes para serem usados como entidades persistentes (os famosos Entity Beans) e consumo de mensagens assíncronas (Message-Driven Beans).
Ela é muito criticada por ser complexa e exigir muita codificação. Muitas interfaces a serem criadas e implementadas, exceções especiais a serem tratadas, descritores XML, etc. Um outro problema da tecnologia é que os componentes dependem de um container EJB para rodar. Não se pode (ou é muito difícil) rodar estes componentes fora do container, por exemplo, para executar testes.
A especificação EJB 3.0 está sendo concebida para tentar solucionar estes problemas, mas ainda é cedo para se ter certeza de que isso vai mesmo se concretizar.
Alternativas há muitas. Como que numa reação a esse modelo pesado de componentes, surgiu uma enxurrada de projetos open source visando a criação de containers leves (lightweight). Estes containers objetivam a facilidade e a simplicidade, sem perda (ou com um mínimo de perda) da flexibilidade e do poder concedido pelos EJBs. Exemplos deste tipo de container são o Spring e o PicoContainer. Eles usam o padrão (pattern) Dependency Injection e o princípio da inversão de controle para configurar os componentes, que são classes java comuns (Plain Old Java Objects, ou POJOs) sem a necessidade da implementação de interfaces específicas que os prendam ao container. Da mesma maneira, eles adicionam delimitação de transações, AOP, configuração, etc. aos componentes, sem que isso (ou redizindo a um mínimo) introduza dependências quanto à sua API.
Para a persistência, existem frameworks de mapeamento objeto-relacional de altíssima qualidade, como o Hibernate, ou implementações do padrão (standard) JDO, que define um modelo de persistência mais leve que o dos Entity Beans.
Eu, pessoalmente, não sou muito fã de EJBs (resultado do trauma de tentar usá-los em sua versão 1.2... argh!), e recomendaria a dupla Spring+Hibernate. Ainda mais se suas aplicações não forem tão complexas assim, o modelo 'pesado' dos EJBs só ia atravancar o seu ciclo de desenvolvimento.
Tetsuo
_________________ In fact, people who study design methods without also practicing design are almost always frustrated designers who have no sap in them, who have lost, or never had, the urge to shape things. Such a person will never be able to say anything sensible about "how" to shape things either. (Christopher Alexander)
Se vc precisa de suporte para middle tier transactions e tambem precisa montar um sistema de varias camadas/distribuido EJBs pode lhe ajudar. Caso contrario provavelmente nao precisa. Se vcs acabarem utilizando EJBs hoje existe varias ferramentas, IDEs, que lhe proporcionam o uso dessa technologia de maneira rapida, simple, e transparence. Eclipse, Intellij, Workshop, etc.... Todos tem como criar EJBs a partir de um simple click.
Em termos de referencia... em um dos ultimos relatorios da Gartner que tive a oportunidade de ler - menos de 30% do projetos em Java no Brasil usam EJBs. A maioria dos que usam estao em projetos governamentais e industria financeira.
marcelogodois Offline
Posts: 114
Boa noite Srs!!!
Gostaria da ajuda de vocês, pois minha empresa deseja migrar seus sistemas de Visual DataFlex, para JAVA. Aliás, já estamos começando esta tarefa.
O que vocês podem me dizer sobre a tecnologia EJB?! Quais as vantagens e desvantagens?! Na verdade, não conheço bem esta tecnologia, estou procurando me enterar agora... Ficarei muito grato a quem puder me ajudar.
vfpamp Offline
Posts: 6010
EJB funciona principalmente para ambiente distribuído
Se você tem processos demorados você coloca um EJB em outro micro e manda ele rodar
Fora isso o EJB pode funcionar como um Servidor de Aplicações, centralizando toda a lógica, independente de tipo de conexão, JSP ou Swing.
Usando EJB você começa a ter oportunidades como o mapeamento objeto relacional automatizado, o EJB já implementa alguma coisa, mas se você não gostar pode usar um Hibernate ou um OJB da vida.
A aplicação fica bem maior, requer um servidor J2EE, não somente um container web. Gera mais código e mais manutenção.
_________________
Vitor Pamplona
http://vitorpamplona.com
@vitorpamplona
Make It Epic
Idéias para projetos em Computação
Como ter boas idéias
ronaldtm Offline
Posts: 2299
EJB é a tecnologia de componentes distribuídos da plataforma java. Algo parecido seria CORBA ou DCOM (é? eu não entendo muito de MS).
As vantagens obtidas por componentes EJB incluem: delimitação declarativa de transações (ao invés de chamadas explícitas no meio do código), distribuição (comunicação entre objetos remotos), controle de concorrência e ciclo de vida (contratos sobre a criação, uso, reciclagem e remoção de objetos). Além disso, também existem componentes para serem usados como entidades persistentes (os famosos Entity Beans) e consumo de mensagens assíncronas (Message-Driven Beans).
Ela é muito criticada por ser complexa e exigir muita codificação. Muitas interfaces a serem criadas e implementadas, exceções especiais a serem tratadas, descritores XML, etc. Um outro problema da tecnologia é que os componentes dependem de um container EJB para rodar. Não se pode (ou é muito difícil) rodar estes componentes fora do container, por exemplo, para executar testes.
A especificação EJB 3.0 está sendo concebida para tentar solucionar estes problemas, mas ainda é cedo para se ter certeza de que isso vai mesmo se concretizar.
Alternativas há muitas. Como que numa reação a esse modelo pesado de componentes, surgiu uma enxurrada de projetos open source visando a criação de containers leves (lightweight). Estes containers objetivam a facilidade e a simplicidade, sem perda (ou com um mínimo de perda) da flexibilidade e do poder concedido pelos EJBs. Exemplos deste tipo de container são o Spring e o PicoContainer. Eles usam o padrão (pattern) Dependency Injection e o princípio da inversão de controle para configurar os componentes, que são classes java comuns (Plain Old Java Objects, ou POJOs) sem a necessidade da implementação de interfaces específicas que os prendam ao container. Da mesma maneira, eles adicionam delimitação de transações, AOP, configuração, etc. aos componentes, sem que isso (ou redizindo a um mínimo) introduza dependências quanto à sua API.
Para a persistência, existem frameworks de mapeamento objeto-relacional de altíssima qualidade, como o Hibernate, ou implementações do padrão (standard) JDO, que define um modelo de persistência mais leve que o dos Entity Beans.
Eu, pessoalmente, não sou muito fã de EJBs (resultado do trauma de tentar usá-los em sua versão 1.2... argh!), e recomendaria a dupla Spring+Hibernate. Ainda mais se suas aplicações não forem tão complexas assim, o modelo 'pesado' dos EJBs só ia atravancar o seu ciclo de desenvolvimento.
Tetsuo
_________________
In fact, people who study design methods without also practicing design are almost always frustrated designers who have no sap in them, who have lost, or never had, the urge to shape things. Such a person will never be able to say anything sensible about "how" to shape things either. (Christopher Alexander)
netoz Offline
Posts: 9
Se vc precisa de suporte para middle tier transactions e tambem precisa montar um sistema de varias camadas/distribuido EJBs pode lhe ajudar. Caso contrario provavelmente nao precisa. Se vcs acabarem utilizando EJBs hoje existe varias ferramentas, IDEs, que lhe proporcionam o uso dessa technologia de maneira rapida, simple, e transparence. Eclipse, Intellij, Workshop, etc.... Todos tem como criar EJBs a partir de um simple click.
Em termos de referencia... em um dos ultimos relatorios da Gartner que tive a oportunidade de ler - menos de 30% do projetos em Java no Brasil usam EJBs. A maioria dos que usam estao em projetos governamentais e industria financeira.
Abs,
--alex
marcelogodois Offline
Posts: 114
Obrigado pela dica amigos!!!! Acho que agora pelo menos já tenho uma base de onde começar...
Relacionados
Spring ou EJB? Qual usar? http://javafree.uol.com.br/topic-863108-Spring-ou-EJB-Qual-usar.html MVC http://javafree.uol.com.br/topic-853239-MVC.html 70% less code after refactoring EJB to Spring http://javafree.uol.com.br/topic-853621-70-less-code-after-refactoring-EJB-to-Spring.html Como criar uma arquitetura de monitoramento de processos? http://javafree.uol.com.br/topic-852909-Como-criar-uma-arquitetura-de-monitoramento-de-processos.html Controle de Transações http://javafree.uol.com.br/topic-848412-Controle-de-Transacoes.html Quando usar EJB ? http://javafree.uol.com.br/topic-784-Quando-usar-EJB.html Swing com Servidor de Aplicações http://javafree.uol.com.br/topic-12255-Swing-com-Servidor-de-Aplicacoes.html Pegar IP do user em EJB 2.0 Stateless. http://javafree.uol.com.br/topic-853307-Pegar-IP-do-user-em-EJB-20-Stateless.html Problema ao utilizar commit no JPA http://javafree.uol.com.br/topic-878222-Problema-ao-utilizar-commit-no-JPA.html