IBM Books

Guia de Referência do Net.Data


Instalação e Uso do Net.Data

Esta seção mostra como executar as etapas básicas necessárias para instalação e uso do Net.Data. As etapas são:

  1. Copiar o objeto de programa do Net.Data para sua biblioteca CGI-BIN.

  2. Configurar o servidor HTTP através da inclusão de diretrizes exclusivas para o arquivo de configuração.

  3. Criar um arquivo de inicialização (INI) do Net.Data (opcional).

  4. Criar macros da Web Net.Data.

  5. Conceder autoridade de perfil de usuário à objetos acessados pelo programa CGI Net.Data.

  6. Chamar as macros da Web Net.Data.

Caso esteja tendo problemas para fazer com o Net.Data manipule pedidos após seguir as etapas nesta seção, consulte a seção "Análise de Problemas" para obter dicas sobre determinação de problemas.

Etapa 1--Copiar o Objeto de Programa do Net.Data para uma Biblioteca CGI-BIN

O objeto de programa do Net.Data que deve ser copiado para um biblioteca CGI-BIN é o DB2WWW, localizado na biblioteca QTCP. Copie o objeto do programa utilizando o comando Create Duplicate Object (CRTDUPOBJ).

A autoridade do objeto do programa do DB2WWW para usuários *PUBLIC está definida como *EXCLUDE. Altere o objeto de programa do DB2WWW no diretório CGI-BIN para que o perfil de usuário sobre o qual os programas CGI estão sendo executados possua acesso ao objeto do programa. Para fazer isto, mude a autoridade do objeto de programa para usuários *PUBLIC para *USE ou conceda, especificamente, o acesso de perfil de usuário ao objeto de programa do DB2WWW.

Na V3R2 e V3R7, o Internet Connection para AS/400 executa programas CGI somente sob o perfil de usuário QTMHHTP1.

Etapa 2--Incluir Diretrizes do Net.Data no Arquivo de Configuração HTTP

Utilize a opção 1 (Incluir) ou a opção 13 (Inserir) do Trabalho com o comando (WRKHTTPCFG) de Configuração HTTP para fazer o seguinte:

  1. Certifique-se de que as diretrizes GET e Enable POST estão no arquivo de configuração.

  2. Inclua as diretrizes Map e Exec para o Net.Data.

Caso ainda não estejam lá, inclua as diretrizes Enable GET Y1" e Enable POST Y2" na seção do arquivo de configuração onde ativa métodos. Com as diretrizes no arquivo, a exibição ficará semelhante ao ilustrado na Figura 1:

+--------------------------------------------------------------------------------
 
                           Trabalhar com Configuração HTTP
                                                              Sistema:  SYSNAM01
  Digite opções, pressione Enter.
    1=Incluir   2=Alterar  3=Copiar 4=Remover  5=Exibir   13=Inserir
 
        Seqüência
  Opção  Número    Entrada
 
         00010     # * * * * * * * * * * * * * * * * * * * * * * * * * * #
         00020     # CONFIGURAÇÃO HTTP PARA TESTE DO NET.DATA            #
         00030     #                                                     #
         00040     HostName sysnam01.location.company.com
         00050     Porta 80
         00060     #-----------------------------------------------------
         00070     # Métodos Ativados
         00080     #
         00090     Enable GET  Y1"
         00100     Enable POST Y2"
         00110     #
         00120     #-----------------------------------------------------
                                                                         Mais...
  F3=Sair   F5=Restaurar F6=Imprimir   F12=Cancelar   F17=P/Cima F18=P/Baixo
  F19=Editar Seqüência
 
+--------------------------------------------------------------------------------
  Figura 1. Trabalhar com Configuração HTTP (WRKHTTPCFG) -- Exibição 1

Incluir as instruções Map e Exec ilustradas na Figura 2. Esta exibição mostra as diretrizes após terem sido incluídas.

