12º Reunião do Grupo .NetArchitects
No sábado(17/07), houve o 12º encontro do grupo .Net Architects. Desta vez o tema foi WCF(Windows Communication Foundation) o qual foi apresentado pelo Rafael Godinho especialista em desenvolvimento do grupo de evangelização de tecnologias da Microsoft. O Rafael abordou vários assuntos interessantes com propriedade, passando pelo básico e alternando entre conceitos e exemplos práticos, ou seja, agradou a quem não conhecia quase nada, e trouxe novos conhecimentos aos que já trabalham com esta tecnologia.
Alguns tópicos:
- O que é WCF?
- O que não é WCF?
- Definição do termo serviços
- Serviços REST com WCF
- Hospedagem de serviços WCF
- Cenários de utilização
Logo em seguida fomos para a discussão saindo de WCF, passando por ESB(Enterprise Service Bus), EAI(Enterprise Application Integration) e até por OSLO. Pena que não conseguimos gravar a discussão devido a problemas técnicos, e por isso recomendo a reunião presencial.Outro ponto positivo da discussão foi ter a oportunidade de trocar idéias com profissionais que dificilmente teríamos contato de outra forma, como o Waldemir Cambiucci, arquiteto de solução da Microsoft e MVPs como o Giovanni Bassi.
Alguns Links úteis:
E a próxima reunião será sobre OSLO com o Waldemir Cambiucci.
[]'s
Fábio Margarito
Centralizar configuração de clientes WCF
No projeto que estou trabalhando, tenho um componente que será utilizando por diversos clientes e irá realizar a chamada a um serviço WCF. Como sabemos há duas formas de criar um cliente WCF, via código, criando um ChannelFactory onde informamos o famoso trio ABC(Address/Binding/Contract), ou através do utilitário svcutil.exe(Este utilitário também é chamado quando utilizamos o Add Service Reference no Visual Studio) , que cria um Proxy e inclui no arquivo de configuração diversos nodes com as configurações obtidas no serviço. Aí o problema, não gostaríamos que cada cliente fosse obrigado a incluir em seu .config as configurações de nosso framework e caso o endereço do endpoint fosse alterado, teríamos problemas sérios para atualizar todos os clientes(e são muitos). Procurando meios de centralizar o arquivo de configuração do serviço WCF, um integrante da equipe, o Fabio Gouw, encontrou uma classe utilitária no blog do MVP Pablo M. Cibraro. Ele a criou para fazer justamente o que queríamos, basicamente você cria um ChannelFactory através de um classe que o autor criou, esta classe herda de ChannelFactory e ao instanciá-la você informa o contrato e o caminho do arquivo de configuração. Na seqüência você cria o canal, tudo muito simples. Há outras sobrecargas no método que cria o canal, como, por exemplo, informar o binding ou o endereço do endpoint. Vale à pena dar uma olhada nos fontes, o código é simples e totalmente adaptável.
Exemplo de utilização:
FwkClientChannelFactory<IContrato> oChannel = new FwkClientChannelFactory<IContrato>("Path do arquivo de configuração");
IContrato oWcfClient = oChannel.CreateChannel();
oWcfClient.NomeMetodo();
Para baixar a classe utilitária e seus fontes, utilize o link: (http://weblogs.asp.net/cibrax/archive/2007/10.aspx)
Até mais