quarta-feira, 26 de setembro de 2012

Parâmetros do Protheus Remote


Parâmetros do Protheus Remote
Revisão: 03/06/2004
Abrangência
Versão 5.07
Versão 5.08
Versão 6.09
Versão 7.10
Versão 8.11

Ao ser iniciado, o Protheus Remote exibe a tela de parâmetros iniciais, para identificação do Ambiente, da Conexão e do RPO inicial. Porém, tais informações podem ser informadas através da linha de comando do ícone de acesso ao Protheus Remote. As opções de linha de comando do Protheus Remote são:
  • -Q = Indica que o Protheus Remote não deve exibir o 'Splash' inicial.
  • -P = Identifica o programa inicial a ser executado.
  • -E = Identifica o ambiente em uso no servidor. (Environment)
  • -C = Identifica qual a seção de configuração de rede no arquivo de configuração do remote que será utilizada.
  • -M = Permite multiplas instâncias do remote sejam executadas na estação.
  • -A = Permite passagem de valores como parâmetros ao programa inicial a ser executado. (veja parâmetro -P )

Por exemplo, pode-se utilizar a linha de comando abaixo para executar o módulo SIGAEST no Ambiente nomeado Env_TOP_ENGLISH , passando-se 123 e 456 como parâmetros do programa Sigaest.
Sessões e chaves do arquivo de configuração
Revisão: 08/11/2004
Abrangência
Versão 5.07
Versão 5.08
Versão 6.09
Versão 7.10
Versão 8.11

Abaixo as sessões (entre colchetes) e as chaves de configuração do arquivo de configuração do Protheus Remote. Algumas chaves são dependentes de sistema operacional onde o Protheus Remote será executado outras são dependentes da versão do Protheus.
[config]
lastmainprog   =  sigafat               último programa executado pelo Protheus Remote
envserver = environment             último environment acessado pelo Protheus Remote
language =   1 ou 2 ou 3                idioma utilizado pelo Protheus Remote em suas mensagens de aviso. 1= Português (default ) 2 = Espanhol 3= Inglês, a partir do Protheus 8, esta opção poderá ser obtida automaticamente (se não informada no arquivo de configuração) através da configuração do sistema operacional onde o Protheus Remote está sendo executado
twotier   = 1 ou 0                           se habilita a opção de acionamento automático do Protheus Server Local, 1 = aciona 0=não aciona (default)
serverdir  = <path do Protheus Server>     chave opcional utilizada em conjunto com a chave twotier onde informamos o path do Protheus Server Local. Se não informada, será utilizado o path padrão de instalação do Protheus Server. Ex: c:\ap7\bin\server se Protheus 7
browserenabled   = 1 ou 0            se habilita o uso do navegador MS-Internet Explorer dentro do Protheus Remote ( 1 = habilita 0 = não habilita (default ) ), chave válida somente para versões Windows do Protheus Remote
helpbrowser = <path do navegador>     no Protheus Remote Linux, informa o path do navegador padrão para visualização de arquivos de help
[ drivers ]
active = tcp                                   sessão ativa com configurações de conexão entre Protheus Remote e Protheus Server ( no exemplo a sessão tcp deve existir no arquivo de configuração )
[ tcp ]                                             sessão com parâmetros de conexão com o Protheus Server
server = 172.76.89.12                  endereço TCP/IP ou nome da máquina onde o Protheus Server está sendo executado
porta = 8977                                 porta TCP/IP utilizada pelo Protheus Server na máquina cujo endereço foi configurada na chave server ( verificar arquivo de configuração do Protheus Server nessa máquina )
secureconnection = 0 ou 1               habilita conexão segura com o Protheus Server, 0 = não habilita (default ) 1 = habilita, o Protheus Server também deve ser configurado para aceitar esse tipo de conexão
[ printer_map_port2spool ]         sessão de mapeamento de portas de impressão para spool de impressão, sessão somente válida para Protheus Remote Linux
lpt<x> = <nome da impressora no spool>     mapeamento da porta lpt<x>, onde x = número da porta, para a impressora configurada no spool. Em ambiente Linux, será suportado somente servidor de impressão CUPS. Exemplo de chave: lpt1 = hp640c, toda impressão direcionada para a porta lpt1 será redirecionada para a impressora CUPS nomedada hp640c.
rawprintercommand = <comando>        comando opcional para impressão mapeada, deve ter sintaxe como o exemplo: 'lpr -P <printer> -l -r <job>' onde <printer> e <job> serão substituídos pelo Protheus Remote no momento da execução da impressão.

Remote Activex - Auto-atualização

