Escolar Documentos
Profissional Documentos
Cultura Documentos
São Paulo
2008
Fabrício da Rocha Silva
São Paulo
2008
RESUMO
1. Introdução ............................................................................................................... 5
1.1 Objetivos do Tutorial .......................................................................................... 6
1.2 Estrutura do Tutorial .......................................................................................... 6
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
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].
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].
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.
7
2. Visão Geral de Serviços
2.1. XML
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
2.3. WSDL
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].
• 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;
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;
2.4 UDDI
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].
12
2.5 Sintetizando os conceitos de Serviço Web
13
3. Arquitetura Orientada a Serviços
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.
15
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
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.
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.
19
Passo 9: Escolher o diretório de instalação e o tipo de instalação conforme
apresentado na Figura 4.1.5:
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.
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.
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.
22
4.2 Instalação do Internet Information Server (IIS)
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
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
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
26
4.2.2 Acessar o Servidor Web
Figura 4.2.2.1
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.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
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
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
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
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.
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
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
{
Este é um simples serviço Web apenas para fins didáticos. Apenas recebe
uma String e retorna essa mesma String passada para o XML.
43
Na Figura 5.2.1.1, veja como ficará o código:
Figura 5.2.1.1
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
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
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
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
48
6. Acessando o Serviço Web usando outro programa em
uma rede
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.
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
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
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
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
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
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 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
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.
namespace PrimeiroWebService
{
public partial class acessando : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
63
6.1.1 Explicando o código
Figura 6.1.1.1
Dessa forma, o primeiro serviço Web está preparado para funcionar conforme
os passos a seguir.
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
Figura 6.1.1.4
67
7. Referências Bibliográficas
[2] ABINADER NETO, J. A.; LINS, R. D. Web Services em Java. Brasport, 2006.
[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.
68