Com o passar do tempo, notamos que o uso de acessos remotos não era necessário e, apenas trazia ônus ao sistema.
Decidimos então, utilizar apenas acessos locais e, deixar a aplicação servidora e cliente rodando no mesmo servidor de aplicações.
Entretanto, caso no futuro o acesso remoto seja desejável não parece ser muito custoso implementá-lo25.
Nesta nova arquitetura, o padrão Remote Adapter foi excluído. Desta maneira, a aplicação cliente precisa ter em mãos, além das interfaces ``locais'' e ``home'', as classes utilitárias26.
Na arquitetura anterior, a aplicação cliente tinha acesso às fachadas indiretamente, através dos Adaptadores Remotos. Agora, o acesso é direto, não há mais um despachante27.
Como ocorreu na arquitetura anterior, a aplicação cliente continua trocando dados dos Entity Beans com a aplicação servidora através de Value-Objects.
A seguir, a estrutura de classes utilizada. Neste caso, com execeção das classes: PessoaBean, PessoaFacadeBean, todas as outras foram geradas automaticamente pelo XDocLet.
Vale lembrar que a principal diferença entre as classes PessoaFacadeBean e PessoaAgentBean reside no fato da primeira ser um Session Bean ``Stateful''28 e a segunda ``Stateless''29.
Por ser bastante parecido com o diagrama da arquitetura anterior, não achamos necessário uma explicação mais prolongada.
![]() |