geopro:emerson:tews_how-to
Tabela de conteúdos
Terra Web Services How-to
Este how-to é baseado na dissertação de Francisco Gioielli.
Versão binária
Obtendo os arquivos necessários
- Baixe o arquivo que contém o servidor TeWS, bem como suas dependências: tews_bin.zip
- Baixe o arquivo que contém o cliente em JSP no link
- Baixe o arquivo cliente do TeWS, modificado: tewsclient_jsp.zip
- 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
- Baixe o Axis CPP 1.4 neste link. Nota: não irá funcionar com as versões 1.2 ou 1.6b.
- Baixe o Xerces-C 2.2.0 do link
- Baixe o Apache Tomcat 5.0.28 neste link. Nota: também testado com o Tomcat 5.0.30 e 5.5.20
- Baixe o JDK 1.6.0 no site da Sun. Nota: também testado com o JDK 1.4.2
Instalando os componentes
Apache
- 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 pastaC:\Arquivos de programas\Apache Group\Apache2
- A configuração será abordada num momento oportuno
Tomcat
- Use o instalador do JDK para sua instalação. É bem simples (next - next - finish).
- Ajuste a variável de ambiente1)
%JAVA_HOME%
para o caminho de instalação do JDK. No meu caso ficouC:\Arquivos de programas\Java\jdk1.6.0
- Descompacte
jakarta-tomcat-5.0.28.zip
na raiz doC:\
. No meu caso ficouC:\jakarta-tomcat-5.0.28
. Nota: esse passo irá economizar correções nos arquivos do cliente - Ajuste a variável de ambiente
%CATALINA_HOME%
para o local onde o Tomcat está instalado - Registre o Tomcat como um serviço do Windows:
%CATALINA_HOME%\bin\service.bat install Tomcat50
Axis CPP
- Descompacte o arquivo
axis-c-1-4-win32.zip
em algum local de sua preferência. No meu caso coloquei emD:\Projetos\axis-c-1-4-win32
. - Copie a pasta
axis-c-1-4-win32\deploy
p/ o Apache (C:\Arquivos de programas\Apache Group\Apache2
), e renomei-a p/Axis
. - Configure a variável de ambiente
%AXISCPP_DEPLOY%
apontando para esta pasta. No meu casoC:\Arquivos de programas\Apache Group\Apache2\Axis
- Coloque a pasta
%AXISCPP_DEPLOY%\lib
na sua variável de ambiente%Path%
- Copie o arquivo
axis-c-1-4-win32\bin\mod_axis2.dll
a pastaApache2\modules
- Copie os arquivos
AxisServer.dll, AxisTransport.dll, AxisXMLParser_Xerces.dll
da pastaaxis-c-1-4-win32\bin
para a pasta%AXISCPP_DEPLOY%\libs
- Renomeie o arquivo
AxisXMLParser_Xerces.dll
paraAxisXMLParser.dll
- Descompacte o arquivo
xerces-c2_2_0-win32.zip
numa pasta de sua preferência. - Copie o arquivo
xerces-c2_2_0-win32\bin\xerces-c_2_2_0.dll
para a pasta%AXISCPP_DEPLOY%\libs
Configurando
- Abra o arquivo
Apache2\conf\httpd.conf
e adicione as seguintes linhas:LoadModule axis_module modules/mod_axis2.dll <Location /axis> SetHandler axis </Location>
- Abra o arquivo
%AXISCPP_DEPLOY%\axiscpp.conf_win
, salve comoaxiscpp.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
- Abra o arquivo
%AXISCPP_DEPLOY%\conf\server.wsdd_win
, depois salve comoserver.wsdd
.
Conferindo
- Após tudo instalado, vamos conferir se está funcionando.
- Reinicie o computador (coisa do Windows).
- 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.
- 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
- 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
- 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>
- Crie uma pasta chamada
mapimages
na pastaApache2\htdocs
- 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 seuhttpd.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>
- Reinicie o Apache
Cliente
- Descompacte o arquivo
tewsclient_webapp.zip
na pasta%CATALINA_HOME%\webapps
- 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
- 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;">
- Copie o
geoagente.xml
para a pastaC:\windows\system32
. Nota: caso tenha iniciado o Tomcat através do comando%CATALINA_HOME%\bin\startup.bat
, copie ogeoagente.xml
para a pasta%CATALINA_HOME%\bin
- Reinicie o Tomcat
- 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 arquivoc:\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:
- O banco de dados deve se chamar
tutorial2
- Crie um usuário
test
com senha em branco:GRANT ALL ON tutorial2.* TO test@localhost;
- 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