Galera, recentemente fiz um curso de J2EE e aprendi um bucado sobre esta arquitetura de desenvolvimento.
Só tive alguns pequenos exemplos de como e quando usar este tipo de arquitetura.
Então fiz uma entrevista na ultima sexta feira, o qual eu mencionei “Aplicação robusta na qual você pode ter vários servidores de aplicação espalhados sendo acessado tanto por servidores web ou intranet” sei que isso é um ponto, mas eu não consegui citar muitos exemplos!
Alguém teria exemplos de aplicações usando J2EE mesmo? Tipo só gostaria que citassem como trabalham e para qual empresa/orgão… é só a titulo de curiosidade mesmo.
Ou se eu estiver engando sobre o que mencionei me corrijam também.
ehhehe
Abraços.
Quando é usado J2EE?
10 Respostas
vc esta completamente certo sobre oq citou na entrevista… mas, J2EE não precisa ser necessáriamente um super ultra mega sistema com zilhões de componentes… Não. J2EE também é aquele sitezinho todo em JSP, que mostra dados atravéz de simples JavaBeans q acessam uma classe de conexão ao banco de dados… Eu pessoalmente trabalho desenvolvendo sistemas pra clientes da empresa onde trabalho, o último foi um ERP, onde começaram usando Tomcat como container, jsp, classes de persistência, classes de negócio e um datasource… agora q acabamos esse projeto estou colocando webwork e hibernate no desenvolvimento…
Tudo bem matheus, acho que ficou faltando mais algumas coisas.
Sei que jsp, jdbc, tomcat já são implementações de j2EE, mas o foco maior meu era ressaltar as grandes aplicações de J2EE, com os servidores de aplicações. JBOSS, WebSpheare… estes grandes servidores.
Era isso o que eu queria realmente ressaltar a mais na entrevista, e eu não soube explanar muito bem, acho que deixei duvidoso essa área.
e como vc disse qualquer sitezinho já é j2ee, mas o conceito de aplicação robusta, que possa ser acessado remotamente envolve muito mais que isso… Podemos uma aplicação rodando aqui… e outra na china que elas vão acessar, isso é j2ee também.
Certo? Então só queria exemplos mesmo desta arquitetura para que ue pudesse ilustrar, até pra mim mesmo, como melhor trabalha a mesma.
Por exemplo o cara da intrevista disse que nunca usou Servidores de aplicação, sempre usa o Tomcat e roda tudo perfeito. Citou até que tem uma grande aplicação para o estado de minas gerais que é tudo com o Tomcat apenas. Então ele disse: “Isso não é robusto?” eu mencionei: “Claro, é sim, e é J2EE só que você precisar não terá acesso a esta aplicação” certo?
Valeu 
certo… bem, e se o cara das minas ai precisasse q o sistema ficasse maior, com mais camadas físicas… ou seja, mas servidores… como ele faria pra conectar os componentes de um servidor ao outro? ele iria escrever os sockets tudo? iria escrever todo o esquema de RMI? ou ele seria inteligente e usaria EJBs??? …bem, ja temos o pq de se usar EJBs neste cenário… pelo q entendi, tu quer um argumento pra mostrar pro cara q ele precisa de um servidor de aplicação EJB, e não só um Web, é isso? :roll:
mais ou menos isso mesmo matheus!
Só queria alegar realmente a grande funcionalidade dos servidores ejb (o qual chamo servidor de aplicação) correto?.
Eu tenho na minha concepção para que serve, mas ilustrar pra ele isso exigiria alem do conhecimento alguns exemplos de aplicações que funcionam assim. Até citei o caso da empresa tata, que tem o seu servidor de aplicação em santa catarina, fazendo o sincronismo com o da india. E em brasilia temos o servidor web.
outro ponto é tu ter a tua lógica de negócios centralizada… vejamos… em um sistema gigantesco, há a necessidade de se ter máquina(s) só para o(s) banco(s) de dados, e máquinas só para o esquema do negócio inteiro… agora, vamos separar ainda mais… q tal termos por ex, um servidor Oracle, 2 servidores JBoss executando somente regras de negócio e oferecendo Facades para os clientes… bem, o negócio esta centralizado nos dois JBoss certo? pq tem q ser JBoss? pq ele oferece servidos q por natureza são distribuidos, ou seja, os clientes podem contatar um serviço facilmente, certo? ok… agora, mas o minha empresa é fodona e super grande, teremos tanto clientes web, quanto clientes desktop, quanto clientes mobile em J2ME! todos acessando o mesmo negócio centralizado… e outra, imagine q a sua empresa é um e-commerce (agradeço aqui por esse exemplo q o franklin me deu ao demonstrar qnd usar webservices e quando usar EJBs), tu tens um numero x de usuários por dia… o teu sistema consegue suportar todos facilmente… agora, imagine q passou o natal, e tu tem uma porrada de produtos parados no estoque e quer liquidar todos, e coloca lá no teu site uma baita queima de estoque, tudo por 1 real… teus servidores irão cair, ou irão começar a recusar requisições de tantos usuários q vão te acessar… solução? Se tu ja tens todo o teu negócio centralizado em EJBs em 2 JBoss… coloque mais máquinas JBoss e distribua a carga desses EJBs entre elas!
hummmmmmmmmmm…
na teoria temos tudo, agora pra explicar com exemplos é que complica!
matheus valeu mesmo pela explicação.
Só lembrando que no caso dos 2jboos, seria só jogar uma terceira maquina e implementar minha regrinha de negocio ali, aliás, implementar não, copiar meu .ear para lá e colocar as 3 juntas que estaria perfeito , certo?
A explicação do e commerce é muito boa, até cite pra ele na entrevista que o Amazon trabalha desta maneira, mas não soube explicar com essa exatidão.
O esquema de web service também ótimo! Sem falar nas maneiras de acesso, web, mobile ou desktop!
Valeu mesmo. 
Ta ai matheus, ainda não consegui entende realmente quando usar EJB’s ou usar web service… teoricamente vc está tendo acessos remotos ao seu negocio.
eu tenho por dedução que webservice vc usará quando a uma das plataformas forem diferentes… exemplo dum lado .net e do outro java…
vc disponibiliza um webservice do .net para conversar com o java.
Desta maneira sei que está certo, mas há outras coisas?
EJBs e webservices são serviços distintos… para finalidades distintas… veja o webservice como um serviço público… como métodos publicos abertos em um servidor, por ex, existe um plugin no firefox q te da a previsão do tempo da tua região, essa informação é vinda de um webservice… o webservice te oferece serviços, “responte as tuas perguntas”… o EJB é um serviço incluso dentro de um sistema, esta lá para servir o sistema, quando a carga for grande, pode ser distribuído…
rapá…
por mais que agente pensa que sabe teoria, nem teoria sabemos direito.
hehehe
Bom matheus obrigado ai pelos esclarecimentos.
Algumas considerações:
Quando o ssitema não tem EJBs eu chamo de “Ssitema web”.
Somente quando há EJBs eu chamo de J2EE.
Isto é uma questão filossófica, tem gente q chama JSP de J2EE, o que não está errado, já q é uma das tecnologias que compõeso J2EE.
Quando eu quero vender o peixe do J2EE falo mais ou menso o seguinte:
“Sua aplicação precisa ser escalável, robusta e de alta-dsiponibilidade?
Sua empresa está disposta a pagar um pouco mais caro pelo hora do profissional?”
Obviamente é necessário saber o que significa “escalável, robusta e de alta-dsiponibilidade”.