Revisão: 10/11/2003
Abrangência
Versão 6.09
Versão 7.10
Versão 8.11

Toda vez que acessamos uma página html que contém um controle ActiveX, o Internet Explorer compara a versão que esta instalada na máquina com a versão que está disponível no Web Server.
Se as versões forem diferentes, o Internet Explorer irá realizar um download do controle ActiveX do Web Server e instalá-lo na máquina do browser.
Esta atualização é automática e não requer intervensão do usuário, somente deve ser confirmada a tela de certificado de segurança e autenticação ( Authenticode ).

Remote Activex - Configuração do .htm

Revisão: 03/06/2004

Para configurar a carga do Protheus Remote ActiveX, deve-se editar ( com notepad.exe por exemplo ) o arquivo .htm que acompanha a distribuição do componente da maneira abaixo:
Suponhamos que devamos acessar o Protheus Server que responde na máquina Server1 cujo endereço TCP/IP seja 212.122.87.2 na porta TCP/IP 8987, ainda desejamos que o programa inicial seja o módulo SIGAFAT acessando o ambiente de execução ENVIRONMENT, desejamos ainda que o usuário não possa alterar a configuração inicial, o arquivo .htm deverá ficar assim:
<html>
<head>
<meta http-equiv='Content-Language' content='en-us'>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1252'>
<title>Protheus Remote 7</title>
</head>
<body topmargin='0' leftmargin='0' rightmargin='0'>
<object
 classid='clsid:EDA3C4AB-B1B5-47B7-B6D1-B27858413B53'
 codebase='ap7rmtx.cab#version=7,0,1017,0'
 width='100%'
 height='100%'
 align=center
 hspace='0' border='0'
>
 <param name='Server' value='212.122.87.2'>
 <param name='TCPPort' value='8987'>
 <param name='Environments' value='ENVIRONMENT'>
 <param name='StartProgram' value='SIGAFAT'>
 <param name='ReadOnly' value='OFF'> // se desejar permitir alteração de valores na tela inicial do Protheus Remote ActiveX
<param name='SecureConnection' value='1'> // se desejar conexão segura, o Protheus Server deve estar configurado para aceitar conexões seguras
<param name='Browserenabled' value '1' > // se habilita o uso do MS-Internet Explorer dentro do Remote Protheus ActiveX
</object>
</body>
</html>
A cada atualização do Protheus Remote ActiveX, que ocorre a cada troca de build do Protheus, as chaves do .htm acima 'classid' e 'codebase' sofrem alterações de versão e portanto é necessário reeditar o .htm utilizado com as informações de acesso desejadas.
Remote Activex - Descrição do produto
Revisão: 12/11/2003
Abrangência
Versão 6.09
Versão 7.10
Versão 8.11

O Protheus Remote ActiveX é o próprio Protheus Remote compilado utilizando-se tecnologia de distribuição de componentes conhecida por ActiveX.
A tecnologia ActiveX foi desenvolvida pela Microsoft e é mantida por ela, por conseqüência somente é suportada em ambiente Windows.
Qualquer aplicação Windows que suporte ActiveX pode utilizar componentes ActiveX na forma de plugins com a finalidade de extender as suas funcionalidades. Para utilização dessa tecnologia, recomenda-se verificar a documentação da Microsoft sobre a tecnologia e a documentação do aplicativo que deseja-se extender com uso de ActiveX.
O Protheus Remote ActiveX é um componente ( .cab) que pode ser anexado a páginas html, para uso em Web ( Internet / Intranet ) que permite o acesso remoto ao Protheus Server com as mesmas funcionalidades do Protheus Remote.
As funcionalidades e restrições de uso são idênticas ao Protheus Remote.
A comunicação entre Protheus Remote ActiveX e Protheus Server segue o mesmo mecanismo que o utilizado entre o Protheus Remote e Protheus Server.
Quanto a compatibilidade com browsers, se o browser suporta uso de tecnologia ActiveX, também suportará o uso do Protheus Remote ActiveX, verifique a documentação do Browser a ser utilizado para saber se o mesmo suporta a tecnologia.
Atualmente a Microsiga homologa o uso do browser Microsoft Internet Explorer versão 5 ou superior.

Remote Activex - Instalação

Revisão: 05/11/2003

A instalação do Protheus Remote ActiveX depende da configuração do .htm fornecido com o componente e da instalação do .htm e .cab em algum Web Server como por exemplo MS-IIS ou Apache ou ainda o Protheus Server configurado com servidor Web.
Se existe algum Firewall ou Proxy entre o Web Server e o browser que vai acessar o Protheus Remote ActiveX estes deverão ser configurados para permitir o acesso ao endereço e porta TCP/IP configurados no arquivo .htm.

