Quão Relevante é o Desenvolvimento Baseado no Primeiro Contrato Utilizando Linguagens de Marcação?
O Christian Weyer da Thinktecture, anunciou o lançamento do WSCF.blue, um Add-in para o Visual Studio que permite desenvolver web services que utilizam WCF começando do contrato.
Já faz um tempo desde que eu desenvolvi a ferramenta Web Services Contract First...
Esta ferramenta – também chamada de WSCF – (disponível tanto como uma aplicação de linha de comando quanto como um add-in para o Visual Studio) mirava na plataforma ASMX.
A ideia por trás do desenvolvimento via contrato já existe há algum tempo. A necessidade de se desenvolver com base no contrato vem da necessidade de se ter uma representação canônica da mensagem que flui para o serviço em forma de requisições de web service. O fato de que as linguagens mais populares suportam ferramentas baseadas em WSDL e XSD e representações baseadas em Schema e WSDL desses “contratos” das mensagens como ponto inicial para o desenvolvimento é sem dúvida uma boa abordagem para se ter soluções inter-operáveis.
O desenvolvimento através de contratos resolve o conflito de impedância entre objetos e XML. Uma vez que a linguagem Xml Schema é um formato de representação mais rico é fácil modelar os contratos levando-se em consideração as diferenças ao se aparar os problemas de serialização e interoperabilidade, a saber:
- Impossibilidade de se mapear certas construções da linguagem schema para, por exemplo, extensões e restrições de tipos XSD.
- Impossibilidade de se mapear ou ao menos de se mapear eficientemente certos tipos de objetos para tipos schema, como por exemplo listas genéricas, HashMaps etc.
- Impossibilidade de se representar gráficos de objetos eficientemente em XML com relações pai/filho onde o pai possui referência para o filho e o filho possui referência de volta para o objeto pai.
Algumas vantagens de se usar esta abordagem são
- Definir contratos independentes de linguagem promove interoperabilidade, contanto que os projetistas dos serviços se mantenham aderentes aos padrões de interoperabilidade WS-I
- Proporciona reuso da definição de contrato nas organizações, isto é, XSD e WSDL
- Permite versionamento controlado de serviços e presta-se eventualmente a uma melhor governança.
O WCSF.blue é um add-in para o Visual Studio 2008 e é um projeto open-source hospedado no CodePlex. As funcionalidades da ferramenta incluem:
- Um assistente para WSDL que permite que o desenvolvedor crie WSDL a partir de um ou mais XSDs.
- Um gerador de DataContract (similar ao XSD.exe, XSDObjectGen.exe e Svcutil.exe) que gera os tipos .NET equivalente aos tipos XSD.
- Um gerador de stub de service/endpoint (SVC) e
- Um gerador para o proxy cliente.
A ferramenta ainda tem uma lista de problemas conhecidos, que espera-se que serão eliminados assim que o produto sair da versão beta. A ferramenta também tem um passo-a-passo da versão 0.7 do add-in WSCF.classic que em sua maioria ainda se aplica. Dado que o Microsoft WCF suporta contratos em código, sem precisar de qualquer sinais maior (>) e menor (<), XSD ou WSDL, quão importante é ter ferramentas focadas em modelar contratos de mensagens e serviços usando WSDL e XSD?
Conteúdo educacional
Lean na Globo.com
Bernardo Heynemann 24 Mai, 2013
Mobilidade: Frameworks, SOs e o Mercado
Ricardo Ogliari 23 Mai, 2013
Caminhos de uma estratégia mobile
Sérgio Lopes 23 Mai, 2013
Complexidade organizacional no Século 21
Alexandre Magno 16 Mai, 2013

Olá visitante
Você precisa cadastrar-se no InfoQ Brasil ou Login para enviar comentários. Há muitas vantagens em se cadastrar.Obtenha o máximo da experiência do InfoQ Brasil.
Dê sua opinião