>
> Por mim, para atingir os objetivos do Business Delegate, deveria ser:
>
> Cliente ------> BusinessDelegate1 ------> WebserviceClient
> Impl------->SOAP----> JAX-RPC webservice endpoint -----> SessionBean
> ------> EntityBean
Ae vc esqueca que o JAX-RPC endpoint j� � a camada de apresenta��o, rodando como servlet no seu JSP/Servlet engine.
A ideia de um Business Delegate � a separa��o da camada de negocios (EJB no caso) da camada de apresenta��o (JSP/Servlet, Swing etc. WebService deve ser considerada a camada de apresenta��o.
Ver no EJB Design Patterns do Marinescu, P 99
'A business delegate is a plain java class that serves as an intermediary between client and server. Clients locally invoke messages on the bussiness delegate, which than usually directly delegates to a method with the same signauture on the session fa�ade (...) Business delegates map 1-to-1 to session beans on the session fa�ade(...)'
A coisa de webservices � que � similar ao web mesmo, so que manda e retorna soap. Vc n�o sabe o que ser� seu 'client'. Pode ser at� uma aplica��o VB (arrggg). Pelo ponto de visto de modelagem e camadas ent�o, os webservices s�o considerados 'clientes'. N�o preciso faze nada mais do que definir o SOAP que quero receber e vou mandar, gual HTML so que no web, a entrada � predefinida pelo padr�o HTTP.
Se fize do seu jeito seus webserviced developers derepente tem que saber o API de EJB tamb�m, se o jaxrpc endpoint chama o BD, isso � tudo encapsulado, que � exatamente a raz�o de uso de BD.
> Ele n�o quer utilizar o BD para evitar altera��es na camada neg�cio
> quando a camada cliente muda, como vc fez. Ele quer evitar alterar o
> cliente quando a camada de neg�cios sofrer altera��es.
Sim, exatamente, O business delegate faz isso, a interface fica igual mas a camada de negocios muda (troca de DAO por EJB por exemplo).
> A abordagem que vc fez � a de que o BD seja um simples proxy do
> Session, quando eu acho que ele deveria ser algo mais. Ser apenas um
> proxy � papel de um Client Facade. IHMO, Business Delegate = Client
> Facade + Service Locator
N�o o BD pode, mas nem precisa ser usada com Service Locator.
>
> Veja o que diz a documenta��o do BD: " Potentially, this (Business
> Delegate) reduces the number of changes that must be made to the
> presentation-tier client code when the business service API or its
> underlying implementation changes." (from http://java.sun.
> com/blueprints/corej2eepatterns/Patterns/BusinessDelegate.html)
Mas � exatamente por isso que o Business delegate deve ficar atras do webservice endpoint e n�o dentro da aplica��o cliente
A aplica��o Cleinte (swing)) � cliente dos webservices, o webservice layer � cliente do business layer.
- Re: [enterprise-list] Busi... Emerson Cargnin - SICREDI Servi�os
- [enterprise-list] Reportin... Thiago - Datasus
- Re: [enterprise-list] Business... Vin�cius de Faria Silva
- Re: [enterprise-list] Business... Ale!
- Re: [enterprise-list] Busi... sven
- Re: [enterprise-list] ... Ale!
- Re: [enterprise-l... Maykel Tres
- Re: [enterpri... Emerson Cargnin - SICREDI Servi�os
- Re: [enterpri... sven
- Re: [enterpri... Maykel Tres
- Re: [enterprise-l... sven
- Re: [enterpri... Ale!
- Re: [enterpri... sven
- Re: [enterpri... Ale!
- Re: [enterprise-l... Vin�cius de Faria Silva
- Fw: [enterprise-list] Business Delegato... Bruno Copelli
