De que se trata o artigo

Este artigo apresenta o ambiente de desenvolvimento WebMatrix e o ASP.NET Razor como opções para construção de aplicações web que possam ser extensíveis através do consumo de dados disponibilizados por web services de aplicações terceiras.

Em que situação o tema é útil

Em cenários onde aplicações precisam, por exemplo, tomar decisões com base em informações constantes em ambientes terceiros. Como exemplo para justificar esta afirmação, podemos citar um sistema para provisionamento de câmbio. Se existe um serviço diário, de fonte confiável que disponibiliza as cotações atualizadas diariamente, é possível manter um histórico das mesmas e assim provisionar seu comportamento no futuro.

WebMatrix, Razor e WebServices

Um dos grandes problemas encontrados por desenvolvedores e arquitetos de software por muitos anos foi o compartilhamento de informações entre sistemas que funcionavam em ambientes distintos. Com o advento da internet de forma comercial e posteriormente de alguns padrões de comunicação (como o XML – eXtensible Markup Language, por exemplo e através de uma tecnologia chamada de web service) esta tarefa tornou-se consideravelmente mais simples e eficiente. Neste artigo, você será apresentado às novas tecnologias que poderão auxiliar neste processo (a saber, WebMatrix e Razor).

Introdução

Há algum tempo, quando sistemas em diferentes ambientes de execução precisavam trocar informações entre si, profissionais da área de TI eram submetidos a um “doloroso” processo: o de geração de conteúdo intercambiável. Existiam algumas metodologias (tais como: geração manual de planilhas através da exportação de metadados, documentos de texto, etc.) e algumas ferramentas (na maioria das vezes, suítes como o MS Office se apresentavam como boas opções) para realizar este procedimento.

As limitações impostas por este mecanismo de comunicação eram fortes. Apenas para citar algumas: alta taxa de erros na geração das informações, arquivos podiam ser facilmente perdidos ou corrompidos no processo de transferência, arquivos podiam ter seus conteúdos facilmente alterados ao serem interceptados, dentre outros. Não bastando às barreiras mencionadas anteriormente, existia ainda o eixo do tempo, isto é, como o processo todo era lento, a transferência dos dados de um sistema para o outro poderia demorar dias, e em alguns casos, semanas.

Algumas palavras sobre WebServices

Conceitualmente podemos definir um web service como sendo uma tecnologia que possibilita a integração entre diferentes sistemas (em diferentes ambientes de execução) através da internet de forma segura e eficiente.

De forma geral, quando um sistema X precisa utilizar informações disponíveis em um sistema Y, o que é feito é: cria-se em Y um serviço web trazendo apenas as informações a serem utilizadas por X, de modo que estas possam facilmente ser consumidas por X. Com este modelo de comunicação empresas ganham agilidade e segurança, já que não existe a intervenção humana, isto é, o processo é dinâmico.

Em relação à forma como o transporte dos dados é realizado e como a informação estará disponível, é importante observar que no final das contas para a aplicação consumidora, o que estará disponível na grande maioria dos casos é um arquivo em formato XML. A adoção de um ou de outro modelo de transporte (REST, SOAP, CORBA, etc.) é definida pela situação do problema. Neste artigo não discutiremos acerca de qual padrão adotar para cada situação.

A interoperabilidade é uma das principais características de um web service. Em um mercado heterogêneo como o de software, não faria qualquer sentido privatizar a tecnologia, sabendo que, quem define linguagem, banco de dados e demais tecnologias utilizadas não é a equipe de desenvolvimento, mas sim, o cliente. Assim, é perfeitamente possível que uma aplicação .NET consuma dados de uma aplicação Java, por exemplo, pois XML pode ser facilmente interpretado e manipulado por ambas.

Web services devem possuir uma identificação única que os permitam serem encontrados através da internet. Esta identificação é chamada URI – Uniform Resource Identifier. Mais adiante neste texto este conceito se tornará familiar.

Nota do DevMan

XML é um formato de arquivo idealizado fundamentalmente para padronizar a troca de informações entre sistemas através de armazenamento temporário de informações. Sua construção é simples e as tags são dinâmicas. XML é descrito e mantido pela W3C. Mais informações: http://www.w3.org/XML/

Modelos de comunicação e o REST ...

Quer ler esse conteúdo completo? Tenha acesso completo