Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Visual FoxPro 8 - Web Services, Notas de estudo de Sistemas de Informação

Web Services em VFP 8.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 28/09/2010

francis-barrimbhal-8
francis-barrimbhal-8 🇧🇷

4.6

(16)

26 documentos

1 / 9

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Página 1
Visual Fox Pro
9/28/2010 2:20:08 PMhttp://msdn.microsoft.com/library/cc564871.aspx
HomePage Biblioteca Aprender Downloads Suporte Comunidade
Search MSDN with Bing
Biblioteca MSDN
Artigos Técnicos
Ferramentas de desenvolvimento e
linguagens
Visual FoxPro
Visual FoxPro 8.0
Web Services em Visual FoxPro 8
Entrar |
Brasil
-
Visual Fox Pro
Web Services em Visual FoxPro 8
Originalmente publicado na Universal Thread Magazine
http://www.UniversalThread.com/Portuguese/Magazine
Nestes parágrafos tentarei fazer uma breve resenha do que são os Web Services e logo e em um modestíssimo passo a
passo, explicarei como criar um serviço WEB utilizando VFP8. Este mesmo serviço será o que utilizaremos na terceira
parte deste artigo, em que utilizando o VFP8, desenvolveremos uma pequena aplicação que consumirá o serviço
previamente criado. Mãos a obra!
O Quê é um WEB Service ?
Um Web service é uma aplicação que proporciona dados e serviços a outras aplicações. Baseado em HTTP e XML, se
apoia para seu funcionamento em uma arquitetura de comunicações padrão entre o provedor do serviço e o cliente. Esta
comunicação se efetua por meio de mensagens. Estas mensagens "empacotadas" mediante SOAP devem cumprir as
pautas definidas no "contrato" de serviço entre o provedor e o cliente (WSDL).
Os serviços WEB, entre outras vantagens , são independentes de plataforma e de linguagem com as quais foram
desenvolvidos, tanto as aplicações do provedor do serviço como os clientes do mesmo. Servidores e cliente devem
entender os protocolos anteriormente mencionados e estes foram amplamente aceitados entre as distinas plataformas
até converterem-se em padrões. Hoje podemos contar com uma integração multiplataforma com implementações
totalmente transparentes em cada extremo.
Esquema básico dos Web Services
Sobre SOAP, WSDL e outras tecnologias ...
Desenvolveremos mais profundamente o que por trás destas siglas mágicas:
Simple Object Access Protocol (SOAP): Protocolo de Intercâmbio de Informação Estruturada baeada em XML. Entre
outras coisas, SOAP pode representar chamadas a procedimentos remotos (RPC) e suas respostas, provendo um
mecanismo para trocar informação e serviços entre aplicações . Funciona normalmente sobre HTTP, assim trabalha com
os Firewalls, os proxies e outros obstáculos existentes. Também pode utilizar a autenticação e o formato de compressão
do HTTP e suporta SSL para encriptação e segurança. Por tudo isso é utilizado em Web Services para a comunicação
entre o provedor de serviço e seus clientes.
WSDL: Documento XML que descreve completamente o formato das mensagens trocadas. Pode -se consultar livremente
os clientes e representa o "contrato" de serviço.
Web Service Discovery (DISCO): É o processo de localização e descobrimento das descrições de serviços WEB.
Através deste processo os clientes descobrem a existência do serviço, a funcionalidade oferecida e como interagir com
ele.
UDDI Business Registry: Os nós UDDI permitem que as organizações publiquem informações relativas aos serviços
que oferecem. Constituem o ponto de entrada aos serviços WEB, proporcionando um mecanismo simples de localização
de serviços disponíveis. Como parte da especificação UDDI, possui uma API que permite interagir programaticamente
com o registro.
Para quê podem nos ser úteis os Serviços WEB?
Talvez seria simplificar um pouco as coisas, dizer que a tecnologia dos serviços WEB pode-se definir como a elevação da
WEB de uma tecnologia COM/DCOM. Alguns discordarão de mim nesta afirmação mas pensando desta maneira podemos
descobrir rapidamente quase tudo o que nos poderá ajudar os serviços web . Agora sim podemos dizer que contamos
com a possibilidade de distribuir em forma global nossas aplicações e trocar dados entre empresas que não somente se
encontram separadas fisicamente mas também que possuem aplicativos desenvolvidos em plataformas diferentes.
Seguindo com a analogia COM/DCOM e os serviços WEB, estes tem uma implementação mais genérica e transparente
que os primeiros e da mesma forma que os componentes tradicionais, os serviços WEB apresentam uma interface aos
consumidores do serviço que a descreve completamente na WSDL, que viria a ser como uma Type Library na WEB.
Bom, até tudo foi um massante, ainda que necessário, discurso teórico.
Vamos para o código que é mais divertido.
Requisitos para publicar e consumir serviços web com VFP8
pf3
pf4
pf5
pf8
pf9