Remote Activex - Segurança

Revisão: 05/11/2003

O Protheus Remote ActiveX é basicamente composto de dois elementos:
  • A página HTML que efetua a carga do Remote ActiveX no browser e;
  • O componente do Remote ActiveX (.cab) que é distribuido pela Microsiga assinado com um certificado de autenticidade fornecido por orgão certificador ( www.verisign.com ).
A segurança de acesso da página HTML deve seguir os padrões normais de acesso a qualquer Web Server ( login, chave de certificação, SSL... ), existem várias soluções de mercado.
A segurança de execução do componente Protheus Remote ActiveX é garantida através:
  • Certificado de autenticidade do componente.
  • Encriptação aplicada no conteúdo do protocolo de comunicação entre o Protheus Remote ActiveX e o Protheus Server;
  • Login , menu de usuário e controle de alçada conforme as regras do ERP.
As mesmas regras de segurança acima citadas valem para o Protheus Remote.

Versão Linux - Ambientes testados

Revisão: 04/10/2004

A versão atual do Protheus Remote Linux foi testada em:
  • Conectiva Linux 8 ( KDE 3.1, kernel 2.4 )
  • Conectiva Linux 9 ( KDE 3.2, kernel 2.4 )
  • Suse Linux 8 ( KDE 3.1, kernel 2.4 )
  • Suse Linux 9 ( KDE 3.2, kernel 2.4 )
  • Suse Linux 9.1 ( KDE 3.2, kernel 2.4 )
E esta em testes:
  • Conectiva Linux 10 ( KDE 3.2.3 kernel 2.6 ), para que o Remote Protheus Linux funcione nesta distribuição será necessário instalar o pacote libstdc++2.10-2.95.4-29033cl.rpm

Versão Linux - Diferenças em relação a versão Windows

Revisão: 01/10/2003

O Remote Protheus Linux está em desenvolvimento buscando uma solução para os clientes que necessitam de uma interface para o Servidor Protheus em ambiente Linux de forma nativa e não emulada.
O ambiente Linux, em particular, o ambiente X Windows, tem muitas semelhanças mas também muitas diferenças em relação ao ambiente MS Windows.
A principal diferença está no fato do ambiente MS Windows tem um único gerenciador de janelas enquanto que o X Windows, por sua natureza aberta, pode ter 'n' tipos diferentes de gerenciadores de janelas.
Em um ambiente X Windows, cada janela de programa tem um comportamento separado o que nos permite as vezes clicar em janelas que estão em diferentes níveis de execução, no MS Windows isso não acontece.
Os arquivos de configuração também são diferentes entre ambientes X Window e MS Windows.
Para quem programa em Advpl, tentaremos que os programas não tenham que ter comportamento diferente entre os ambientes, mas quando houver necessidade, notificarmos as diferenças.
A documentação sobre ambiente X Window pode ser encontrada em sites de configuração de ambiente Linux.

Versão Linux - Disponibilidade para testes

Revisão: 03/06/2004

O Protheus Remote Linux encontra-se disponível para testes no ftp da Microsiga nos links abaixo:
Para Protheus 6:
Para Protheus 7:
Para Protheus 8

Versão Linux - Impressão

Revisão: 03/06/2004

A impressão no Remote Linux pode ser executada da seguinte maneira:
  • Via spool do Linux ( semelhante ao spool do Windows )
  • Via porta LP<n> ( semelhante as portas de impressão do MS-DOS ) (*)
  • Mapeando uma impressora do spool de impressão CUPS a uma porta de impressão, ver Configuração do Protheus Remote em Grupos Relacionados abaixo.
(*) Nesse caso, como o Linux restringe o acesso as portas \dev\lp0, \dev\lp1, para se imprimir na porta LPT1, por exemplo, deve-se dar acesso de escrita ao usuário que executa o Protheus Remote a porta \dev\lp0

Incompatibilidades

Revisão: 18/11/2003

As versões do Protheu Remote Linux inferiores 7.00.20031118a apresentam incompatibilidade com algumas distribuições Linux, entre elas, Conectiva Linux 9.
Na execução dessa versão o era apresentado o seguinte erro na execução:
./ap7rmt: relocation error: ./ap7rmt: undefined symbol: _t24__default_alloc_template2b1i0.free_list

Versão Linux - Instalação

Revisão: 03/06/2004
Abrangência
Versão 6.09
Versão 7.10
Versão 8.11

