FTP (File Transfer Protocol) – Ambiente para transferência de Arquivos
O IW oferece recursos de transferência de arquivos entre a estação de trabalho cliente (desktop, lap top etc) utilizada pelos usuários finais do IW e a estação de trabalho servidora do aplicativo IW (ou uma das estações de trabalho servidoras, no caso de instalações que usam mais de um servidor de aplicação).
Para acessar o recurso de transferência de arquivos via FTP do IW acesse a interface F01596 em menu – Administrador – (18) FTP de Arquivos ou em menu – Execução – (16) FTP de Arquivos. A figura a seguir ilustra a interface F01596 :
Transferindo arquivos da estação de trabalho (cliente) para o Servidor de Aplicações do IW (Servidor)
No lado esquerdo dessa interface o IW irá oferecer uma navegação em árvore sobre a estrutura de diretórios da estação cliente e, no lado direto teremos uma navegação em árvore sobre a estrutura de diretórios na estação servidora do IW.
Para proceder a navegação no lado direito (estação servidora) será necessário se “conectar” no servidor de FTP. Para isso basta clicar no botão denominado “Conectar” situado na parte superior da interface (conforme ilustrado acima). A figura a seguir mostra a interface F01596 após a efetivação da conexão com o servidor de FTP:
Para proceder a transferência de arquivos propriamente deve-se:
(a) navegar até os arquivos a serem transferidos (posicionados na estação cliente, lado esquerdo da interface) e selecioná-lo(s). Nota : (a) Podem ser selecionados vários arquivos para transferência em conjunto. (b) Pode-se utilizar o recurso de “zipar” os arquivos (utilize aplicativo .zip padrão).
(b) Navegar na estrutura de diretórios na estação servidora (lado direito)
A figura a seguir ilustra essa navegação e a seleção dos arquivos:
IMPORTANTE : Para que as funcionalidades de “descompactação” e “remoção” de arquivos, disponíveis no lado da estação servidora (lado direito da interface) funcionem corretamente é fundamental que “os nomes dos arquivos” transferidos “não contenham espaços em branco”.
Transferindo
arquivos da estação de trabalho (cliente) para o
Servidor de Aplicações do IW (Servidor)
O processo de navegação nas diretórios da estação cliente e servidora são idênticos ao já descrito no tópico anterior. A figura a seguir ilustra a interface F01596 posicionada para e efetivar a transferência de uma arquivo da estação de trabalho “Servidora” para a estação de trabalho cliente.
Note que nesse caso foi feita a seleção do arquivo a ser copiado do lado direito (pode-se selecionar um ou vários arquivos) e no lado esquerdo (estação de cliente) foi selecionado um diretório para o qual será efetivada a cópia do arquivo. Uma vez realizadas corretamente as seleções clique no botão denominado “Tranferir do Servidor para o Cliente” ilustrado abaixo:
IMPORTANTE : Para que as funcionalidades de “descompactação” e “remoção” de arquivos, disponíveis no lado da estação servidora (lado direito da interface) funcionem corretamente é fundamental que “os nomes dos arquivos” transferidos “não contenham espaços em branco”.
Recursos de Apoio à Manipulação de Arquivos
Descompactando arquivos transferidos para estação servidora :
Uma prática recomendável em transferências de arquivos via FTP consiste na compactação prévia dos arquivos a serem transferidos. No caso da transferência de arquivos da estação cliente para a estação servidora a compactação deverá ser realizada diretamente pelo usuário usando os recursos normais do sistema operacional. Importante : Deve-se usar um compactador de arquivos que gere arquivos com extensão “.zip” (tipicamente utilização o compactador nativo do sistema operacional).
Após a transferência do(s) arquivo(s) para proceder a descompactação basta executar um duplo clique com o botão esquerdo do mouse diretamente sobre o nome do arquivo transferido para estação servidora. O IW irá abrir uma caixa de diálogo solicitando a confirmação para a descompactação e em recebendo o ok por parte do usuário procederá a descompactação do arquivo posicionando o(s) arquivo(s) descompactados no mesmo diretório onde estava posicionado o arquivo .zip.
Removendo arquivos transferidos para a estação servidora :
Para remover um arquivo na estação de trabalho servidor deve-se : Selecionar o(s) arquivo(s) a ser(em) removidos e clicar com o botão direito do mouse. O IW irá abir um popup menu no qual consta a opção “Remover arquivo”, clique nessa opção. O IW irá abrir uma caixa de diálogo solicitando a confirmação para remoção dos arquivos e , em recebendo o ok do usuário, procederá remoção dos arquivos selecionados na estação de trabalho servidora.
Compactando arquivos na estação de trabalho servidora :
Uma prática recomendável em transferências de arquivos via FTP consiste na compactação prévia dos arquivos a serem transferidos. No caso da transferência de arquivos da estação servidora para a estação cliente a compactação para proceder a compactação dos arquivos antes da transferência deve-se: Selecionar o(s) arquivo(s) a ser(em) compactados e clicar com o botão direito do mouse. O IW irá abir um popup menu no qual consta a opção “Compactar arquivo”, clique nessa opção. O IW irá abrir uma caixa de diálogo solicitando a confirmação para compactação dos arquivos e , em recebendo o ok do usuário, procederá compactação dos arquivos selecionados na estação de trabalho servidora, posicionando o novo arquivo .zip no mesmo diretório onde estavam posicionados os arquivos que foram compactados.
Requisitos de Instalação para a Interface FTP
A configuração de um servidor de FTP na estação servidora de aplicação do IW é um requisito essencial para o correto funcionamento da interface visual F01596.
No servidor de FTP deverá ser criada uma pasta que será a raiz do(s) diretório(s) para o(s) qual(ais) serão realizadas as transferências de arquivos envolvendo o servidor de aplicação do IW. Essa pasta deverá ter a seguinte path: “D:\IW\FTP” (onde “D” corresponde na verdade ao diretório onde estiver instalado o IW no servidor de aplicação).
Por padrão a Incoway utiliza o IIS 7 para configurar um servidor de FTP, que já vem com o Windows Server (mais pode ser instalado qualquer servidor FTP), se for adotado o IIS devemos instalar todos os seus componentes de FTP que não vem por padrão instalado no Windows Server e criar um site FTP com acesso a pasta determinada, por padrão vem a 21 configurado, mais podemos utilizar outras portas como por exemplo 2121;
Neste servidor devemos configurar as políticas de acesso e restrições por usuário ou grupos a pasta criada e os direitos de leitura e escrita. Importante: O usuário do FTP deverá ter direitos de criação e remoção de arquivos na estação servidora para que todas as funcionalidades da interface F01596 operem corretamente;
Agora com os passos acima configurados, devemos configurar o IW para acesso a pasta: são 04 parâmetros que devemos configurar na tela 151.
IFR_FTP_URL : <endereço Ip do Servidor de FTP>
IFR_FTP_DIRECTORY : <nome do diretório raiz do ftp da empresa de home care>
IFR_FTP_USER : <usuário com direitos de acesso leitura e escrita ao FTP>
IFR_FTP_PASSWORD : <senha deste usuário>
Infra-estrutura
para Integração de Informações entre
Servidores Remotos
Esse
tópico é destinado a usuários avançados,
tais como administradores e modeladores de processos de integração
de informações entre servidores remotos. Um exemplo de
uso dessa infra-estrutura seria implementar a automatização
da transferência de dados de contas médicas bem como
senhas e autorizações para um servidor remoto onde
rodam os processos de medicina preventiva (IW-Health : análise
de contas médicas, triagem e monitoramento de casos e doenças
crônicas (PGDC)). Por exemplo, a empresa usuária do
software IW poderá prestar serviços de medicina
preventiva para Operadoras em um regime de operação
onde os dados de contas médicas bem como senhas e autorizações
liberados no sistema da Operadora estarão migrando para a
plataforma de gestão da medicina preventiva (IW) de forma
totalmente automatizada.
Ao sistema propriamente dito que
implementará as funções de integração
de dados denominamos SIP
(Sistema para
Integração de Processos). O SIP consiste basicamente em
um aplicativo java que deverá ser instalado no servidor remoto
(do cliente da empresa de home care) que desempenhará o papel
de “fonte” das informações a serem migradas
e integradas ao servidor IW remoto.
Características do SIP – O SIP deve ser instalado como um serviço (gerenciado diretamente pelo sistema operacional do servidor no qual o mesmo será instalado. Esse servidor deverá ter a parte cliente do IW instalado, e deverá ter acesso acesso ao banco de dados de onde serão extraídas as informações que poderá ser um software IW ou não. Genericamente, poderá ser qualquer software , bastando-se que, esse servidor tenha acesso ao banco de dados do qual serão realizadas as extrações de informações diretamente através de comandos sql. O SIP irá executar automaticamente os seguintes passos:
extração dos dados baseado em comando SQL a serem configurados (tipicamente fornecidos pela área de TI da Operadora);
empacotamento e compactação do resultado dos comandos sql em arquivos de dados texto;
transferência para o servidor remoto do IW via protocolo internet FTP (file transfer protocol);
descompactação do arquivo no servidor remoto do IW e remoção do arquivo compactado;
carga dos dados na base do IW através de driver (importação de dados a partir de arquivos) previamente configurado no IW-Health.
Observação:
Os comandos para extração dos dados são
configuráveis. Tipicamente na execução desses
comandos o IWSip irá passar como parâmetro a data e hora
da último execução bem sucedida do processo de
integração de dados o softwares da Operadora e o
IW-Health.
Instalando
o IWSip
Preparação
para Instalação: Configurando o IW-Health do servidor
destino da integração de dados
(a) Antes de proceder com a instalação no cliente, deve ser criado um usuário no servidor IW (destinatário da integração) com nome “Incoway.SIP” e senha “x”. Notas: A opção Administrador do usuário deve ser “Não” e a opção “Somente Painel” deve ser “Sim”. Não deve ser configurado nenhum painel para esse usuário. Ou seja, esse usuário não terá nenhum direito de acesso ao aplicativo cliente, devendo ser usado exclusivamente como instrumento de conexão do SIP ao servidor remoto do IW.
(b)
Copiar a constante denominada K_INT_IFR_FREQUENCY
da base de dados de referência da Incoway (dbIwhealth). Essa
constante armazena as opções de frequência
disponíveis para execução automatizada dos
processsos de integração de dados.
(c) No IW-Health, os parâmetros requeridos para operação do SIP ficam armazenados nas tabelas : IfrIntProcess , IfrIntCommand e IfrIntExecExecpt. Na configuração padrão do IW-Health as interfaces para cadastramento desses parâmetros ficam situados na seguinte posição da árvore de menu de navegação :
Caso na sua instalação ainda não tenha esses itens na árvore de menu, certifique-se que na sua versão constam declaradas as tabelas enumeradas acima. Caso essas tabelas não existam na sua instalação você deverá solicitar atualização da sua versão à Incoway e , após essa atualização, deve-se configurar os itens de menu ilustrados acima. A seguir detalhamos como deve ser a parametrização desses itens de menu:
Ou
seja:
Nome menu
= (1) SIP – Processos
Classe
= com.iw.visualLayer.application.IwFormStartEditDialog
Seq
= 100
Idioma
= Português
Parâmetros
= |IFRINTPROCESS|ID||||||||||||
NOTA : Após a
configuração do item no menu lance a interface e
certifique as informações no gride aparecem
corretamente traduzidas. Caso a tradução esteja
inconsistente deve-se copiar a tradução para essa
interface do banco de dados de referência da Incoway
(dbIwHeallth). Para isso, na interface lançada obtenha o
Índice do gride que aparece na mesma (Indice_gride_destino:
clique com o botão direto do mouse sobre o cabeçalho do
gride e lance a opção “Configuração”
e anote o número da coluna “ìndice”).
Agora, usando o recurso de cópia de tradução
(menu – administrador – (05) Tradução –
(04) Cópia de tradução : interface F00043) faça
a cópia da tradução do Formid 1049 obtendo a
tradução do Índice origem = 4507 e índice
de destino = Índice_gride_destino que foi anotado. A figura a
seguir ilustra a interface F00043:
(2)
SIP – Comandos
Nome
menu = (2) SIP - Comandos
Classe
= com.iw.visualLayer.application.IwFormStartEditDialog
Seq
= 200
Idioma
= Português
Parâmetros
= |IFRINTCOMMAND|ID||||||||||||
NOTA : Após a configuração do item no menu, lance a interface e repita o procedimento citado na “Nota” do tópico acima considerando-se que o Índice do gride da 1049 origem da tradução nesse caso deverá ser = 4502
(3)
SIP – Exceções de horários
Nome
menu = (3) SIP – Exceções de
horários
Classe
= com.iw.visualLayer.application.IwFormStartEditDialog
Seq
= 300
Idioma
= Português
Parâmetros
= |IFRINTEXECEXCEPT|IDProcess||||||||||||
NOTA
: Após a configuração
do item no menu, lance a interface e repita o procedimento citado na
“Nota” do tópico acima considerando-se que o
Índice do gride da 1049 origem da tradução nesse
caso deverá ser = 4500
Configurando os Processos de Integração de Dados no IW-Health
Cadastrando Processos
Acesse
: menu – Administrador – (19) SIP – Configuração
– (1) SIP – Processos. A figura abaixo ilustra essa
interface :
Para
cadastrar processos clique no botão “Novo” : o IW
irá abrir uma nova linha editável no gride. Preencha os
atributos (atenção nos atributos com nome em cor de
fonte “verde” pois os mesmos são obrigatórios).
A seguir descrevemos o conceito desses atributos :
No
IW-Health estarão disponíveis telas para configuração
das seguintes entidades:
ID : Identificador sequencial do processo (gerado automaticamente pelo IW)
Nome : Nome do processo;
Freqüência: Freqüência de execução do processo. Pode ser por hora, diário, semanal ou mensal. Após uma execução do processo, automaticamente o SIP programa a próxima execução baseado nesse parâmetro;
Dia de execução: Preenchimento obrigatório quando a freqüência for MENSAL. Indica o dia do mês em que o processo deve ser executado. Se for indicado 31 nesse campo, o processo será executado no último dia de cada mês;
Dia da semana: Preenchimento obrigatório quando a freqüência for SEMANAL. Indica o dia da semana em que o processo deve ser executado;
Hora início: Preenchimento obrigatório quando a freqüência for DIÁRIA, SEMANAL ou MENSAL. Indica a hora em que deve ser iniciado a execução do processo;
Descrição: Descrição sumarizada do processo.
Driver de Importação de Arquivos : Informe o driver de importação de arquivos que deverá ser executado após todas as exportações efetuadas estarem disponíveis no servidor do IW-Health;
Cadastrando Comandos Sql
Acesse : menu – Administrador – (19) SIP – Configuração – (2) SIP – Comandos. A figura abaixo ilustra essa interface :
Para cadastrar processos clique no botão “Novo” : o IW irá abrir uma nova linha editável no gride. Preencha os atributos (atenção nos atributos com nome em cor de fonte “verde” pois os mesmos são obrigatórios). A seguir descrevemos o conceito desses atributos :
Processo : Indica a qual processo o comando está associado;
Sequência: Ordem de execução do comando dentro do processo. Primeiro será executado o comando com sequência 1, depois o com sequência 2, e assim por diante;
Nome do arquivo para upload : Caminho completo (diretório ) e prefixo do nome do arquivo (sem extensão) que será gravado no servidor da Operadora com os dados obtidos a partir da execução do comando sql. O IW irá apendar a esse prefixo de nome a data de hora exata da geração arquivo em formato “yyyyMMdd_HHmmss”. Exemplo: D:\IW\Contas, indica que os arquivos txt gerados na extração dos dados serão salvos como D:\IW\Contas_ yyyyMMdd_HHmmss.txt;
Diretório para upload – Nome da pasta onde devem ser feito o upload dos dados extraídos. Exemplo: Import\AnCart_Cust_Gen\GLBMONITORINGCOST , indica que o arquivo gerado será transferido via FTP para a pasta Import\AnCart_Cust_Gen\GlbMonitoringCost no servidor do IW-Health. IMPORTANTE: o nome desse diretório deve ser compatível com o nome de diretório configurado na tela de configuração de Importação/Exportação do IW-Health, e deve existir debaixo da raiz de FTP do cliente no servidor do IW;
JDBC Connection – É a string JDBC para conexão com o banco de dados do cliente. Deve ser fornecido pela Operadora. Exemplo: Para conexão com banco SqlServer versão 2005 essa string seria : “JDBC Connection = com.microsoft.sqlserver.jdbc.SQLServerDriver”.
JDBC Url – É a string que indica a URL para conexão com o banco de dados do cliente. Deve ser fornecido pela Operadora. Nessa url ficam especificados basicamente o endereço IP de acesso ao banco de dados , um usuário e senha para autenticação no servidor de banco de dados. Exemplo: DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433", "userName", "password"). Onde “locahost deve ser substituído pelo endereço IP do servidor de banco de dados na rede da Operadora, e “userName” e “password” devem ser substituídos pelo nome do usuário e senha respectivamente que serão utilizados pelo SIP no login no servidor de banco de dados da Operadora.
Comando SQL – É o comando SQL que será executado no sistema do cliente para obtenção dos dados a serem exportados. Se no comando existir a string $P(1), ela será substituída pela data da última execução do comando no formato dd/mm/yyyy hh24:mm:ss (dia, mês, ano, hora (0 a 24), minutos e segundos). A conversão desse formato de data para a versão do SQL utilizada deve constar no próprio comando. O fornecimento desse comando é de responsabilidade da Operadora. Exemplo: select NumCarteira, DataProced, Procedimento, Local from ContasMedicas where DataRegistro > to_date('$P(1)','dd/mm/yyyy hh24:mm:ss'), gerará um arquivo com número de carteira, data do procedimento, descrição do procedimento e local obtidos na tabela ContasMedicas existente no banco de dados do cliente, com data de registro posterior à última execução desse comando;
Descrição : Descrição sumarizada do comando.
Cadastrando Restrições de Horário
Acesse : menu – Administrador – (19) SIP – Configuração – (1) SIP – Processos. A figura abaixo ilustra essa interface :
Descrição
das Colunas:
EXCEÇÕES DE HORÁRIO – Identifica os horários em que o processo não deve ser executado:
Processo : Indica a qual processo vale o bloqueio de execução;
De : Indica a hora inicial do período de bloqueio de execução;
Até : Indica a hora final do período de exceção.
Nota:
Pode existir mais de um período de bloqueio de execução
para cada processo.
Observação:
o SIP executará cada comando associado a um processo, gerando
o arquivo de exportação e transferindo via FTP para o
servidor remoto do IW. Após a execução do último
comando, será executado automaticamente o driver de importação
referente ao processo.
Para ver a documentação
detalhada de um exemplo de uso da arquitetura SIP para implementação
da integração entre IW e o softwares de gerenciamento
de uma Operadora veja o tópico : Caso Exemplo : Uso
da Arquitetura SIP na Implementação de Integração
Remota entre Sistema Contas Médicas uma Operadora x IW-Health.
Preparação do arquivo installSip.incoway específico para a Operadora
O arquivo installSIP.incoway é utilizado para que a aplicação grave no registry do Windows (ou no arquivo de preferências do Unix ou Linux) os dados necessários para o “start” do processo. A gravação dessas informações acontecem na primeira execução do aplicativo. Após isso, se for necessário ajustar algum dos parâmetros, deverá ser editado diretamente no registry.
Descrição do arquivo
Este arquivo é um arquivo texto normal e é composto por três linhas.
Linha 1 – Refere-se ao profile do cliente.
PROFILE=<nome
do banco do cliente no sigma>|
Exemplo:
PROFILE=dbIwIncoway|
Linha 2 – Refere-se ao intervalo de tempo, em segundos, que a aplicação irá aguardar entre um processamento e outro.
INTERVAL=<tempo
em segundos>|
Exemplo:
INTERVAL=300|
Observação: Se for configurado um intervalo menor que 30 segundos, será assumido 30 segundos, para evitar eventuais sobrecargas no servidor do cliente.
Linha 3 – Refere-se às informações para acesso ao banco do Operadora no servidor remoto onde é executado o IW-Health.
ALIAS=Provider=MSDAORA.1;Password=x;User ID=Incoway.SIP;Data Source=XE;Persist Security Info=True|URL=http://201.93.156.47:9090/Dispatcher/BridgeServlet|TYPE=ORACLE|
Observação:
O arquivo padrão disponibilizado para os implantadores da
Incoway, já estará configurado com essa string.
Nota:
O conteúdo da terceira linha ( ALIAS=Provider...) pode ser
obtido no IW-Health, na tela 151 no parâmetro
SYS_INCOWAY_SUPPORT, sendo que deve ser alterado o usuário
(User ID=) para Incoway.SIP, como indicado acima.
ATENÇÃO:
Ao final de cada linha deve ter
o caracter “|”.
Pré-requisitos
para Instalação do IWSip na Operadora
-
Definir em qual estação servidora na rede da Operadora
será instalado o IWSip
- Instalar a máquina virtual
java JRE 1.5 no servidor indicado
- Cadastrar um usuário
e senha no servidor de banco de dados da Operadora ( a ser utilizado
pelo IWSip )
Nota: Alguns bancos de dados utilizam portas
de comunicação específicas para acesso ao banco
via tecnologia JDBC.
Exemplo: No banco de dados SQLSERVER o
JDBC utiliza a porta 1433. Essa porta deverá estar
devidamente liberada no servidor de banco de dados.
Instalando
o IWSip no servidor da Operadora
A
aplicação SIP é composta pelos seguintes
arquivos:
iwsip.jar
IwSIPService.exe
IwSIPServiceInstall.bat
IwSIPServiceUninstall.bat
Access_JDBC30.jar
sqljdbc.jar
installSip.incoway
activation.jar
commons-httpclient-2.0.2.jar
commons-logging.jar
commons-net-1.2.2.jar
dom4j.jar
iwbaseapplication.jar
iwbasecommunication.jar
iwbasecomponents.jar
iwbasecontroller.jar
iwbaseinfrastructure.jar
iwdebug.jar
iwdocuments.jar
jakarta-oro-2.0.8.jar
jaxm-api.jar
jaxm-client.jar
jdom.jar
jericho-html-2.6.jar
jxl.jar
kunststoff.jar
mail.jar
saaj-api.jar
saaj-ri.jar
Esses arquivos devem ser copiados para uma nova pasta (sugestão <drive do equipamento>:\IW\SIP. Exemplo: D:\IW\SIP). O arquivo “installSip.incoway” deverá ser copiado para a pasta do sistema operacional “system32” do windows (exemplo de path seria c:\windows\system32)
Após a cópia dos arquivos, abrir uma sessão cmd no Windows (menu Iniciar --> Executar --> cmd ). Ir para a pasta criada e executar o arquivo bat IwSIPServiceInstall . Esse programa irá carregar o SIP como serviço do Windows. Após a conclusão do bat, ir no Gerenciador de Serviços do Windows e verificar as configurações do serviço IWSIP. Ele estará definido com o “Tipo de inicialização” automático. Alterar esse parâmetro, se o cliente achar necessário. Após a instalação será necessário iniciar o serviço manualmente na primeira vez.
Atenção: A versão atual do SIP contempla os gerenciadores de banco de dados Access e SQLServer. Se o gerenciador de banco de dados do cliente for outro, deve ser informado à equipe de desenvolvimento da Incoway para inclusão do novo JDBC e recompilação da aplicação. Sempre que possível, obter o arquivo jar, do JDBC, com o cliente.
Observação: A aplicação SIP grava eventuais mensagens de erro num arquivo texto chamado iwsip.log, na pasta em que está instalada.