Pré-visualização parcial do texto

Baixe Visual FoxPro 8 - Web Services e outras Notas de estudo em PDF para Sistemas de Informação, somente na Docsity!

HomePage Biblioteca Aprender Downloads Suporte Comunidade

Search MSDN with Bing

Biblioteca MSDN Artigos Técnicos Ferramentas de desenvolvimento e linguagens Visual FoxPro Visual FoxPro 8. 0 Web Services em Visual FoxPro 8

Entrar | Brasil -

Visual Fox Pro

Web Services em Visual FoxPro 8

Originalmente publicado na Universal Thread Magazine http://www.UniversalThread.com/Portuguese/Magazine

Nestes parágrafos tentarei fazer uma breve resenha do que são os Web Services e logo e em um modestíssimo passo a passo, explicarei como criar um serviço WEB utilizando VFP8. Este mesmo serviço será o que utilizaremos na terceira parte deste artigo, em que utilizando o VFP8, desenvolveremos uma pequena aplicação que consumirá o serviço previamente criado. Mãos a obra!

O Quê é um WEB Service?

Um Web service é uma aplicação que proporciona dados e serviços a outras aplicações. Baseado em HTTP e XML, se apoia para seu funcionamento em uma arquitetura de comunicações padrão entre o provedor do serviço e o cliente. Esta comunicação se efetua por meio de mensagens. Estas mensagens "empacotadas" mediante SOAP devem cumprir as pautas definidas no "contrato" de serviço entre o provedor e o cliente (WSDL).

Os serviços WEB, entre outras vantagens, são independentes de plataforma e de linguagem com as quais foram desenvolvidos, tanto as aplicações do provedor do serviço como os clientes do mesmo. Servidores e cliente só devem entender os protocolos anteriormente mencionados e estes foram amplamente aceitados entre as distinas plataformas até converterem-se em padrões. Hoje podemos contar com uma integração multiplataforma com implementações totalmente transparentes em cada extremo.

Esquema básico dos Web Services

Sobre SOAP, WSDL e outras tecnologias ...

Desenvolveremos mais profundamente o que há por trás destas siglas mágicas:

Simple Object Access Protocol (SOAP) : Protocolo de Intercâmbio de Informação Estruturada baeada em XML. Entre outras coisas, SOAP pode representar chamadas a procedimentos remotos (RPC) e suas respostas, provendo um mecanismo para trocar informação e serviços entre aplicações. Funciona normalmente sobre HTTP, assim trabalha com os Firewalls, os proxies e outros obstáculos existentes. Também pode utilizar a autenticação e o formato de compressão do HTTP e suporta SSL para encriptação e segurança. Por tudo isso é utilizado em Web Services para a comunicação entre o provedor de serviço e seus clientes.

WSDL : Documento XML que descreve completamente o formato das mensagens trocadas. Pode-se consultar livremente os clientes e representa o "contrato" de serviço.

Web Service Discovery (DISCO) : É o processo de localização e descobrimento das descrições de serviços WEB. Através deste processo os clientes descobrem a existência do serviço, a funcionalidade oferecida e como interagir com ele.

UDDI Business Registry : Os nós UDDI permitem que as organizações publiquem informações relativas aos serviços que oferecem. Constituem o ponto de entrada aos serviços WEB, proporcionando um mecanismo simples de localização de serviços disponíveis. Como parte da especificação UDDI, possui uma API que permite interagir programaticamente com o registro.

Para quê podem nos ser úteis os Serviços WEB?

Talvez seria simplificar um pouco as coisas, dizer que a tecnologia dos serviços WEB pode-se definir como a elevação da WEB de uma tecnologia COM/DCOM. Alguns discordarão de mim nesta afirmação mas pensando desta maneira podemos descobrir rapidamente quase tudo o que nos poderá ajudar os serviços web. Agora sim podemos dizer que contamos com a possibilidade de distribuir em forma global nossas aplicações e trocar dados entre empresas que não somente se encontram separadas fisicamente mas também que possuem aplicativos desenvolvidos em plataformas diferentes. Seguindo com a analogia COM/DCOM e os serviços WEB, estes tem uma implementação mais genérica e transparente que os primeiros e da mesma forma que os componentes tradicionais, os serviços WEB apresentam uma interface aos consumidores do serviço que a descreve completamente na WSDL, que viria a ser como uma Type Library na WEB.

