Você está na página 1de 69

UNIVERSIDADE DE SÃO PAULO

ESCOLA DE ARTES, CIÊNCIAS E HUMANIDADES

SERVIÇOS WEB – COM VISUAL STUDIO 2008


Tutorial: Criando e consumindo um Serviço Web usando o Visual
Studio 2008

Fabrício da Rocha Silva

São Paulo
2008
Fabrício da Rocha Silva

SERVIÇOS WEB – COM VISUAL STUDIO 2008


Tutorial: Criando e consumindo um Serviço Web usando o Visual
Studio 2008

Tutorial sobre a criação e


consumo de um Serviço Web em
uma rede ponto-a-ponto usando o
Visual Studio 2008.

São Paulo
2008
RESUMO

O presente trabalho tem como objetivo apresentar um panorama geral sobre


a discussão que envolve a criação e o consumo de um Serviço Web, usando as
ferramentas disponibilizadas pelo Visual Studio 2008, bem como seu uso em uma
rede ponto-a-ponto na forma de um tutorial.

Esse tutorial é resultado dos trabalhos de um projeto do programa Ensinar


com Pesquisa da Universidade de São Paulo, sob orientação do professor Doutor
Marcelo Fantinato, do curso de Sistemas de Informação.

Palavra(s)-chave: Serviço Web, Visual Studio.


LISTA DE ILUSTRAÇÕES

Quadro 1 – Softwares necessários para esse tutorial ............................................... 16


SUMÁRIO

1. Introdução ............................................................................................................... 5
1.1 Objetivos do Tutorial .......................................................................................... 6
1.2 Estrutura do Tutorial .......................................................................................... 6

2. Visão Geral de Serviços .......................................................................................... 8


2.1. XML .................................................................................................................. 8
2.2. SOAP ................................................................................................................ 9
2.3. WSDL ............................................................................................................... 9
2.4 UDDI ................................................................................................................ 11
2.5 Sintetizando os conceitos de Serviço Web ...................................................... 13

3. Arquitetura Orientada a Serviços .......................................................................... 14

4. Preparação dos recursos necessários para criar e executar um Serviço Web ..... 16
4.1 Instalação do Visual Studio 2008 .................................................................... 17
4.2 Instalação do Internet Information Server (IIS) ............................................... 23
4.2.1 Agregar componentes Adicionais do Windows ......................................... 24
4.2.2 Acessar o Servidor Web............................................................................ 27
4.3 Configuração ponto-a-ponto de rede no Windows XP .................................... 27

5. Criando um Exemplo Prático de Serviço Web....................................................... 37


5.1 Criando um Serviço Web ................................................................................. 37
5.2 Codificando o Serviço Web.............................................................................. 43
5.2.1 Explicando o código .................................................................................. 43

6. Acessando o Serviço Web usando outro programa em uma rede ........................ 49


6.1 Instanciando e codificando o WebService ....................................................... 63
6.1.1 Explicando o código .................................................................................. 64

7. Referências Bibliográficas ..................................................................................... 68


1. Introdução

As aplicações de Internet para interação com o usuário crescem rapidamente.


Muitas linguagens e opções de tecnologia podem ser utilizadas, pois a interação
com o usuário passa pelo entendimento e capacidade de utilização de uma interface
gráfica enriquecida por recursos de cor, animação etc. Temos neste caso a
inteligência humana capaz de interagir e “navegar” pelo programa (site) para obter a
informação desejada [2].

Aplicativos e sistemas corporativos precisam comunicar-se, via Internet,


trocando dados. O modelo de aplicação anteriormente citado demonstra-se
inadequado para o relacionamento entre parceiros de negócios que precisam
cooperar entre si trocando, de modo automatizado e confiável, grandes volumes de
informações [2].

Ao cogitarmos a adoção deste modelo de aplicação para tal relacionamento,


estaríamos retornando ao velho modelo do mainframe, só que atualizado para a
tecnologia de Internet. Cada parceiro, por sua vez, disponibilizaria a sua aplicação
para o outro “digitar” e obter o que fosse necessário para a realização de transações
e negócios [2].

Entre dezenas de possibilidades, a Internet pode ser usada para que


governos e empresas interajam entre si, reduzindo custos de modo a possibilitar
maior facilidade e rapidez na troca de informações. A demanda atual é a
disponibilização de meios para que as aplicações de governo e corporativas
obtenham na web informações que necessitam para consolidar resultados [2].

Para que duas aplicações ou sistemas corporativos passem a trocar


informações via Internet, faz-se necessário que os parceiros envolvidos estabeleçam
acordo de aderência mútua em torno de um modelo, adaptando-se ao mesmo para
concretização da comunicação intersistemas [2].

5
Este processo de adaptação, em alguns casos, exige exaustivo esforço
colaborativo, exercido através de intermináveis reuniões, contatos via e-mail, teste e
outros expedientes da interação humana [2].

Existem, atualmente, algumas soluções que podem permitir o alcance deste


objetivo. Entre essas, a tecnologia de serviços Web, que permitem a interação entre
aplicações sem que haja o contato humano [2].

Na grande maioria dos casos, onde se deseja utilizar serviços Web, inexiste
padronização das estruturas de informática entre os participantes, permitindo que
cada entidade adote suas próprias soluções de tecnologia e construa seus acervos
de dados (chamados por vezes de banco de dados). Essa realidade generalizada
propiciou condições ideais para a instalação do caos, que poderíamos chamar,
modernamente, de heterogeneidade. O que para alguns pode parecer um desastre,
para a tecnologia de serviços Web torna-se oportunidade [2].

Assim, a tecnologia de serviços Web, aliada aos padrões estabelecidos da


Internet, pode fazer com que dados fluam entre as várias entidades, desde que haja
esforço concentrado para que a semântica destes dados possa ser transformada em
informações útil para o conjunto de entidades envolvidas [2].

1.1 Objetivos do Tutorial

Esse tutorial tem como objetivo descrever os principais componentes de infra-


