terça-feira, 26 de agosto de 2008

Como consumir Web Services no MS-Office

 

Muitos artigos existentes sobre Web Services já estão disponíveis no MSDN, portanto, aqui não irei abordar o conceito, mercado e como criar Web Services no Visual Studio .NET. Partirei do princípio que você já sabe esta parte, no entanto, saiba que qualquer Web Service disponível que você tenha acesso, é possível aplicar nos exemplos vistos neste artigo.

Instalacao

O primeiro passo é fazer o download do Microsoft Office XP Web Services Toolkit 2.0 em http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/MSDN-FILES/027/001/979/msdncompositedoc.xml, salve o arquivo offwstk.msi em uma pasta e descompacte-o para gerar o arquivo offwstk.exe. Com isso, você terá:

  • Web Services References Tool 2.0, atualizações para suportar o SOAP 3.0 e tipo de dados complexos;
  • Exemplos de Web Services para o Office;
  • Material de referência.

Em seguida, execute o arquivo offwstk.exe e siga o processo de instalação no esquema Next/Next/ Finish.

Clique em Start / All Programs / Office XP Web Services Toolkit / Office XP Web Services Toolkit Overview para abrir o Microsoft Office XP Smart Tag Enterprise Resource Kit. Selecione o link Web Service Reference Tool para abrir a tela de instalação do SDK. Dê um clique no link Setup.exe para instalar o Web Service Reference Tool. Clique no botão Open, responda as perguntas do Install e aguarde o processo até aparecer o botão Finish.

Pré-requisitos

Verifique os pré-requisitos para o Office XP Web Services Toolkit 2.0.

  • Sistema operacional: Windows 98, Windows 98 Second Edition, Windows Millennium Edition (Windows Me), Windows NT 4.0 com Service Pack 6 (SP6), Windows 2000, Windows XP;

  • Visual Basic for Applications 6.3, incluído no Office XP;

  • Internet Explorer 5.01 ou superior;

  • Instalar Windows Installer 2.0 (se for o Windows XP não é preciso, pois já existe);

  • Desinstalar qualquer outra versão do Office XP Web Services Toolkit.

Você pode fazer download do Windows Installer 2.0 nos seguintes endereços:

Windows Installer 2.0 Redistributable for Windows NT 4.0 and 2000: http://www.microsoft.com/downloads/release.asp?ReleaseID=32832

Windows Installer 2.0 Redistributable for Windows 98 Second Edition , and ME: http://www.microsoft.com/downloads/release.asp?ReleaseID=32831

Web Service no Office

Qualquer aplicação que necessite obter informações externas que se encontram em um local na WEB é passível de ser consumida no Office através de um Web Service, mesmo que essa informação precise de parâmetros, por exemplo, agência, conta e senha do banco, identificação do RG, placa do carro, etc.

O exemplo do Web Service a ser consumido neste artigo foi pesquisado no UDDI, cujo objetivo é fornecer diversos dados a respeito das condições de tempo nos aeroportos.

Excel

Crie uma planilha no Excel chamada ExcelComWebService com a seguinte estrutura:

Deixe a planilha aberta e pressione Alt + F11 para invocar o Visual Basic for Applications. Selecione o menu Ferramentas / Web Services Reference. Nesta janela você pode pesquisar um Web Service no UDDI (Web Service Search) através de palavras chaves ou negócios. Digite airport em keywords e pressione o botão Search. Veja que o resultado é mostrado com um checkbox disponível dos Web Services encontrados, portanto, selecione este chekbox. Caso queira testar um método, selecione-o e clique no botão Test.

Clique no botão Add para referenciá-lo no projeto. O próprio VBA inclui e define as classes do respectivo Web Service referenciado. Na janela do Project Explorer são criados três módulos de classe automaticamente contendo todas as descrições necessárias para invocar o Web Service.

Web_services_off_4.gif

Em seguida é preciso criar um módulo com as funções personalizadas a serem consumidas na planilha. Selecione o menu Inserir / Módulo e digite as seguintes funções que recebem o nome do aeroporto como argumento.