Bom, até tudo foi um massante, ainda que necessário, discurso teórico.

Vamos para o código que é mais divertido.

Requisitos para publicar e consumir serviços web com VFP

Para publicar um serviço WEB e para consumí-lo utilizando VFP8 necessitamos ter instalado em nossa máquina o Microsoft SOAP Toolkit em sua versão 3.0, que pode ser encontrado gratuitamente em: http://msdn.microsoft.com/ downloads/ e que basicamente nos proporciona basicamente um conjunto de classes COM que se encarregam da criação e decodificação de pacotes SOAP e de seu envio através de HTTP.

Publicando um Serviço WEB com VFP8 em três etapas:

O Objeto que nos proporemos agora é desenvolver um serviço web que nos mostre a possibilidade de publicar quatro procedimentos que poderão ser chamados de forma remota e que recebendo como parâmetros dois números qualquer, devolvam como resultado alguma das quatro operações matemáticas básicas. Em outras palavras, vamos desenvolver uma mini-calculadora que já se converteu no típico exemplo "Olá Mundo" para os Web Services.

Antes de iniciar a enumerar os passos para publicar este serviço WEB quero destacar que para ele também é necessário ter instalado e ativo o Serviço de Internet Information Server (IIS). Agora sim, mãos a obra:

Passo 1: Criar o componente DLL que fará as funções de nossa calculadora

DEFINE CLASS WSCalculadora AS Session OLEPUBLIC PROCEDURE Suma ( Sumando1 AS Number, Sumando2 AS Number ) AS Number RETURN Sumando1 + Sumando ENDPROC PROCEDURE Resta ( Restando1 AS Number, Restando2 AS Number ) AS Number RETURN Restando1 - Restando ENDPROC PROCEDURE Multiplica ( Factor1 AS Number, Factor2 AS Number ) AS Number RETURN Factor1 * Factor ENDPROC PROCEDURE Divide ( Dividendo AS Number, Divisor AS Number ) AS Number IF Divisor # 0 RETURN Dividendo / Divisor

Pois como terminamos a primeira parte da instação de nosso componente em COM+

Selecionamos finalizar e vejamos como segue esta história.

Até aqui criamos uma aplicação COM+ vazia mas queremos que ela nos tenha alguma utilidade, adicionaremos a ela um componente: nossa DLL.

Para isso, sobre a pasta "Componentes" de nossa nova aplicação COM+, pressionamos o botão direito do mouse e indicamos que queremos adicionar um novo componente.

Assim voltaremos a iniciar um assitente, desta vez o "Assistente para instalação de componentes COM+" que, como já diz o nome, nos ajudará a instalar ou importar componentes.

Este novo passo no assistente nos permite indicar se vamos adicionar um componente novo ou se vamos importar um componente já registrado.

Selecionaremos a primeira opção (instalar novos componentes) e vamos adiante.

Agora indicaremos ao assitente onde está a DLL que criamos no passo 1.

Logo selecionando "Abrir" avançaremos outro passo mais.

Não estarão cansados, ainda falta um pouco mais!

Agora indicaremos ao assitente onde está a DLL que criamos no passo 1.

Logo selecionando "Abrir" avançaremos outro passo mais.

Não estarão cansados, ainda falta um pouco mais!

Bem, chegamos ao final deste pequeno calvário.

Como recompensa teremos nossa aplicação rodando em COM+, o que não é pouco.

Clicando finalizar, já poderemos fechar o console de Component Services pois já cumpriu sua função e retornaremos ao VFP8 que ainda temos muito a fazer.

Passaremos para o passo "três", como indica o título desta sessão "Publique um WS em 3 passos", é o último.

Paso 3: Publicar o Serviço Web

Voltemos ao nosso querido VFP8 e sorriam, um dos tantos Wizards que estão no menu tools, faz exatamente o que nós queremos, assim, estamos a alguns poucos "clicks" do final. Vejamos:

Executaremos o assistente que se encontra no menu tools, wizards, de nome Web Services.

Com ele ativaremos o "Visual FoxPro XML Web Services Publisher", onde na primeira tela deveremos indicar o componente COM do qual será gerado o Web Service.