+--------------------------------------------------------------------------------
 
                           Trabalhar com Configuração HTTP
                                                              Sistema:  SYSNAM01
  Digite opções, pressione Enter.
    1=Incluir   2=Alterar  3=Copiar 4=Remover  5=Exibir   13=Inserir
 
        Seqüência
  Opção  Número    Entrada
 
         00130     #-----------------------------------------------------
         00140     #                     Regras Mapeamento/Pass + Executáveis
         00150     #
         00160Y1"   Map /cgi-bin/db2www/* /QSYS.LIB/CGI.LIB/DB2WWW.PGM/*
         00170Y1"   Map /CGI-BIN/DB2WWW/* /QSYS.LIB/CGI.LIB/DB2WWW.PGM/*
         00180     #
         00190     #
         00200Y2"   Exec  /QSYS.LIB/CGI.LIB/*
         00210     Pass  /WWW/html/*
         00220     #-----------------------------------------------------
                                                                         Mais...
  F3=Sair   F5=Restaurar F6=Imprimir   F12=Cancelar   F17=P/Cima F18=P/Baixo
  F19=Editar Seqüência
 
+--------------------------------------------------------------------------------
  Figura 2. Trabalhar com Configuração HTTP (WRKHTTPCFG) -- Exibição 2

As diretrizes Map Y1" mapeiam entradas no formato "/cgi-bin/db2www/*" até a biblioteca na qual o programa Net.Data reside em seu sistema. (O asterisco (*) no final da cadeia refere-se a qualquer coisa que segue a cadeia.) As instruções de mapa em minúsculas e maiúsculas estão incluídas, pois as diretrizes consideram maiúsculas e minúsculas. Neste exemplo, ambas as instruções do Map são mapeadas até o mesmo local.

A diretriz Exec Y2" permite que o servidor HTTP execute qualquer programa CGI na biblioteca CGI. Especifique a biblioteca na qual o programa reside (não o programa em si) na diretriz. Para evitar que outros objetos *PGM na biblioteca CGI sejam executados, exclua *PUBLIC e QTMHHTP1 do acesso de objetos.

É necessário reinicializar o servidor HTTP para que as alterações efetuadas no arquivo de configuração entre em vigor, faça isto utilizando o comando STRTCPSVR CL da seguinte maneira:

     STRTCPSVR *HTTP RESTART(*HTTP)

Observe que as diretrizes Pass não são utilizadas pelo Net.Data. Se desejar simplificar sua URL, utilize a instrução MACRO_PATH em um arquivo de inicialização do Net.Data. Veja a próxima etapa.

Etapa 3--Criar o Arquivo de Inicialização do Net.Data

A criação do arquivo de inicialização do Net.Data é opcional. A vantagem em utilizar um arquivo de inicialização é a obtenção de URLs e referências menores à programas e arquivos include dentro dos arquivos da macro Web. No entanto, você deverá ter um arquivo de inicialização se decidir criar seu próprio ambiente de linguagem.

Caso um arquivo de inicialização não seja criado, o Net.Data opera como se um arquivo de inicialização somente com instruções de ambiente de linguagem aceitas (consulte a seção "Ambientes de Linguagem Aceitos") no arquivo tivesse sido configurado. Todas as referências macro, include e executáveis devem ser inteiramente qualificadas.

Se um arquivo de inicialização é criado e depois atualizado, não é necessário encerrar ou reinicializar o servidor HTTP para que as alterações entrem em vigor. O Net.Data lê o arquivo de inicialização uma vez, durante a invocação inicial através de um job do servidor HTTP. Os dados da configuração são salvos para que em invocações subseqüentes do Net.Data, ele não tenha que ler o arquivo de inicialização. No entanto, se uma alteração é efetuada no arquivo de inicialização, o Net.Data detecta a alteração e lê o arquivo novamente.

Utilize o comando Create Source Physical File (CRTSRCPF) para criar o arquivo de inicialização. Como o texto das instruções de configuração deve estar todo em uma linha, seria recomendável criar o arquivo de inicialização com um comprimento de registro de 240. O arquivo deve ser criado na biblioteca na qual o objeto do programa DB2WWW reside. O nome do arquivo deve ser "INI." O nome do membro deve ser "DB2WWW". Utilize o Utilitário de Entrada Fonte (SEU) para incluir instruções de configuração no arquivo.

Um exemplo de arquivo de inicialização está ilustrado na Figura 3. O texto de cada instrução de configuração deve estar todo em uma linha. (Uma instrução ENVIRONMENT está ilustrada em diversas linhas para ficar legível.) Observe que há um total de 6 instruções de configuração (excluindo linhas em branco) no arquivo de inicialização do Net.Data abaixo. Observe também que as instruções ENVIRONMENT não são necessárias se estiver planejando não utilizar nenhum ambiente de linguagem em suas macros Web. Também não é necessário especificar nenhuma das instruções de configuração de caminho.

+-----------------------------------------------------------------------
 
 MACRO_PATH    /WWW/MACRO;/QSYS.LIB/WWW.LIB/MACRO.FILE
 INCLUDE_PATH  /WWW/MACRO;/QSYS.LIB/WWW.LIB/MACRO.FILE
 EXEC_PATH     /QSYS.LIB;/QSYS.LIB/WWW.LIB
 
 ENVIRONMENT(DTW_REXX) /QSYS.LIB//QTCP.LIB/QTMHREXX.SRVPGM ( )
 ENVIRONMENT(DTW_SQL)  /QSYS.LIB/QTCP.LIB/QTMHSQL.SRVPGM (IN DATABASE,
   LOGIN, PASSWORD, TRANSACTION_SCOPE, SHOWSQL, DB_CASE, DTW_SET_TOTAL_ROWS,
   OUT DTWTABLE, SQL_CODE, TOTAL_ROWS )
 ENVIRONMENT(DTW_SYSTEM) /QSYS.LIB/QTCP.LIB/QTMHSYS.SRVPGM  ( )
 
+-----------------------------------------------------------------------
  Figura 3. Conteúdo do Arquivo de Inicialização (INI) do Net.Data

Etapa 4--Criar Macros Web Net.Data

Antes de criar uma macro Web, é necessário decidir em que sistema de arquivos as macros Web irão residir. Para o Net.Data é indiferente se as macros Web serão armazenadas em um sistema de arquivos como UNIX, tal como QOpenSys ou se elas serão armazenadas no sistema de arquivos de biblioteca (QSYS.LIB). Talvez até deseje armazená-las em diversos sistemas de arquivos.

Dependendo do sistema de arquivos escolhido para armazenar suas macros Web, será necessário criar um diretório ou biblioteca. A seguir são apresentados alguns exemplos:

Depois de criar o diretório ou biblioteca, agora é necessário criar uma macro Web e copiá-la para o diretório ou biblioteca. Você pode utilizar o utilitário de entrada fonte para criar um membro de arquivo físico da fonte em seu sistema AS/400. Você pode copiar o membro para um diretório do sistema de arquivos (ex: "raiz") a partir do membro de arquivo físico da fonte utilizando o comando Copy To Stream File (CPYTOSTMF) CL. Por exemplo, suponha que tenha criado o membro de arquivo físico da fonte, MACSAMP, na biblioteca WWW, arquivo físico da fonte MACRO e o membro continha o seguinte texto:

%HTML(OláMundo) {
<P>Hello World
%}

Se desejasse copiar o membro para o diretório /WWW/macro no sistema de arquivos "raiz", então seria necessário utilizar CPYTOSTMF da seguinte maneira:

   CPYTOSTMF FROMMBR('/qsys.lib/www.lib/macro.file/MACSAMP.mbr')
             TOSTMF('/WWW/macro/MACSAMP') STMFOPT(*REPLACE) ENDLINFMT(*LF)

Etapa 5--Conceder Autoridade de Perfil de Usuário aos Objetos

O perfil de usuário sob o qual programas CGI são executados deve possuir o acesso adequado a qualquer objeto referenciado em uma macro Web e à macro que a URL referencia.

Na V3R2 e V3R7, o Internet Connection para AS/400 executava apenas programas CGI sob o perfil de usuário QTMHHTP1.

Dependendo do sistema de arquivos escolhido para armazenar suas macros Web, será necessário autorizar o perfil de usuário sob o qual o programa CGI do Net.Data é executado para a macro Web. Eis alguns exemplos que concedem autoridade ao perfil de usuário QTMHHTP1:

Considerações sobre autoridade específica de ambiente de linguagem estão documentadas em cada seção de ambiente de linguagem na seção "Ambientes de Linguagem Aceitos".

Etapa 6--Invocar Macros Web Net.Data

O Net.Data para OS/400 só pode ser invocado como um programa CGI (common gateway interface). O Net.Data pode ser invocado a partir de um dos seguintes métodos:


Tabela 76. Elementos de Invocação da Macro
método Pode-se especificar get ou post, que estão especificados em HTML 2.0. O uso do método get não é recomendado devido as suas limitações.
servidor-web É o nome do servidor Web conforme definido pelo administrador do sistema. Por exemplo, www.imb.com. Se a macro existe localmente, você precisa apenas da URL relativa, omitindo http&#58;//www.ibm.com/.
arquivo-macro É o nome da macro Web conforme definido pelo desenvolvedor de aplicação do Net.Data. O que é especificado aqui está diretamente ligado ao fato de se ter ou não um arquivo de inicialização do Net.Data com a instrução MACRO_PATH especificada. Se a MACRO_PATH não estiver especificada, então será necessário especificar o nome de caminho inteiramente qualificado à macro Web. Por exemplo, o arquivo-macro seria /QSYS.LIB/WWW.LIB/MACRO.FILE/ MACSAMP.MBR se MACRO_PATH não tivesse sido especificado no arquivo de inicialização. No entanto, se o arquivo de inicialização tivesse uma instrução MACRO_PATH, então o arquivo-macro seria MACSAMP.MBR.
bloco-HTML É o nome do bloco HTML na macro Web sendo chamada.
?name=val&#38 São parâmetros opcionais que podem ser passados para as suas aplicações. Por exemplo, você pode passar a ID do usuário para que ele não precise ser fornecido diversas vezes ou passar o nome de uma macro que chame outra macro Web para que você possa se retirar.

A URL (assumindo que não há instrução MACRO_PATH) necessária para chamar o exemplo de macro criado anteriormente seria:


[ Início da Página | Página Anterior | Próxima Página | Tabela de Conteúdos | Índice ]