EJB - Utilizando o padrão de projeto Service Locator
Para melhorarmos a forma de fazer lookup, vamos utilizar um padrão de projeto chamado Service Locator, que consiste em deixar genérica a forma como é feito o lookup do EJB.
O padrão Service Locator serve para separar a lógica envolvida no lookup das classes que precisam utilizar o EJB.
Abaixo criamos uma classe chamada ServiceLocator, está classe será responsável por fazer um lookup de forma genérica, note que a natureza desta classe é altamente coesa, ou seja seu objetivo é bem definido: Fazer o lookup do EJB.
Agora nossa classe que utiliza o EJB, não precisa mais saber como fazer o lookup do EJB, precisa apenas chamar o método buscarEJB da classe ServiceLocator passando como parâmetro a Class da interface do EJB.
Outra vantagem de utilizar o Service Locator para separar a lógica do lookup, é que podemos criar, por exemplo um Proxy para caso precisemos gravar algum log quando criar o EJB ou quando seus métodos são chamados.