Na sessão de COM Server, deveremos tipar o full-path da DLL que criamos. Para facilitar esta tarefa, a direita deste quadro de seleção poderemos ver o botão que abriremos o diálogo típico do Windows para localizar um arquivo qualquer no disco. Uma vez selecionada a DLL e tal como indica o assistente, se não queremos utilizar valores por omissão ou valores utilizados anteriormente, deveremos utilizar o botão "Advanced"

Vejamos o que este esconde:

Nesta parte do assistente, devemos especificar na primeira instância o nome do serviço, que neste caso será o nosso e já várias vezes utilizado WSCalculadora. Na opção seguinte indicaremos a URI do Listener, é dizer a URL onde devemos ir buscar o WSDL no momento de consumir o serviço que estamos publicando. Isto é, nem mais nem menos que um diretório virtual do IIS.

Na combobox aparecerão todos os diretórios virtuais utilizados com os que contém o ISS de nossa máquina.

Caso queira trocar para outro diretório virtual (novo ou já existente), selecionaremos o botão que se está a direita da combobox (mais abaixo explicarei as opções que apresenta o assistente neste caso, agora vamos seguir nesta tela).

O campo "File(s) Location" tem que indicar o lugar físico no disco onde será armazenada a WSDL que será criada. Mais abaixo indicaremos o "Listener Type", que pode ser um filtro ISAP ou uma página ASP como for conveniente. Geralmente optaremos por filtros ISAPI mas em caso de ser necessário optar por uma página ASP, poderemos indicar seu nome e a linguagem em que serão gerados os scripts da mesma.

Como vemos na figura seguinte, o formulário está dividido em três pastas. Estas são as opções mais importantes da primeira pasta e antes de passar para a segunda, vejamos o que é que nos mostraria o assistente caso optarmos mudar o diretório virtual do IIS para nossa nova aplicação.

Agora, nosso serviço web está publicado e pronto para ser usado, sendo gerenciado pelo IIS. Pois bem, se é assim, criaremos uma pequena aplicação em VFP8 que consuma estes serviços, para ver como se comporta.

Consumindo Serviços Web com VFP

O objetivo que nos propomos cumprir desta vez é desenvolver uma pequena aplicação que invoque algum dos quatro procedimentos remotos expostos por nosso Web Service publicado anteriormente passando-lhe como parâmetros dois números quaisquer, para receber como resposta a soma, subtração, multiplicação ou divisão dos mesmos.

Para isso vamos aproveitar uma da novas características do VFP8 que vai nos ajudar a melhorar nossa produtividade, fazendo-nos ter tudo ao alcançe de nossas mãos. Estou falando da ToolBox.

Para ativá-la vamos ao menu "Tools" e selecionamos "Toolbox".

Esta nova ferramenta aparecerá na tela divida em várias sessões. Uma delas é chamada "My XML Web Services". Selecionamos esta e vejamos o que acontece.

Antes de continuar quero recomendar-lhes um excelente artigo de Beth Massi sobre a toolbox que pode ser encontrada na edição de fevereiro da revista.

Aqui aparecerão todos os Web Services registrados em nosso sistema.

Nossa WSCalculadora estará nesta lista, já que o assistente de publicação de Web Service que utilizamos anteriormente se encarrou de registrá-la para nós. mas caso queira consumir um Web Service que não tenhamos publicado, nesta mesma sessão da toolbox contamos com a opção

"Register" que nos ajudará a registrá-las facilmente.

Vejamos como:

Na imagem anterior vimos que para registrar um Web Service só devemos indicar-lhe ao assistente de registro de Web Service do VFP8 a URL da WSDL. Prestaremos atenção aos exemplos abaixo da combobox já que se o Web Service está desenvolvido em .NET (segundo exemplo), a forma de chamá-lo da WSDL varia um pouco. Também teremos aqui um botão para buscar um Web Service em UDDI. Uma vez obtida a URL, só resta clicar "register" e pronto. Uma vez registrado o serviço a consumir, criaremos um novo PRG (vazio) e colaremos o código do serviço desejado da toolbox para o PRG. Automaticamente, o intelinsense gerará uma boa porção de código que servirá de estrutura guia ao nosso programa.

Todo o código que observamos na imagem anterior é criado automaticamente pelo Intelinsense. Passando para a imagem seguinte, vemos dentro do círculo vermelho a única linha que deveremos adicionar para fazer o uso do Web Service, e também vemos que dispomos do intellinsense para nosso serviço web (circulo verde). Fácil não?

Também vemos que uma vez selecionado o método que será utilizado, teremos o intellinsense também para a quantidade e o tipo dos parâmetros de entrada e para o tipo de dado devolvido pelo método em questão.