estrutura necessários para se criar e consumir um serviço Web em uma rede (nesse
caso específico, uma rede ponto-a-ponto) usando como ferramenta de
desenvolvimento o Visual Studio 2008 através de exemplos práticos.

1.2 Estrutura do Tutorial

Do ponto de vista estrutural, este tutorial organiza-se em seis seções que


terão seus assuntos apresentados a seguir.

6
Na seção 1, introdutória, é apresentado o contexto geral em que o assunto
deste tutorial esta inserido, bem como suas motivações e objetivos.

Na seção 2 é apresentada uma visão geral sobre os serviços Web, bem como
uma breve descrição sobre suas principais tecnologias envolvidas, ou seja, XML,
SOAP, WSDL, UDDI.

Na seção 3 é apresentada a Arquitetura Orientada a Serviços (SOA) que é


base para um dos princípios fundamentais dos serviços Web.

Na seção 4 é apresentada a preparação dos recursos necessários para que


seja possível criar e executar o exemplo prático de serviço Web desse tutorial.

Na seção 5 é apresentada a execução de um exemplo prático de serviço Web


usando o Visual Studio 2008.

Na seção 6 é apresentada a maneira de acessar o serviço Web usando outro


programa em uma rede.

7
2. Visão Geral de Serviços

Serviços Web são componentes de software independentes de plataforma e


de implementação. Eles podem ser considerados como a união da infra-estrutura da
internet com a rápida comunicação da linguagem XML. Seu uso permite a
disponibilização de funcionalidade de uma aplicação por meio da internet, de uma
forma padronizada. Aplicações que não podem ser acessadas exceto por meio de
protocolos rígidos e proprietários, agora são acessíveis via Web [5].

Os serviços Web representam um fragmento de informação que pode ser


acessado por qualquer um, em qualquer lugar, usando qualquer tipo de dispositivo.
O consumidor dessa informação pode ser tanto uma pessoa acessando o serviço
por meio de um cliente browser ou de uma aplicação desktop, ou até mesmo de um
celular, usando o mesmo serviço Web [5].

Baseados em XML e em linguagens de especificação abertas como WSDL,


UDDI e SOAP, os serviços Web apresentam-se como uma das possibilidades para a
implementação do compartilhamento de recursos e a integração entre sistemas
corporativos empregando a internet como meio de comunicação. Suas três principais
vantagens estão embasadas no fato de funcionarem sobre padrões estabelecidos na
internet (XML, HTTP, TCP/IP), no baixo acoplamento e na heterogeneidade entre as
partes que pretendem interagir [2].

A seguir, estão descritas de maneira sucintas as tecnologias citadas acima.

2.1. XML

A inspiração para o projeto de XML veio de duas fontes distintas: SGML


(Standard Generalized Markup Language) e HTML (Hypertext Markup Language)
[12] Apud [2]. A versão 1.0 de XML foi disponibilizada pelo W3C (World Wide Web
Consortium) em 10 de fevereiro de 1998, porém o projeto da linguagem foi iniciado
em meados de 1996, com o objetivo de produzir um mecanismo simples e extensível
para a representação textual de informação estruturada e semi-estruturada [2].

8
A linguagem XML – abreviatura para eXtensible Markup Language ou, em
português, – Linguagem de Marcação Extensível – é uma linguagem definida
principalmente para carregar dados e facilitar a compreensão do seu significado. É
bastante semelhante ao HTML, pois assim como este, é composto por tags, mas
apresenta um diferencial onde essas tags não são previamente definidas sendo
possível que o usuário crie suas próprias [6].

2.2. SOAP

Na arquitetura de serviços Web, o protocolo básico padrão de fato para


comunicação entre duas partes é o SOAP (Simple Object Acess Protocol) [11] Apud
[2]. Estabelecendo-se como protocolo básico de mensagens para serviços Web,
outras especificações que agregam facilidades e estendem possibilidades de uso do
SOAP são construídas e definidas sobre o mesmo [2].

SOAP é um protocolo baseado em XML. A principal inovação introduzida por


SOAP na computação distribuída é a possibilidade de comunicação efetiva entre
sistemas distribuídos estabelecidos sobre conjuntos de software e hardware
heterogêneos [11] Apud [2]. SOAP foi projetado num contexto em que as
possibilidades para sistemas distribuídos caracterizavam-se por soluções baseadas
em forte acoplamento entre as partes [2].

2.3. WSDL

A pilha de tecnologia relacionada a serviços Web, introduzida em [12] Apud


[2], denominada Pilha de Descrição de Serviço, fornece uma noção da camada
destinada à descrição e composição de serviços. A tecnologia WSDL (Web Service
Description Language) tem a função de descrever serviços Web de modo a
preencher lacunas principais como: informar ao consumidor o que o serviço executa;
como o consumidor pode invocar o serviço; e como o consumidor pode diferenciar
serviços similares, oferecidos por diferentes fornecedores [2].

9
O W3C (World Wide Web Consortium) oferece a seguinte definição para
WSDL: “WSDL constitui-se em um formato XML para descrição de serviços de rede,
como conjunto de pontos de acesso, disponibilizando mensagens com informações
que podem ter conteúdo orientado a documento ou conteúdo orientado a
procedimento. Operações para obter as mensagens, e as mensagens em si, são
descritas de forma abstrata e ligadas concretamente ao protocolo de rede e ao
formato da mensagem para definir o ponto de acesso, relacionando os pontos de
acesso concreto com pontos de acesso abstratos (serviços). WSDL é extensível
para permitir a descrição de pontos de acesso e suas mensagens por meio de
formatos flexíveis para a mensagem e do protocolo de rede usado para comunicar.
Entretanto, somente as ligações descritas neste documento indicam como empregar
WSDL em conjunto com SOAP 1.1, HTTP GET/POST e MIME.” Em resumo, a
função principal do WSDL é permitir que o cliente interessado em usar um serviço
Web possa fazê-lo de forma automática, sem que seja necessário intervenção ou
contato com o criador do mesmo [2].

