No caso de componentes EJB, o padr�o servi�o/sess�o de fachada � conhecido simplesmente como session facade, pois na terminologia EJB o nome session � usado tanto para componentes tipo servi�o (stateless session beans) como para componentes tipo sess�o (stateful session beans). Para mais informa��es sobre esse padr�o de projeto no contexto de EJB, veja o livro EJB Design Patterns, de Floyd Marinescu (Wiley, 2002).
O arquivo VideoRental.idl, inclu�do ao final deste texto, mostra o uso de um servi�o de fachada numa aplica��o servidora voltada para v�deo-locadoras. H� tr�s tipos de entidades no servidor da v�deo-locadora:
Veja, no arquivo VideoRental.idl, que h� um relacionamento 1 para N entre Movie e MovieCopy (podem haver muitos exemplares de um filme). No lado Movie, esse relacionamento se manifesta atrav�s das opera��o getCopies. No lado do MovieCopy ele se manifesta atrav�s da opera��o getMovie.
H� tamb�m um relacionamento 1 para N entre Customer e MovieCopy (um usu�rio pode alugar muitos CDs ou fitas VHS). Note que a data de devolu��o de um �tem alugado �, conceitualmente, um atributo desse relacionamento. No lado do Customer, o relacionamento se manifesta atrav�s da opera��o getTakenMovieCopies e no lado do MovieCopy atrav�s das opera��es isRented, rentTo, unrent, getTaker e getReturnDate.
Um cliente remoto poderia desempenhar todas as suas tarefas (consultar as informa��es sobre um filme, alugar um exemplar de filme para um usu�rio, etc.) fazendo chamadas �s opera��es dos objetos CORBA que representam as entidades acima descritas. Alternativamente, pode-se fazer com que o servidor disponibilize um ``servi�o de fachada'' e escrever um cliente remoto que fa�a acesso apenas ao objeto CORBA que representa a fachada. O arquivo VideoRental.idl define tamb�m a interface RentalService, que prov� o servi�o de fachada. Note que esse servi�o usa a estrutura auxiliar MovieInfo para passar ao cliente remoto, de uma s� vez, todas as informa��es sobre um filme. O uso de estruturas auxiliares, que carregam um monte de informa��es de uma vez, tem o objetivo de reduzir o n�mero de intera��es entre servidor e seus clientes remotos. Esse � outro padr�o de projeto, conhecido como data transfer object (DTO) e bastante usado em sistemas distribu�dos. O livro EJB Design Patterns (citado anteriormente) cont�m mais informa��es sobre esse padr�o no contexto de EJB.