O Protheus Remote Linux é distribuido através de uma arquivo 'tarball' compactado com os nomes:
ap6rmt.tar.z para Protheus 6
ap7rmt.tar.z para Protheus 7
mp8rmt.tar.z para Protheus 8
No ftp oficial da Microsiga.
Para instalar o programa:
Descompacte o arquivo tar executando o seguinte comando na linha de comando do shell do Linux: tar xvzf <arquivo tar>
No diretório de instalação deverão aparecer os arquivos:
ap6rmt para Protheus 6 ou
ap7rmt para Protheus 7 ou
mp8rmt para Protheus 8
Crie o arquivo de configuração conforme descrito na sessão de Configuração do Protheus Remote / Arquivo de Configuração, ver Grupos Relacionados.
./ap6rmt ou ./ap7rmt ou ./mp8rmt
Não esquecendo que o './' é necessário para executar programas no Linux se o path do programa nao estiver configurado na variável de ambiente PATH. ( mais informações sobre execução de programas em Linux ou Unix pode ser encontrados em literatura ou cursos de referência )

Versão Linux - Limitações

Revisão: 16/11/2004

O Protheus Remote Linux tem as seguintes limitações em relação a versão Windows(r):
  • Não tem suporte a integração de aplicativos que rodam exclusivamente em Windows, Exemplo: MS-Office, Crystal Reports, MS-Visio...
  • Não tem suporte a visualização e impressões gráficas, exceto aos relatórios padrões do sistema *
  • Não tem suporte a auto-atualização **
  • Não tem suporte a exibição de gráficos ( Ex: SIGAFIN | Fluxo de caixa ) ***
  • Não tem suporte a recursos de OleContainer ( Ex: Exibir documentos do Word dentro de uma janela do Remote Protheus )
  • Não tem suporte ao uso da SIGALOJA.DLL ****
* Disponível a partir do build 7.00.041103A
** implementado para a versão Protheus 8
*** Disponível no Protheus 8 Remote Linux em build superior a 7.00.040917A
**** Terá suporte somente quando a SIGALOJA.DLL for portada para Linux.
Previsão de lançamento da versão oficial
Revisão: 11/08/2004

A versão oficial do Protheus Remote Linux é a versão Protheus 8.
As versões do Protheus Remote Linux para Protheus 6 e Protheus 7 permanecerão como versões beta mesmo após o lançamento da versão Protheus 8.

Atualização Automática do Remote Protheus 8

Revisão: 05/07/2004

A atualização automática no Protheus 8 foi alterada para suportar atualizações tanto de clientes ( remote ) windows como Linux, ela também suporta atualizações de outros arquivos que não estejam diretamente ligados aos arquivos distribuídos.
Para habilita-la é necessário colocar no INI do servidor as seguintes chaves:
Todos os arquivos contidos no diretório informado serão copiados inclusive os arquivos INI, caso algum arquivo seja atualizado ( dll por exemplo ), ela será copiada na primeira execução do sistema.
Os arquivos deverão estar descompactados, o usuário deverá ter acesso para gravação no diretório de DESTINO ( onde o remote está sendo executado pelo usuário! )
Não é necessário utilizar FTP ou CAB´s para esta atualização, o remote utilizará o próprio protocolo para fazer a atualização.

[UPDATE]
Enable=1
PathWindows=<Caminho do Remote Windows>
PathLinux=<Caminho do Remote Linux>

Exemplo de Configuração Windows:
[UPDATE]
Enable=1
PathWindows=c:\protheus8\bin\remote
PathLinux=c:\protheus8\bin\remote_linux
Exemplo de Configuração Linux:
[UPDATE]
Enable=1
PathWindows=/microsiga/protheus8/bin/remote
PathLinux=/microsiga/protheus8/bin/remote_linux

Mensagens da Atualização Automática do Remote

Revisão: 01/02/2005
Abrangência
Versão 8.11

Situação :
Quando configurado o sistema de atualização automática do Remote do Protheus8, em caso de eventual falha na atualização por inconsistências na configuração ou erro de acesso a arquivos na estação remota, no remote era exibida apenas a mensagem 'Não foi possivel atualizar automaticamente o Remote. - Notifique o Administrador do sistema para proceder atualização da versão do Protheus Remote.'
Novas mensagens implementadas - Protheus Server
  • Caso a configuração para atualização automática esteja habilitada, porém o diretório de atualização de origem, especificado do servidor, não conhenha nenhum arquivo, a atualização automática é interrompida, e a mensagem abaixo é exibida no console do Protheus Server.