A seguir são descritos brevemente alguns dos principais elementos de um


documento WSDL.

Um documento WSDL completo consiste em um conjunto de definições


começando com o elemento raiz definitions seguido por seis definições de
elementos individuais: types, message, portType, binding, port, service – que
juntamente descrevem os serviços. Esses elementos são descritos a seguir:

• types: define os tipos de dados contidos nas mensagens trocadas como parte
do serviço. Os tipos de dados podem ser simples, complexos, derivados, ou
tipos vetoriais (array). Os tipos, ou as definições de esquema, ou as
referências, mencionados em um elemento de mensagem de um documento
WSDL, são definidos dentro do elemento do documento WSDL;

• message: define as mensagens que o serviço Web troca. Um documento


WSDL possui um elemento message para cada mensagem trocada, e o
elemento message contém os tipos de dados associados com a mensagem;

10
• portType: especifica, de uma maneira abstrata, operações e mensagens que
fazem parte do serviço Web. Um documento WSDL possui uma ou mais
definições de portType para cada serviço Web que define;

• binding: liga o tipo de porta abstrata, e suas mensagens e operações, a um


protocolo de transporte e aos formatos da mensagem.

• service e port: juntos definem o nome do serviço Web e, fornecendo um


único endereço para ligação, atribuem um ponto final individual ao serviço.
Uma porta pode ter somente um endereço. O elemento service agrupa portas
relacionadas em conjunto e, por meio de seu atributo name, fornece um nome
lógico para o serviço.

Essa descrição é para um documento WSDL simples. Cada definição de


elemento possui vários atributos e a WSDL possui recursos adicionais, tais como o
tratamento de falhas. Maiores detalhes sobre as especificações da WSDL podem ser
encontradas em http://www.w3c.org/TR/wsdl [7].

2.4 UDDI

Como solução para muitos problemas encontrados na consecução de


negócios empregando a internet em B2B (Business to Business), a indústria de
software, liderada pelas empresas Ariba, IBM e Microsoft, definiu UDDI (Universal
Description Discovery Interface), a primeira iniciativa implementada e mantida pela
própria indústria, por meio de corporações, vendedores de software e consórcios de
segmentos da indústria e comércio [11] Apud [2]. UDDI foi criada para oferecer
soluções rápidas para muitas das questões e empecilhos que limitam a rápida
adoção do comércio via internet [11] Apud [2]. Ao contrário de SOAP e WSDL, que
são capitaneadas e mantidas pelo W3C, a especificação UDDI é independente e
mantida por um grupo de empresas do mundo dos negócios [11] Apud [2].

Constituindo-se em um conjunto de especificações, UDDI define o que deve


ser feito e como deve ser feito, independentemente de plataforma, para que

11
empresas de negócio possam: descrever publicamente seus serviços Web
disponíveis; localizar outros serviços Web de seu interesse; e compartilhar
informações sobre pontos convergentes em um registro global [11] Apud [2]. Do
ponto de vista operacional, UDDI pode ser entendido como mecanismo que
possibilita as organizações localizarem outras organizações e conduzirem
transações de negócios de forma muito rápida, empregando padrões estabelecidos
e aceitos por todos os participantes [11] Apud [2]. Por analogia, poderia ser um
grande mercado virtual de possibilidades para negócios [2].

No segmento da indústria, que deu origem ao UDDI, o objetivo constitui-se


em acomodar nesta especificação as seguintes características que devem atender
as necessidades do B2B: descobrir o padrão mais adequado para a condução de
negócios na internet, entre os milhões de padrões que existem hoje; criar um padrão
aceito firmemente pela indústria, com uma abordagem padronizada que possa
realmente chegar a atender a parceiros e clientes em termos de informação sobre
serviços fornecidos e consumidos, que possa transformar-se em método preferencial
para a integração entre sistemas e aplicações diferentes; e, caracterizar como
transações de negócios são usadas no comércio, de modo que um parceiro
preferencial possa ser selecionado por meios eletrônicos [11] Apud [2].

Muitos problemas do B2B encontram solução no UDDI. Pela perspectiva da


aplicabilidade final, para corporações usuárias desta especificação, com UDDI é
possível a um negócio encontrar um potencial parceiro, independentemente da
escolha de padrões tecnológicos e/ou protocolos [11] Apud [2].

12
2.5 Sintetizando os conceitos de Serviço Web

Um Serviço Web é uma classe escrita em uma linguagem suportada por


várias plataformas, inclusive pela .NET a qual será utilizada para as implementações
práticas desse tutorial. Dessa forma, para que sejam sintetizados os principais
conceitos dessa tecnologia será transcrito logo abaixo um artigo escrito por Renato
Haddad que é Microsoft Most Valuable Professional ASP.NET.

Um Serviço Web é uma classe escrita em uma linguagem suportada


pela plataforma .NET que pode ser acessada via protocolo HTTP. Isso
significa dizer que você pode acessar qualquer Serviço Web disponível na
Web e utilizar todas as funcionalidades do mesmo.
O acesso sempre será via HTTP, mas internamente existe uma string
XML que está empacotada em um protocolo SOAP (Simple Object Access
Protocol). O SOAP é um padrão aberto criado pela Microsoft, Ariba e IBM
para padronizar a transferência de dados em diversas aplicações, por isso,
se dá em XML.
O uso de Serviço Web simplesmente é fantástico porque você pode
acessar rotinas de validação de cartão de crédito, endereçamento postal
(CEP), calcular valores de fretes dos sites de comércio eletrônico, news de
empresas, enfim, uma gama gigantesca de produtos. A grande diferença em
relação ao desenvolvimento atual é que a empresa que desenvolve uma
DLL, não precisa ficar distribuindo para todos os clientes, esta estará
armazenada em um único lugar que será acessado via HTTP. Isso sem falar
em atualizações de DLL atuais, o que pode causar um transtorno para
todos.
Outra vantagem é que o Serviço Web é transparente para o Firewall
de uma empresa, pois, como é uma string XML, então é interpretada como
um arquivo "texto". Sendo assim, não é preciso pedir autorização do
Firewall para entrar [4].

