none
Sugestão solução WCF RRS feed

  • Pergunta

  •  

    Tenho o seguinte cenário :

     

    1) Diversas plantas da empresa.

    2) Cada planta irá rodar uma aplicação web (irá ser hospedada em um IIS local da planta).

    3) Essa aplicação web irá acessar alguns serviços globais (serviços hospedados em um IIS global).

     

    Gostaria de saber se esses "serviços globais" poderiam ser disponibilizados com WCF e as minhas aplicações locais possam consumí-los de forma configurável, ou seja, quando tivermos problemas para acessar o serviço global, eu possa consumir algum serviço local de emergência.

     

    A idéia é dar indenpendência para as plantas. O que vcs acham ?

    segunda-feira, 16 de junho de 2008 17:54

Respostas

  • O WCF é sim o cara que vai te salvar. Ele atende perfeitamente o cenário que você citou onde você tem um servidor global de serviços que os disponibiliza para todas as plantas. Isso é conhecido também como ESB (Enterprise Service BUS) ou simplesmente como barramento de serviços.

     

    O legal do WCF é que você pode trabalhar com endpoints. Já trabalhou com isso? Endpoints são compostos pelo "ABC do WCF" que são Address, Bindings e Contracts e isso define a forma com que o serviço será acessado (protocolo, host, porta, mensagens, encriptação, etc). Com isso você poderá expor um mesmo serviço em vários protocolos e por exemplo você deixará que uma aplicação java na planta 1 consuma um serviço usando http (mais lento) e uma aplicação .net na planta 2 utilize o mesmo serviço utilizando net.tcp como protocolo, trafegando dados binários que darão muito mais velocidade a sua aplicação.

     

    Porém tem o ponto que vai te dar um trabalhinho que é chamar esses "serviços locais de emergência". Então você precisaria implementar uma factory que identificasse se o server global está "em pé" e caso não esteja chamar o serviço em outro lugar. Você vai precisar de um roteador de serviços.

     

    Um artigo muito bom sobre o assunto foi publicado na MSDN Magazine de Jul/08. Confira em http://msdn.microsoft.com/en-us/magazine/cc546553.aspx . Se você preferir o artigo em portugues é só selecionar a lingua na própria página.

     

    Qualquer dúvida, é só perguntar.

     

    Abraços

    André Dias

    sexta-feira, 25 de julho de 2008 01:19