*** WARNING : Update directory [xxx] EMPTY.
  • Quando executado o Protheus Server em ambiente Linux/Unix, os nomes de todos os arquivos nos diretórios de atualização devem ser especificados em lertas minúsulas. Caso um ou mais arquivos no diretório de atualização não atendam esta exigência, o Protheus Server  não envia nenhum arquivo à estação remota, e exibe o(s) nome(s) do(s) arquivos(s) inconsistente(s) através da(s) mensagem(s) abaixo, onde yyy informa o nome do arquivo que não foi considerado válido.
*** WARNING : Invalid update file [yyy]
  • Quando é atualizado o Protheus Server, num ambinete configurado para atualização automática do Protheus  Remote, devemos atualizar também os arquivos do remote especificados na configuração do Protheus Server, para que as estações remotas sejam atualizadas no proximo logon. Em uma atualização de binário, caso apenas o servidor seja atualizado, no próximo logon do Protheus Remote, será solicitada a atualização do Remote. Porém, como os arquivos do remote não foram atualizados no servidor, o sistema não encontrará diferença entre os arquivos, e não enviará nenhum arquivo à estação remota. Neste caso, será exibida a mensagem de advertência abaixo, no console do Protheus Server :
*** WARNING : Build mismatch on files in update server.
*** Verify if remote update files math with this Protheus Build.

Novas mensagens implementadas - Protheus Remote
Em caso de falha na atualização automática, foram implementadas mensagens com maiores informações sobre as ocorrências.
  • Não foi recebido nenhum arquivo a atualizar.- Notifique o Administrador do sistema para proceder atualização da versão do Protheus Remote.
Esta mensagem será exibida no remote, por exemplo, caso o Protheus Server não esteja configurado adequadamente  para a atualização remota. O Administrador do ambiente deverá ser notificado, e verfiicar as configurações e arquivos especificados para atualização no ambiente do Servidor.
  • Não foi possível atualizar o executável do Protheus Remote.- Notifique o Administrador do sistema para proceder atualização da versão do Protheus Remote.
Esta mensagem será exibida quando não for possível substituir o executãvel do Protheus Remote em execução no momento pelo arquivo executãvel atualizado. O Administrador do ambiente deverá ser notificado, e verificar a existência do executável apropriado na pasta de atualização do servidor, e verificar os direitos de acesso de gravação do usuário logado na estação remota, como também verificar na estação remota se o arquivo executável do Protheus Remote está com o atributo de 'somente-leitura' ligado.
  • Não foi possível identificar os arquivos no diretório do Protheus Remote.- Notifique o Administrador do sistema para proceder atualização da versão do Protheus Remote.
Esta mensagem será exibida, quando não foi possível identificar a lista de arquivos presentes no diretório onde o Protheus Remote está sendo executado. O Administrador do ambiente deverá ser notificado, e verificar os direitos de acesso do usuário logado na estação remota, como também verificar a localização física dos arquivos do Protheus Remote na estação remota, e de que maneira o executável do Protheus Remote está sendo disparado. Caso o mesmo esteja sendo executado a partir de um 'atalho', verificar se o diretório de trabalho do atalho é o mesmo de onde se encontra o executável do Protheus Remote.
  • Não foi possível atualizar um arquivo do Protheus Remote
    Arquivo [xxxx]
    - Verifique os atributos do arquivo, e se este arquivo está em uso por outro aplicativo .
    - Notifique o Administrador do sistema para proceder atualização da versão do Protheus Remote.
Esta mensagem será exibida no momento da atualização efetiva dos arquivos da estação remota, onde o arquivo que não foi possível atualizar é especificado em xxxx . O Administrador do ambiente deverá ser notificado, e verificar os direitos de acesso/ gravação do usuário logado na estação remota, verificar se o arquivo informado está com o atributo de 'somente-leitura' setado, e se, no momento da atualização deste arquivo, não existe alguma outra aplicação que esteja realizando algum acesso à este arquivo.
  • Não foi possível atualizar o atributo de execução do Protheus Remote.
    - Notifique o Administrador do sistema para proceder atualização da versão do Protheus Remote.
Em ambientes linux, após a cópia do executável do Protheus Remote para a pasta atual de trabalho, caso não seja possível a alteração do atributo de 'execução' do Protheus Remote, a mensagem acima é exibida. O Administrador do ambiente deverá ser notificado, e verificar se o usuário autalmente logado na estação remota possui direitos para alteração do atribudo do executável, ou seja, direitos suficientes para executar o comando 'chmod +x mp8rmt' na pasta de trabalho do Protheus Remote.
Referente ao BOPS 78171