13
3. Arquitetura Orientada a Serviços

Um dos princípios fundamentais dos serviços Web está na sua concepção


baseada em SOA – Service Oriented Architecture, que tema função de coordenar o
relacionamento e as principais características dos componentes de modo a oferecer
suporte dinâmico à pesquisa e ao uso automatizado desses [3] Apud [2].

Em um ambiente orientado a serviços, serviços devem ser projetados para


desempenhar as seguintes atividades assenciais: possuir interfaces e métodos
definidos claramente, ser publicados em uma intranet ou em vários repositórios da
internet, para que seus potenciais usuários possam localizá-los de forma automática.
Devem ainda oferecer algum benefício ou agregar algum tipo de valor ao serem
acionados e possuir gerenciamento de desativação quando não forem mais
necessários ou sofrerem obsolescência [3] Apud [2].

Os componentes de uma arquitetura SOA, e portanto de um serviço Web


elaborado a partir dela, podem desempenhar um ou mais dos seguintes papéis:

• Provedor de acesso: que publica e disponibiliza o ponto de acesso onde se


pode obter o serviço;

• Corretor, o diretório do serviço: onde se publica; entidade onde se anuncia


e descrevem os serviços disponíveis nos provedores, uma entidade que
funciona como um catálogo onde procura um serviço específico;

• Consumidor, o solicitante: entidade que procura por um serviço no corretor,


no diretório, e ao encontrar esse serviço, dirigi-se ao provedor do serviço para
consumi-lo [3] Apud [2].

Esses três componentes devem executar três operações básicas entre si: 1)
operação de publicação, ou seja, de registro do serviço, dos métodos e da interface
no corretor; 2) operação de busca, ou seja, de consulta do corretor pelo consumidor
que está interessado em encontrar o serviço; e, 3) operação de consumo do serviço
a partir do consumidor que pode usufruir o serviço disponibilizado pelo provedor [3]
14
Apud [2]. A Figura 2.1 apresenta a arquitetura SOA, com seus respectivos
componentes.

Figura 3.1 – Arquitetura SOA


