Diferença entre um cliente de aplicativo e um cliente independente

Como o título sugere, isso é em relação ao Java EE e ao Glassfish em particular.

Pelo que aprendi, o aplicativo cliente é executado em algum aplicativo cliente que tem a capacidade de falar com glassfish. Mas parece haver limitações para isso em relação às annotations.

  1. Alguém pode me dar um exemplo da diferença na conexão com um servidor de aplicativos glassfish dos dois tipos diferentes de aplicativo?

  2. Qual é o benefício da abordagem do cliente de aplicativo e qual abordagem é a mais comumente usada ao desenvolver clientes de aplicativo para Java EE?

O código (trabalho que você precisa fazer) associado à conexão com o servidor de aplicativos em ambos os casos não é tão difícil assim … mas é abordado em documentos diferentes.

Estas são as instruções sobre como acessar um EJB a partir de um aplicativo java independente .

Estas são as instruções para usar um cliente de aplicativo para acessar um EJB a partir de um cliente de aplicativo Java EE 6 com GlassFish v3: http://docs.sun.com/app/docs/doc/820-7695/beakt?l=en&a= Visão

Acessar um EJB de um aplicativo cliente dá access a mais serviços ‘automaticamente’ do Java EE do que se você estivesse trabalhando com o EJB ‘diretamente’. Você pode agrupar o access a alguns desses serviços no caso independente, mas a carga é transferida para o desenvolvedor / implantador de aplicativos para que esse access funcione.

Criar um aplicativo independente que acesse um EJB parecerá fácil, no curto prazo, e muitas pessoas investirão nessa estratégia. Se eles implantarem seu aplicativo cliente em um grande número de máquinas, a carga associada a uma estratégia de access a serviços montada pode se tornar um fardo.

A implantação de um aplicativo cliente que usa o contêiner do aplicativo cliente também não é gratuita. A vantagem é o fato de você ter o suporte do fornecedor do seu servidor de aplicativos para superar os problemas de implantação.

Se você estiver usando o GlassFish (v2.1, v2.1.1 ou v3), também poderá aproveitar o suporte do Java Web Start, que simplifica muito a implantação de aplicativos clientes.

Na verdade, um cliente de aplicativo é executado em um contêiner e tem access total aos resources do Java EE definidos em seu servidor da mesma forma que um Servlet ou EJB. Isso normalmente seria usado para algum tipo de cliente de administração, não um aplicativo de usuário. Aqui está uma explicação .

Além do Cliente de Aplicativo Java EE, há também o conceito de um Thin Client , que também permite access a alguns resources do Java EE, mas não tão facilmente quanto o App Client. Geralmente, envolve o uso da consulta JNDI com nomes absolutos, pois as referências JNDI não estão disponíveis. Um caso típico para isso seria um produtor / consumidor independente de mensagens JMS. É basicamente uma opção mais leve do App Client completo.

Se você estiver simplesmente criando um aplicativo de usuário, provavelmente desejará usar um modelo Thin Client ou um aplicativo antigo que simplesmente consome serviços do seu aplicativo Java EE por meio de servlet ou chamadas de serviço da Web.

Intereting Posts