SóProvas


ID
72121
Banca
CESGRANRIO
Órgão
IBGE
Ano
2010
Provas
Disciplina
Programação
Assuntos

Durante um processo de revisão do sistema de Compras, escrito em plataforma J2EE, foram levantadas as necessidades a seguir

I - O sistema de Compras deverá utilizar a camada de negócio do sistema de Contabilidade, também desenvolvido em plataforma J2EE, e que está instalado em outros servidores, para realizar consultas a informações bancárias dos fornecedores, sendo que a camada de negócio dos dois sistemas está baseada em EJB.

II - Um novo subsistema deverá ser implementado para atender novas necessidades do sistema de Compras, entretanto, os EJBs, que irão compor a camada de negócio deste novo subsistema, não devem utilizar descritores de deployment, mas sim, outra forma alternativa de configuração.

III - Um mecanismo assíncrono que permita que fornecedores possam, por meio do site do sistema de Compras, solicitar o envio de um e-mail com a lista de licitações que estão disponíveis no site e o valor das licitações de que os fornecedores estão participando é assíncrono porque o fornecedor não precisa ser informado de que o seu pedido foi realizado com sucesso ou não, além do fato de que este seria um processo complexo de ser implementado de forma síncrona.

IV - Um mecanismo de auditoria deve ser implementado em alguns EJBs do sistema de Compras de forma tal que sempre que os métodos de negócio destes EJBs forem chamados, um log de auditoria será gravado em uma tabela do banco de dados do sistema de Compras.

Para cada uma das necessidades acima, um analista propôs, respectivamente, as seguintes soluções:

. Implementar as interfaces remotas dos EJBs do sistema de Contabilidade que forem chamados pelo sistema de Compras, além de realizar todas as configurações e builds necessários.Como as chamadas serão remotas, os argumentos serão passados por referência para os métodos dos EJBs da Contabilidade.

. Utilizar o recurso de annotations, como por exemplo a Stateless annotation, que especifica que um EJB não pode manter o estado durante uma sessão com o cliente.

. implementar um MDB (Message Driven Bean) para tratar as requisições e o processamento do envio do e-mail, uma vez que o processo é assíncrono.

.Criar classes de interceptors para os EJBs, sendo o mecanismo de auditoria implementado nos métodos das classes de interceptors.

Sabendo-se que os EJBs do sistema de Compras seguem o padrão 3.0 e os da Contabilidade seguem o padrão 2.1, conclui-se que as soluções apresentadas pelo analista atendem às necessidades

Alternativas
Comentários
  • Acho que a solução dada pela interoperabilidade entre o sistema de Compras e o de Contabilidade está errada quando diz:"Como as chamadas serão remotas, os argumentos serão passados por referência para os métodos dos EJBs da Contabilidade."Os argumentos não serão passados por referências. Eles serão serializados, enviados via rede e, finalmente, desserializados.
  • Lousy, veja bem:

    1. A session bean can implement several interfaces or none. A business interface is a standard Java interface that does not extend any EJB-specific interfaces. Like any Java interface, business interfaces define a list of methods that will be available for the client application. They can use the following annotations:

      • @Remote: Denotes a remote business interface. Method parameters are passed by value and need to be serializable as part of the RMI protocol.

      • @Local: Denotes a local business interface. Method parameters are passed by reference from the client to the bean.