(http://researchweb.watson.ibm.com/journal/sj/412/leymann.html)

15
4. Preparação dos recursos necessários para criar e
executar um Serviço Web

O objetivo dessa seção é executar a instalação dos recursos necessários


para iniciar a criação de um exemplo prático e simples de um serviço Web utilizando
o Visual Studio 2008, bem como detalhar cada etapa de execução conforme
mencionado anteriormente.

Dessa forma, são primeiramente apresentados na Tabela 1 os softwares, e as


respectivas versões, usados para realizar esse exemplo prático.

Tabela 1 – Softwares necessários para esse tutorial

QUADRO SÍNTESE DOS SOFTWARES USADOS


Microsoft Windows XP Professional versão 2002 Service Pack 3
Microsoft Visual Studio 2008
Internet Information Services (IIS6) Manager
Internet Explorer 8

As etapas a serem cumpridas nesta seção são:


1. Instalação dos softwares necessários;
2. Instalação de outros recursos necessários, tais como a rede ponto-a-
ponto;
3. Configuração dos recursos necessários para funcionalidade desta
execução;

16
4.1 Instalação do Visual Studio 2008

Existem várias maneiras para se intalar o Visual Studio, A seguir é apenas


sugerida uma maneira possível, baseada no exemplo extraído de [3]:

Passo 1: Efetuar o download do arquivo iso que contém a imagem do Visual


Studio 2008 (versão Trial para 90 dias), navegando até o endereço:
http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx.

Passo 2: Nesta página escolher a versão “Professional”. Após a escolha da


versão, efetuar o login com um passport account, e preencher um pequeno
formulário, para ter acesso ao link de download conforme apresentado na Figura
4.1.1.

Figura 4.1.1 – Página de download do vs 2008 beta 2 professional edition.

Passo 3: Depois de preencher todos os campos do formulário exigido, chega-


se à página anterior, conforme apresentado na Figura 4.1.1, onde se pode
finalmente efetuar o download do Visual Studio 2008, contido num arquivo de
imagem com aproximadamente 3 Gygabytes. Após algum tempo de download, deve-
se ter o arquivo orcasbeta2proxxxxxxxx.img no PC.

Passo 4: Renomear a extensão do arquivo de “.img” para “.iso”, para que os


programas de emulação ou de gravação consigam reconhecer o arquivo como um
arquivo de imagem (imagem de um DVD).

17
Passo 5: Agora têm-se duas hipóteses, ou se grava o arquivo em um DVD,
usando por exemplo o aplicativo Nero, usando a funcionalidade de gravação de DVD
a partir de um arquivo de imagem, ou emula-se o DVD por meio de um aplicativo tal
como Alcohol ou Daemon Tools (Freeware). A partir daqui os passo são iguais, quer
tenha-se gravado num DVD ou emulado o arquivo.

Passo 6: Assim que o DVD tenha sido introduzido, o instalador é executado


automaticamente. Na tela inicial basta clicar no link “Install Visual Studio 2008” para
que a instalação se inicie conforme a Figura 4.1.2.

Figura 4.1.2 – Tela inicial de instalação do visual studio 2008.

18
Passo 7: Depois deste tela, surge uma tela intermediária onde é questionado
se deseja ajudar a Microsoft na detecção de bugs e possíveis problemas da versão
beta. Como sugestão, desmarcar a caixa de seleção dessa tela conforme
apresentado na Figura 4.1.3.

Figura 4.1.3 – Tela intermediária de ajuda na detecção de erros.

Passo 8: Na tela seguinte, o sistema é inspecionado para verificar quais os


pré-requisitos que são necessários antes de instalar o Visual Studio 2008. Nesse
caso, não foi necessário instalar nada, como se pode ver pela imagem da Figra
4.1.4. A chave é introduzida automaticamente.

Figura 4.1.4 – Análise do sistema e chave do produto.

19
Passo 9: Escolher o diretório de instalação e o tipo de instalação conforme
apresentado na Figura 4.1.5:

Default – Recomendado || Full – Completa || Custom – Personalizada

Figura 4.1.5 – Tipo e diretório de instalação.

Passo 10: Como sugestão, selecionar a opção “Custom”, pois como alguns
componentes não são necessários, pode-se decidir quais devem ser instalados,
poupando espaço de instalação. Na tela seguinte, pode-se escolher os componentes
que deseja-se instalar conforme apresentado na Figura 4.1.6.

Figura 4.1.6 – Escolha de componentes de instalação.

20
Passo 11: Nesse caso, como não será desenvolvido nenhuma aplicação em
C++ nem em Visual Basic, sugere-se retirar esses componentes do procedimento de
instalação, no entanto, deve-se escolher os componentes de acordo com as
necessidades. Clicar em “Next” para iniciar a instalação conforme apresentado na
Figura 4.1.7.

Figura 4.1.7 – Instalação do visual studio 2008.

21
Passo 12: Durante a instalação do Visual Studio 2008, são apresentadas
mensagens descritivas das novas funcionalidades que possui, como a que se pode
ver na Figura 4.1.7, onde se evidencia o suporte melhorado para AJAX. Quando a
barra de progresso chegar ao fim, tem-se o Visual Studio 2008 beta 2 instalado no
computador e quase pronto para ser usado conforme apresentado na Figura 4.1.8.

Figura 4.1.8 – Finalização da instalação do vs 2008.

Passo 13: Após terminado a instalação do Visual Studio 2008, ainda é


necessário executar um pequeno script para efetuar a correcção de um bug desta
versão beta, que causa problemas de incompatibilidade entre a nova Framework
.NET 3.5 e aplicações desenvolvidas com ASP.NET AJAX 1.0. O download do script
pode ser efetuado a partir do endereço: http://go.microsoft.com/fwlink/?linkid=95792.

Por se tratar de um executável simples, basta executá-lo, e o bug é corrigido


automaticamente.

Com isso, tem-se a instalação do ambiente de desenvolvimento concluída [3].

22
4.2 Instalação do Internet Information Server (IIS)

As informações desse e das próximas seções sobre IIS foram baseadas na


referência [1].

Internet Information Server ou “Services” (IIS) é o servidor de páginas Web


avançado da plataforma Windows. É distribuído gratuitamente junto com as versões
de Windows baseadas em tecnologia NT, como Windows 2000 Profissional ou
Windows 2000 Server, assim como Windows XP, também em suas versões
Profissional e Server.

As normas de instalação do IIS apresentadas aqui são aplicáveis em nível


geral, podendo ser encontradas nas distintas versões dos sistemas operacionais
comentados acima. Porém, o Windows XP Profissional foi usado para relatar os
passos e obter as imagens das telas apresentadas nas figuras a seguir.

Nota: Windows 95, 98, as versões Home, de Windows XP, e ME, de Windows 2000,
não se admite a instalação de IIS. No lugar dele pode-se experimentar instalar o
Personal Web Server, que está explicado no artigo Instalação de Personal Web
Server em [1].

23
4.2.1 Agregar Componentes Adicionais do Windows

IIS pode ser encontrado no próprio CD de instalação do Windows XP


Profissional. É necessário acessar a opção "Instalar componentes opcionais do
Windows" para poder carregá-lo no sistema. Para isso têm-se duas opções:

Opção 1: Inserir o CD de instalação de Windows e na janela que se mostra


para iniciar a instalação, selecionar a opção "Instalar componentes opcionais do
Windows" conforme Figura 4.2.1.1.

Figura 4.2.1.1

24
Opção 2: No Painel de controle, selecionar a opção de "Adicionar ou remover
programas" e, na janela que surgir, clicar sobre o ícone da esquerda marcado como
"Adicionar ou remover componentes de Windows" conforme figura 4.2.1.2.

Figura 4.2.1.2

A janela para selecionar os componentes adicionais de Windows que estão


disponíveis é apresentada. Na lista, marcar a opção "Serviços de Internet
Information Server (IIS)". Por padrão, estão selecionados alguns componentes,
dentro dos quais se oferecem a instalação de IIS. Escolhe-se os componentes que
se deseja instalar, clicando no botão chamado de "Detalhes". Entre os possíveis
componentes se encontram as extensões de FrontPage, documentação, serviços
adicionais de IIS, um servidor de FTP (para a transferência de arquivos com o
servidor por FTP), inclusive de SMTP (para o envio de correios eletrônicos).

25
Nesse caso, pode-se deixar as opções como aparecem a princípio conforme
a Figura 4.2.1.3, pois na maioria dos casos são válidas. Pode ser adequado não
instalar as extensões de FrontPage, nesse caso.

Figura 4.2.1.3

Uma vez instalado os componentes desejados, clicar no botão de "Avançar"


para começar a instalação, que demorará uns minutos [1].

26
4.2.2 Acessar o Servidor Web

Para se comprovar que foi instalado corretamente o IIS, pode-se acessar o


servidor Web. Para isso, escrever http://localhost na barra de endereço do
navegador Internet Explorer que deverá aparecer uma página Web informando que
o IIS está corretamente instalado (certifique-se de que esteja logado como
administrador da máquina). Além disso, se ele tiver sido instalado corretamente,
aparecerá a documentação do IIS em uma janela conforme a Figura 4.2.2.1 [1].

Figura 4.2.2.1

4.3 Configuração ponto-a-ponto de rede no Windows XP

As informações desse tópico foram baseadas na referência [8].

Nessa seção, são descritos os passos necessários para se configurar uma


rede ponto-a-ponto entre dois micros com Windows XP, totalmente manual e sem
auxílio de nenhum software ou assistente. Uma rede ponto-a-ponto faz a ligação
direta entre dois computadores por meio de um cabo ligando suas respectivas
placas de rede, sem o uso de uma intranet.

27
Para realizar essa configuração, será necessário estar de posse de:
• Um cabo de rede CrossOver conforme a Figura 4.3.1. O cabo CrossOver
serve para ligar dois computadores diretamente, sem HUB ou SWITCH;
• Dois computadores com suas placas de rede devidamente em
funcionamento.

Figura 4.3.1 – Cabo CrossOver

Passo 1: Clicar com o botão direito do mouse em cima do ícone “Meu


Computador” e depois em “Propriedades” para especificar o nome do computador
um, conforme apresentado na Figura 4.3.2.

Figura 4.3.2

28
Passo 2: Na guia “Nome do Computador” especificar um nome e um grupo
ao computador como na Figura 4.3.3. Clicar em alterar e especificar nos campos
próprios para mudar o nome do computador e o Grupo. O nome do grupo terá que
ser igual em ambos os computadores.

Figura 4.3.3

29
Passo 3: Repetir o procedimento acima no segundo computador conforme
apresentado na Figura 4.3.4.

Figura 4.3.4

30
Passo 4: Para configurar os IPs das máquinas, executar o seguinte
procedimento: com o Computador 1, entre em “Painel de Controle” > “Conexões de
rede”, clicar com o botão direito do mouse no ícone da placa que representa a placa
que está ligando os computadores e depois em propriedades conforme apresentado
na Figura 4.3.5.

Figura 4.3.5

Passo 5: Clicar sobre o Protocolo TCP/IP e depois em Propriedades


conforme apresentado na Figura 4.3.6.

Figura 4.3.6

31
Passo 6: Marcar a Opção “Usar o seguinte endereço de IP” e especificar os
valores conforme apresentado na Figura 4.3.7.

Figura 4.3.7

32
Passo 7: Clicar no botão “Avançado” na parte inferior dessa janela, e depois,
na guia “WINS”, marcar a opção “Ativar NetBios sobre TCP/IP”, e por fim, clicar no
botão OK conforme apresentado na Figura 4.3.8.

Figura 4.3.7

33
Passo 8: Para configurar o segundo computador, executar o seguinte
procedimento: entrar em “Painel de Controle” > “Conexões de rede”, clicar com o
botão direito do mouse no ícone “rede” e depois em “propriedades”, conforme
apresentado na Figura 4.3.8.

Figura 4.3.8

Passo 9: Clicar sobre o “Protocolo TCP/IP” e depois em “Propriedades”,


conforme apresentado na Figura 4.3.9.

Figura 4.3.9

34
Passo 10: Marcar a Opção “Usar o seguinte endereço de IP” e especificar os
valores conforme apresentado na Figura 4.3.10.

Figura 4.3.10

Passo 11: Clicar no botão “Avançado” na parte inferior dessa janela,


conforme apresentado na Figura 4.3.10.

35
Passo 12: Na guia “WINS” marcar a opção “Ativa NetBios sobre TCP/IP” e
clicar em OK, conforme apresentado na Figura 4.3.11.

Figura 4.3.11

36
5. Criando um Exemplo Prático de Serviço Web

O objetivo dessa seção é iniciar a criação propriamente dita de um serviço


Web usando o Visual Studio 2008.

O exemplo a seguir bem como algumas demonstrações das próximas seções


foram extraídos e adaptados de [5].

5.1 Criando um Serviço Web

Como o serviço Web será executado em uma rede, deve-se criar este serviço
em apenas uma das máquinas, que será considerada como servidor web.

Para a implementação do serviço Web, a linguagem C#.NET será usada, ou


seja, o arquivo de código-fonte será criado com a extensão.cs.

Agora será exibido como criar o primeiro serviço Web usando o Visual Studio
2008.

37
Passo 1: Executar o Microsoft Visual Studio 2008, clicar em File > New
Project. Será apresentada a tela com os templates do Visual Studio conforme Figura
5.1.1.

Figura 5.1.1

Passo 2: Escolher a opção para criar o serviço Web conforme é apresentado


na Figura 5.1.1. Selecionar a opção “ASP.NET serviço Web Application”, preencher
os dados conforme indicado na Figura 5.1.1. O Visual Studio criará primeiramente a
sua aplicação no IIS (Internet Information Service).

38
Passo 3: O projeto ficará semelhante a Figura 5.1.2, com exceção de alguns
componentes:

Figura 5.1.2

A Figura 5.1.2 mostra apenas depois que foi criado o projeto no Visual Studio
2008. Na Figura 5.1.3, será criado um arquivo chamado “servico.asmx”, essa é a
extensão do arquivo para o Serviço Web.

39
Passo 4: Clicar com o botão direito do mouse em cima do projeto. Clicar na
opção “Add” > “New Item...”, conforme apresentado na Figura 5.1.3.

Figura 5.1.3

40
Passo 5: O Visual Studio mostra as opções de arquivo. Existe uma opção de
arquivo chamada “Web Service”. Selecionar e colocar o nome de “serviço.asmx”,
conforme apresentado na Figura 5.1.4:

Figura 5.1.4

41
Passo 6: Logo após colocar o nome do arquivo, clicar em “Add”. A Figura
mostra o arquivo criado. Clicar duas vezes no mesmo para entrar no código-fonte,
ou seja, o “arquivo.cs”. Veja nas Figuras 5.1.5 e 5.1.6.

Figura 5.1.5

Figura 5.1.6

42
5.2 Codificando o Serviço Web

Para começar, será criado um serviço Web simples e rápido, apenas para
uma noção. Veja o exemplo abaixo:

namespace PrimeiroWebService
{
/// <summary>
/// Summary description for servico
/// </summary>
[WebService(Namespace = "http://matrix")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
// To allow this Web service to be called from script, using ASP.NET
AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class servico : System.Web.Services.WebService
{

[WebMethod(Description = "Primeiros testes de WebService")]


public string Testando(string minha_pagina)
{
return minha_pagina;
}

5.2.1 Explicando o código

Este é um simples serviço Web apenas para fins didáticos. Apenas recebe
uma String e retorna essa mesma String passada para o XML.

Esse comentário “[WebMethod]...” é apenas para que o desenvolvedor que for


usar o mesmo, veja o comentário abaixo do sistema mostrando como usar.

É considerada uma boa prática de programação o uso do “<summary>” na


parte superior do código, depois de todo o sistema criado e funcionando
corretamente, a documentação pode ser criada automaticamente pela ferramenta
Visual Studio 2008.

43
Na Figura 5.2.1.1, veja como ficará o código:

Figura 5.2.1.1

Na Figura 5.2.1.2, será mostrado como colocar a página ou serviço para


iniciar, isto é, quando clicar em F5, a primeira página ou serviço será iniciado
automaticamente.

44
Passo 1: Clicar com o botão direito em cima da página desejada e escolher a
opção “Set As Start Page”, conforme apresentado na Figura 5.2.1.2.

Figura 5.2.1.2

Passo 2: Clicar em F5 para iniciar o sistema, como foi explicado


anteriormente. A página primeiramente aberta é a indicada na Figura 5.2.1.2.

45
Passo 3: Na Figura 5.2.1.3, percebe-se que é mostrado o método com o
comentário colocado no código.

Figura 5.2.1.3

Ao iniciar o sistema, veja que a ferramenta Visual Studio 2008 já abre o


browser, ou seja, deixa pronto para executar o código construído.

46
Passo 4: Clicar no método “Testando”, e visualizar na Figura 5.2.1.4 o que
deve acontecer:

Figura 5.2.1.4

Os comentários que existem nessa página, onde se encontra o método que


foi criado, contém informações importantes sobre o serviço criado.

Existe um comentário sobre o SOAP, mostrando as variáveis ou variável do


método e o seu tipo, em forma de tag XML.

Mais abaixo, em HTTP POST, é mostrada a variável que será retornada, junto
com o seu tipo, nesse exemplo uma String.

47
Passo 5: Colocar um valor no campo texto na tela e clicar no botão “Chamar”.
O sistema abre outra tela e mostra o resultado em XML. Veja na Figura 5.2.1.5 como
fazer:

Figura 5.2.1.5

O valor retornado apresenta-se em forma de uma tag. É dessa forma que o


serviço Web irá retornar os valores para qualquer outro programa que o chamar. É
uma forma bastante leve e simples: o sistema retornou o arquivo XML como
resultado. Qualquer programa que o chamar pegará o XML retornado e tratará os
valores.

48
6. Acessando o Serviço Web usando outro programa em
uma rede

Para iniciar essa etapa é necessário executar as seguintes configurações na


máquina que será considerada como servidor:

Passo 1: Como se trata apenas de uma execução para fins didáticos as


questões relacionadas à segurança da rede não serão levadas em consideração e
por isso, deve-se desabilitar o firewall do Windows conforme a Figura 6.1:

Figura 6.1

49
Passo 2: Agora deve ser criado um diretório virtual no IIS para que o serviço
seja reconhecido no micro cliente conforme descrito no passo 3.

Passo 3: Clicar em “iniciar” > “Programas” > “Ferramentas Administrativas” >


“Internet Information Services”. Selecionar “Sites da Web Padrão”, clicar com o botão
direito do mouse, selecionar “novo” e clicar em “Diretório virtual...” conforme a Figura
6.2:

Figura 6.2

50
Passo 4: Digitar o “Aliás” que será usado para acessar este diretório virtual
da Web, conforme apresentada na Figura 6.3.

Figura 6.3

Passo 5: Clicar em “Procurar” e selecionar a pasta onde foi criado o projeto


ou onde contém o arquivo “serviço.asmx”, conforme apresentado na Figura 6.4.

Figura 6.4

51
Passo 6: Selecionar as permissões de acesso para o diretório virtual
conforme apresentado na Figura 6.5.

Figura 6.5

Passo 7: Clicar em “Concluir” para finalizar a criação do diretório virtual


conforme apresentado na Figura 6.6.

Figura 6.6

52
Passo 8: Após a criação do diretório virtual o IIS deve ter a seguinte
aparência da Figura 6.7:

Figura 6.7

53
Passo 9: Clicar com o botão direito do mouse em “webservice” > “Todas as
tarefas” > “Assistente de Permissões....” para alterar as configurações de
permissões do diretório virtual, conforme apresentada na Figura 6.8.

Figura 6.8

54
Passo 10: Clicar em “Avançar” para iniciar o “Assistente de permissões” do
IIS conforme apresentado na Figura 6.9.

Figura 6.9

Passo 11: Selecionar a opção: “Selecionar novas configurações de


segurança com base em um modelo” e depois clicar em “Avançar”, conforme
apresentado na Figura 6.10.

Figura 6.10

55
Passo 12: Selecionar em “Cenário” a opção “Public Web Site” e depois clicar
em “Avançar” conforme apresentado na Figura 6.11.

Figura 6.11

Passo 13: Clicar em “Substituir todas as permissões de diretório e arquivo


(recomendado) e depois clicar em “Avançar” conforme apresentado na Figura 6.12.

Figura 6.12

56
Passo 14: Clicar em “Avançar” para aplicar as configurações de segurança
efetuadas conforme apresentado na Figura 6.13.

Figura 6.13

Passo 15: Clicar em “Concluir” para finalizar o “Assistente de permissões” do


IIS conforme apresentado na Figura 6.14.

Figura 6.14

57
Após a execução dos passos descritos anteriormente, será iniciada a
implementação de uma aplicação que irá consumir um serviço remotamente.

Essa implementação deverá ser feita no micro considerado cliente. Para isso
deve-se:

Passo 16: Verificar se tanto a rede ponto-a-ponto quanto à instalação do


Visual Studio 2008 estejam funcionando corretamente no micro cliente.

Passo 17: Criar uma pasta no desktop do micro cliente com o nome
WebService. Abrir o Visual Studio e criar uma nova aplicação conforme apresentado
na Figura 6.15.

Figura 6.15

58
Passo 18: Criar um novo arquivo chamado “acessando.aspx” conforme
apresentado na Figura 6.16:

Figura 6.16

Este arquivo criado irá chamar o método “Testando” criado anteriormente no


serviço Web do micro “servidor”.

59
Passo 19: Na página que será criada, onde há o acesso ao serviço Web, o
nome da página será “acessando.aspx” e terá alguns componentes simples na tela,
conforme apresentado na Figura 6.17.

Figura 6.17
A seguir, tem-se a especificação de objetos da página Web “acessando.aspx”.

Label
Id = lblDados
Text = Dados

Label
Id = lblResultado

TextBox
Id = txtDados

Button
Id = cmdAcessar
Text = Acessar

60
Passo 20: Após a especificação dos objetos da página Web, é instanciado o
serviço Web criado anteriormente. O serviço da internet foi criado e agora será
usado esse mesmo serviço. Assim, dentro do “Solution Explorer” do Visual Studio
2008 existe uma pasta chamada “References”. Clicar com o botão direito do mouse
nessa pasta e depois na opção “Add Web Reference...”, conforme apresentado na
Figura 6.18:

Figura 6.18

Passo 21: Clicando no botão indicado na Figura 6.18, surge uma tela para
que seja adicionado o endereço do serviço Web criado. O endereço que será
colocado é o endereço do IP do micro servidor bem como o alias criado para a pasta
que contém o serviço. Nesse caso o endereço fica da seguinte forma:
“http://matrix/webservice/servico.asmx”.

O serviço que será procurado pelo Visual Studio 2008 mostrará apenas um
link chamado “Testando”, e com o comentário abaixo do mesmo, escrito: “Primeiros
testes de Serviço Web”, onde aparecerá o comentário que foi criado durante a
criação do serviço pelo desenvolvedor, usando uma opção “description”.

61
Passo 22: Após indicar o local do serviço disponibilizado, clicar no botão
chamado “Add References”, conforme apresentado na Figura 6.19.

Figura 6.19

62
6.1 Instanciando e codificando o WebService

Após clicar no botão indicado na Figura 6.19 da seção 6.0, surge o nome
“matrix” dentro do “Solution Explorer” do Visual Studio 2008. Esse deve ser o nome
que será instanciado para chamar o método de dentro do seu programa que irá usar
o serviço disponibilizado na internet.

Passo 1: Na página “acessando.aspx”, clicar duas vezes no botão


“cmdAcessar” e digitar o seguinte código:

namespace PrimeiroWebService
{
public partial class acessando : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

protected void cmdAcessar_Click(object sender, EventArgs e)


{
///INSTANCIANDO O SERVIÇO DA WEB QUE CRIADO.
matrix.servico sServico = new
PrimeiroWebService.matrix.servico();

///CHAMANDO O MÉTODO DO WEBSERVICE PELA VARIÁVEL CRIADA ACIMA.


lblResultado.Text = sServico.Testando(txtDados.Text);
}
}
}

63
6.1.1 Explicando o código

Depois de ter acionado o serviço Web, coloca-se o nome do mesmo, logo


depois o nome da classe, seguido por uma variável qualquer digitada. O “new” já
mostra a instância criada. Coloca-se o nome da variável clicando (ponto) “.”. A
ferramenta mostrará todos os métodos disponíveis para poder acessar. Passa-se o
parâmetro do “TextBox” criado de objetos da página. O mesmo método precisará
retornar alguma “String”, por isso coloca-se o retorno do mesmo em uma “Label”
conforme já criado anteriormente, chamada “lblResultado.text”. Após digitar o código
a tela do Visual Studio fica com a aparência apresentada na Figura 6.1.1.1.

Figura 6.1.1.1

Dessa forma, o primeiro serviço Web está preparado para funcionar conforme
os passos a seguir.

Passo 1: Colocar a página “acessando.aspx” como “Set As Start Page” e


clicar em F5.

64
Passo 2: Depois de iniciar o programa, aparecerá a página com um campo e
um botão conforme a Figura 6.1.1.2.

Figura 6.1.1.2

65
Passo 3: Digitar um texto qualquer e clicar em “Acessar” para que o serviço
Web criado seja invocado, conforme apresentado na Figura 6.1.1.3.

Figura 6.1.1.3

66
Passo 4: É retornada uma mensagem com a String digitada, conforme
apresentada na Figura 6.1.1.4

Resposta do Serviço Web da máquina servidora.

Figura 6.1.1.4

67
7. Referências Bibliográficas

[1] ALVAREZ, M. A. Instalação do IIS em Windows XP Profissional. Disponível


em: <http://www.criarweb.com/artigos/381.php>. Acesso em: 06 jun. 2009.

[2] ABINADER NETO, J. A.; LINS, R. D. Web Services em Java. Brasport, 2006.

[3] COSTA, N. Instalação do Visual Studio 2008 beta 2. Disponível em:


<http://istomesmo.wordpress.com/2007/09/11/tutorial-01-instalacao-do-visual-studio-
2008-beta-2/>. Acesso em: 06 jun. 2009.

[4] HADDAD, R. Serviços Web. Disponível em: <http://msdn.microsoft.com/pt-


br/library/cc564893.aspx>. Acesso em: 06 jun. 2009.

[5] JUNIOR, M. P. B. Desenvolvendo Serviços Web: Guia rápido usando Visual


Studio.Net com Banco de Dados SQL Server. Ciência Moderna, 2005.

[6] RECH, V. XML e Serviço Web: Passagem de parâmetro no formato XML para
um Serviço Web. Net Magazine, Rio de Janeiro, nº62, p.65-74, 2009.

[7] SINGH, I. et al. Projetando Web Services com a Plataforma J2EE 1.4. Ciência
Moderna, 2006.

[8] TUTORIAL CLUBE DO HARDWARE. Tutorial rede ponto-a-ponto no XP


(manualmente). Disponível em: <http://www.guiadohardware.net/comunidade/rede-
tutorial/230253/>. Acesso em: 06 jun. 2009.

68

Você também pode gostar