Public Function Temperatura(AirportName As String) 
Dim wsAirport As New clsws_AirportWeather
Temperatura = wsAirport.wsm_getTemperature(AirportName)
End Function
Public Function Lugar(AirportName As String)
Dim wsAirport As New clsws_AirportWeather
Lugar = wsAirport.wsm_getLocation(AirportName)
End Function
Public Function CondicoesCeu(AirportName As String)
Dim wsAirport As New clsws_AirportWeather
CondicoesCeu = wsAirport.wsm_getSkyConditions(AirportName) End Function
Public Function Visibilidade(AirportName As String) Dim wsAirport As New clsws_AirportWeather
Visibilidade = wsAirport.wsm_getVisibility(AirportName)
End Function


Note a forma de instanciar o Web Service: Dim variável as New classe. A partir deste momento, todos os métodos desta classe podem ser consumidos. Retorne a planilha e insira as devidas funções nas respectivas células.



Web_services_off_5.gif



Veja o resultado com os dados processados.





DICA: Como o acesso a um Web Service é mais lento em relação a uma aplicação local, desative o cálculo automático e deixe no manual. Após todas as fórmulas criadas, pressione F9 para recalcular.



Access


Crie uma aplicação que tenha um formulário chamado frmCondicoesTempo com os seguintes controles:





Pressione Alt +F11 e repita o mesmo processo do Excel para referenciar o mesmo Web Service. Em seguida, insira o seguinte código no evento Ao Clicar do botão de comando Dados do Aeroporto:



Private Sub Comando11_Click() 
If Not IsNull(Me.aeroporto.Value) Then
Dim area As String
'instancia o web service
Dim wsAirport As New clsws_AirportWeather
area = Me.aeroporto.Value
'invoca os métodos do web service
Me.temp = wsAirport.wsm_getTemperature(area)
Me.lugar = wsAirport.wsm_getLocation(area)
Me.visibilidade = wsAirport.wsm_getVisibility(area)
Me.condCeu = wsAirport.wsm_getSkyConditions(area) Else
MsgBox "Digite o nome do aeroporto", vbInformation, "Alerts"
End If
End Sub


Salve o formulário e execute com o nome do aeroporto igual a KMIA ou KLAS.





Agora que você já sabe como consumir um Web Service no Office, suas aplicações feitas em VB.NET, ASP.NET, C#, Mobile .NET ou em qualquer outra plataforma que suporte Web Services, já pode ser aplicada no MS-Office. Isso tudo graças ao XML, SOAP e WSDL, conceitos esses que vocês encontram em outros artigos disponíveis no MSDN.



Instalação do Web Service no Cliente



Quando uma aplicação MS-Office solicita um Web Service é preciso ter alguns arquivos instalados na máquina. Isso ocorre porque ninguém ficará instalando o Microsoft Office XP Web Service Toolkit nos clientes. A sugestão é que você crie um pacote de instalação através de algum aplicativo Windows Instaler ou Visual Studio .NET incluindo os seguintes arquivos:





  • Microsoft SOAP 3.0 MSM, cujo local padrão é C:\Program Files\Common Files\Microsoft Shared\Web Service Reference\Redist\soap_core.msm.





  • MSXML4.MSM, cujo local padrão é C:\Program Files\Common Files\Microsoft Shared\Web Service Reference\Redist\1033\MSXML4.MSM.





Desta forma você já tem disponíveis as bibliotecas do SOAP e XML. Caso tenha gerado o projeto de instalação pelo Visual Studio .NET, foi criada uma pasta chamada Debug abaixo da pasta original, neste caso, C:\MSDN\Debug. Estes são exatamente os arquivos a serem copiados em um CD para distribuição.



Use e abuse destes recursos para tornar as aplicações do MS-Office mais flexíveis, robustas e principalmente integradas na globalização.



 



Fonte:MSDN Brasil



Att



Juliana Prado Uchôa



Microsoft Student Brasil



Líder do grupo CHANNEL TI

Nenhum comentário: