Ferramentas do usuário

Ferramentas do site


geopro:emerson:tews_how-to

Terra Web Services How-to

Este how-to é baseado na dissertação de Francisco Gioielli.

Versão binária

Obtendo os arquivos necessários

  1. Baixe o arquivo que contém o servidor TeWS, bem como suas dependências: tews_bin.zip
  2. Baixe o arquivo que contém o cliente em JSP no link
  3. Baixe o arquivo cliente do TeWS, modificado: tewsclient_jsp.zip
  4. Baixe o Apache 2.0.59 neste link. Nota: também testado com o Apache 2.0.55, porém não funciona com o Apache 2.2.x
  5. Baixe o Axis CPP 1.4 neste link. Nota: não irá funcionar com as versões 1.2 ou 1.6b.
  6. Baixe o Xerces-C 2.2.0 do link
  7. Baixe o Apache Tomcat 5.0.28 neste link. Nota: também testado com o Tomcat 5.0.30 e 5.5.20
  8. Baixe o JDK 1.6.0 no site da Sun. Nota: também testado com o JDK 1.4.2

Instalando os componentes

Apache

  1. A instalação do Apache é muito simples. Use o arquivo apache_2.0.59-win32-x86-no_ssl.msi e siga as instruções (next - next - finish). O Apache normalmente é instalado na pasta C:\Arquivos de programas\Apache Group\Apache2
  2. A configuração será abordada num momento oportuno

Tomcat

  1. Use o instalador do JDK para sua instalação. É bem simples (next - next - finish).
  2. Ajuste a variável de ambiente1) %JAVA_HOME% para o caminho de instalação do JDK. No meu caso ficou C:\Arquivos de programas\Java\jdk1.6.0
  3. Descompacte jakarta-tomcat-5.0.28.zip na raiz do C:\. No meu caso ficou C:\jakarta-tomcat-5.0.28. Nota: esse passo irá economizar correções nos arquivos do cliente
  4. Ajuste a variável de ambiente %CATALINA_HOME% para o local onde o Tomcat está instalado
  5. Registre o Tomcat como um serviço do Windows: %CATALINA_HOME%\bin\service.bat install Tomcat50

Axis CPP

  1. Descompacte o arquivo axis-c-1-4-win32.zip em algum local de sua preferência. No meu caso coloquei em D:\Projetos\axis-c-1-4-win32.
  2. Copie a pasta axis-c-1-4-win32\deploy p/ o Apache (C:\Arquivos de programas\Apache Group\Apache2), e renomei-a p/ Axis.
  3. Configure a variável de ambiente %AXISCPP_DEPLOY% apontando para esta pasta. No meu caso C:\Arquivos de programas\Apache Group\Apache2\Axis
  4. Coloque a pasta %AXISCPP_DEPLOY%\lib na sua variável de ambiente %Path%
  5. Copie o arquivo axis-c-1-4-win32\bin\mod_axis2.dll a pasta Apache2\modules
  6. Copie os arquivos AxisServer.dll, AxisTransport.dll, AxisXMLParser_Xerces.dll da pasta axis-c-1-4-win32\bin para a pasta %AXISCPP_DEPLOY%\libs
  7. Renomeie o arquivo AxisXMLParser_Xerces.dll para AxisXMLParser.dll
  8. Descompacte o arquivo xerces-c2_2_0-win32.zip numa pasta de sua preferência.
  9. Copie o arquivo xerces-c2_2_0-win32\bin\xerces-c_2_2_0.dll para a pasta %AXISCPP_DEPLOY%\libs

Configurando

  1. Abra o arquivo Apache2\conf\httpd.conf e adicione as seguintes linhas:
    LoadModule axis_module modules/mod_axis2.dll
    <Location /axis>
      SetHandler axis
    </Location>
  2. Abra o arquivo %AXISCPP_DEPLOY%\axiscpp.conf_win, salve como axiscpp.conf, com o seguinte conteúdo:
    LogPath:C:\Arquivos de programas\Apache Group\Apache2\Axis\log\AxisLog
    WSDDFilePath:C:\Arquivos de programas\Apache Group\Apache2\Axis\conf\server.wsdd
    XMLParser:AxisXMLParser.dll
    Transport_http:AxisTransport.dll
  3. Abra o arquivo %AXISCPP_DEPLOY%\conf\server.wsdd_win, depois salve como server.wsdd.

Conferindo

  1. Após tudo instalado, vamos conferir se está funcionando.
  2. Reinicie o computador (coisa do Windows).
  3. Inicie o Apache e vá para o link http://localhost/axis/. Se surgir uma mensagem com o título Welcome to Axis C++, então está Ok.
  4. Inicie o Tomcat (> net start tomcat50), e vá ao link http://localhost:8080/. Se vir a página inicial do Tomcat, então está Ok. Nota: opcionalmente você poderá iniciar o Tomcat executando o comando %CATALINA_HOME%\bin\startup.bat. Caso não tenha configurado a variável %JAVA_HOME% corretamente antes de registrar o Tomcat como um serviço, será necessário remover o serviço e inserir novamente.

Instalando o TeWebServices

Servidor

  1. Descompacte o arquivo tews_bin.zip numa lugar de sua preferência.
    • Copie os arquivos de tews_bin\lib para a pasta %AXISCPP_DEPLOY%\lib
    • Copie os arquivos de tews_bin\webservices para a pasta %AXISCPP_DEPLOY%\webservices
    • Copie os arquivos de tews_bin\wsdls para a pasta %AXISCPP_DEPLOY%\wsdls
  2. Configure o arquivo %AXISCPP_DEPLOY%\conf\server.wsdd, adicionando o seguinte conteúdo antes do fechamento do arquivo:
    <service name="tews" provider="CPP:RPC" description="Web Services desenvolvidos com a TerraLib">
     <parameter name="allowedMethods" value="*"/>
     <parameter name="className" value="C:\Arquivos de programas\Apache Group\Apache2\Axis\webservices\tews.dll" />
    </service>
  3. Crie uma pasta chamada mapimages na pasta Apache2\htdocs
  4. Atenção: caso já tenha o Apache2 instalado, com o parâmetro DocumentRoot diferente de “C:/Arquivos de programas/Apache Group/Apache2/htdocs”, adicione o seguinte texto ao seu httpd.conf:
    Alias /mapimages/ "C:/Arquivos de programas/Apache Group/Apache2/htdocs/mapimages/"
     
    <Directory "C:/Arquivos de programas/Apache Group/Apache2/htdocs/mapimages">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
  5. Reinicie o Apache

Cliente

  1. Descompacte o arquivo tewsclient_webapp.zip na pasta %CATALINA_HOME%\webapps
  2. Descompacte o arquivo tewsclient_jsp.zip num lugar de sua preferência, então copie seu conteúdo para a pasta %CATALINA_HOME%\webapps\tewsclient
  3. Edite o arquivo tewsclient\geoagente.xml, acertando o atributo wkt do elemento dominio para um polígono que abranja sua área de trabalho. No meu caso, que usei um mapa das macro-regiões do estado de SP, ficou assim:
    <dominio nome="Estado de Sao Paulo" 
    wkt="POLYGON((-54.0 -26.0, -44.0 -26.0, -44.0 -19.0, -54.0 -19.0, -54.0 -26.0))" 
    dbtype="tews" dburl="dbtype=mysql;host=localhost;dbname=tutorial2;user=test;password=;port=3306;">
  4. Copie o geoagente.xml para a pasta C:\windows\system32. Nota: caso tenha iniciado o Tomcat através do comando %CATALINA_HOME%\bin\startup.bat, copie o geoagente.xml para a pasta %CATALINA_HOME%\bin
  5. Reinicie o Tomcat
  6. Uma última configuração: o sistema vai procurar o host fgioielli para acesso. De forma que seu Windows traduza esse hostname para o localhost, adicione a seguinte linha ao arquivo c:\windows\system32\drivers\etc\hosts:
    127.0.0.1     fgioielli

Banco de dados

  • O sistema foi testado em banco TerraLib armazenado no MySQL versão 4.1
  • Os dados devem estar em coordenadas geográficas (LatLong) no TeLayer. Como exemplo, pode baixar os arquivos da Malha do IBGE p/ o estado de SP no seguinte link
  • As seguintes tarefas devem ser realizadas a fim de evitar alterações no código fonte do cliente:
    1. O banco de dados deve se chamar tutorial2
    2. Crie um usuário test com senha em branco:
      GRANT ALL ON tutorial2.* TO test@localhost;
    3. Execute os seguintes comandos SQL:
      USE tutorial2;
       
      CREATE TABLE `usuarios` (
      `object_id` VARCHAR( 25 ) NOT NULL ,
      `NOME` VARCHAR( 100 ) NOT NULL ,
      `DESCRICAO` VARCHAR( 100 ) NOT NULL ,
      `TIPO` VARCHAR( 100 ) NOT NULL ,
      `USUARIO` VARCHAR( 100 ) NOT NULL ,
      PRIMARY KEY ( `object_id` )
      ) TYPE = InnoDB;
       
      INSERT INTO `te_projection` ( `projection_id`, `name`, `long0`, `lat0`,`offx`, `offy`,
       `stlat1`,`stlat2`, `unit`, `scale`, `hemis`, `datum`, `radius`, `flattening`, `dx`, `dy`, `dz`)
      VALUES ( '999', 'LatLong', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', 'DecimalDegrees', 
      '1.0', '1', 'SAD69', '6378160', '0.003352892', '0.0', '0.0', '0.0');
       
      INSERT INTO `te_layer_table` ( `table_id`, `layer_id`, `attr_table`, `unique_id`, `attr_link`,
       `attr_initial_time`, `attr_final_time`, `attr_time_unit`, `attr_table_type`, `user_name`,
       `initial_time` ,`final_time` )
      VALUES ( '999', '999', 'usuarios', 'object_id', 'object_id', '', '', '1', '1', '', NULL , NULL);
       
      INSERT INTO `te_layer` ( `layer_id`, `projection_id`, `name`)
      VALUES ( '999', '999', 'usuarios' );
1)
Meu Computador → Propriedades → Avançado → Variáveis de ambiente
geopro/emerson/tews_how-to.txt · Última modificação: 2007/05/03 06:02 por emerson