Você sabia que o Fusion Platform possui a capacidade de se conectar a bases de dados Progress OpenEdge de forma nativa utilizando o driver liberado por padrão no produto e sem qualquer complicação?
Conecte-se com sua base Progress (Datasul, QaD, aplicações específicas, etc.) em sua plataforma de transformação digital (Fusion Platform) sem complicações.
Como funciona a integração entre Progress e Fusion Platform?
Para isso você precisa entender algumas premissas básicas de como o banco de dados Progress funciona.
1. Entenda os diferentes engines do banco de dados Progress
Existe um engine de banco de dados específico para as aplicações 4GL desenvolvidas em Progress padrão e um engine de banco de dados específico para responder conexões “do mundo exterior”, e não entender esse princípio básico normalmente é o início dos problemas.
2. Compreenda as configurações necessárias para conexões externas
Uma vez compreendido o item 1 e desejar “furar a bolha” do mundo 4GL Progress, entender como que as configurações e os serviços de banco de dados 4GL e SQL precisam ser realizados para que não se gerem os problemas padrões (Erros de no sql server avaliable, erros de número de usuários atingidos, erros de usuários não conseguindo logar nas aplicações 4GL, erros de “conexões travadas em banco”, etc.) onde a consequência sempre é apontar o dedo para o “coleguinha”, quando na verdade o problema está na origem, ou seja, no setup do banco Progress mal feito, ou sequer feito olhando a nova realidade de um novo mundo que se apresenta a sua frente.
3. Conheça as opções existentes para integração
A seguir, algumas alternativas existentes, com foco no uso do driver JDBC nativo da Progress.
OpenClients
Possível fazer chamadas a APIs e códigos 4GL de forma remota seja via JAVA ou .Net de forma nativa ou ainda expor um programa desenvolvido em 4GL na forma de Webservices SOAP.
Não é o foco desse material, mas também é possível utilizar esse mecanismo para integrar com o Fusion Platform de uma forma direta, confiável, nativa e escalável.
Conexão a banco de dados
Utilizando a interface de formulário externo do Fusion Platform, que confia na especificação padrão dos drivers JDBC type 4 ou superior, conectar o driver padrão do OpenEdge que suporta essa especificação garantindo que todos os arquivos do driver estejam disponíveis sob a instalação da plataforma para que as classes sejam encontradas.
4. Entenda a importância dos pools de conexão
Saber como as aplicações empresariais escritas em JAVA utilizando o mínimo de boas práticas de uma boa arquitetura funcionam para assim entender que o uso de POOLS de conexão por exemplo, quando bem aplicados, trazem benefícios e ganhos de escala e performance e não são feitos apenas para “consumir conexões no meu banco de dados” ou “manter conexões presas” no meu banco de dados.
Pool de conexões são feitos para manter esses contextos abertos junto ao servidor para assim evitar o overhead de ter que abrir e fechar conexões a cada requisição que a aplicação irá realizar para busca de dados, e entender isso, é básico.
Por que utilizar formulários externos com JDBC no Fusion Platform?
Importante ressaltar que essa funcionalidade de formulário externo conectando em bases externas utilizando drivers JDBC atende a todos os requisitos mínimos de uma boa arquitetura de software com foco na leitura de registros.
Podendo ser utilizado também para escrita, mas aí outras variáveis precisam também ser consideradas.
O Fusion cria uma camada de aplicação
O Fusion cria uma camada de aplicação a partir da leitura do esquema da fonte de dados Progress, sendo por meio dessa camada que ocorre a comunicação.
Essa estrutura pode utilizar recursos da própria plataforma, como auditoria, entre outros. Portanto, não se trata de um acesso direto à base de dados.
Monitoramento e acompanhamento das conexões
Além da camada da plataforma, o próprio driver da Progress, assim como outros, provê opções de monitoramento.
Adicionalmente, todas as ferramentas nativas da Progress podem ser utilizadas para acompanhar conexões, processamento e demais operações.
Escalabilidade sem custos adicionais
Para fins de leitura de registros e integração facilitada e que seja altamente escalável, é uma das melhores opções atualmente existentes.
E reforçamos: é padrão, é de graça (Drivers Progress passaram a não ter custo) e se bem entendida e configurada, vai elevar as suas possibilidades de automação de processos na sua empresa e te levar mais longe sem custos com desenvolvimento, códigos específicos, configurações de camadas ou componentes complexos, etc.
Referências importantes para ambientes Progress
Seguem algumas referências importantes que infelizmente o mundo 4GL da Progress pouco conhece ou estudou.
SQL-Width e compatibilidade das aplicações
Entender que eventualmente mudar o SQL-Width de alguns campos (Progress usa hard-limits no engine SQL-92) não altera CRC de aplicações Progress: artigo-20245.
Como alterar o SQL-width caso esse erro seja apresentado no momento de se conectar a uma tabela em base de dados Progress: artigo-P26983 ou artigo-P128368.
Reforçamos, esse ajuste NÃO ALTERA CRC de banco ou irá gerar problemas com programas Progress compilados (.r): artigo-P10811.
Configuração de brokers SQL-92
É uma boa prática fazer o setup de um broker complementar para atender as requisições SQL-92 vindas de aplicações externas, como nesse caso aqui, aplicação feita em Java Fusion Platform: artigo-1 e artigo-2.
DICA: A maioria erra justamente nessa configuração aqui, achando que o padrão de configuração -Ma, -Mn e -n resolve.
UM USUÁRIO SQL-92 consome um processo server SQL-92, ou seja, muita atenção no -Mn.
Drivers JDBC da Progress
Drivers JDBC Progress a partir da versão 10.0A não são mais produtos pagos e podem ser redistribuídos: artigo-P9240.
Quais são os arquivos que compõem o driver: artigo-P130654.
Nesse caso aqui o Fusion já incorpora os arquivos em sua própria aplicação e assim facilita o deploy.
Suporte nativo para conexões externas
A Progress dá suporte nativo a que aplicações externas se conectem em sua base de dados, segue exemplo oficial presente em sua documentação: artigo-1.
Ou seja, a Neomind não está reinventando nenhuma roda, está apenas utilizando um driver padrão do fabricante, desenvolvido sob um padrão aberto de mercado (SIM, A PROGRESS É ABERTA), para que seja utilizado, e o Fusion Platform se beneficia disso.
Permissões e acesso no engine SQL-92
Entender minimamente como o engine SQL-92 do Progress funciona do ponto de vista de acesso e permissões (SIM, É DIFERENTE DO 4GL): artigo-20143 e artigo-P131207.
Configuração de fontes de dados no Fusion Platform
Saber como configurar uma fonte de dados no Fusion Platform: artigo-1.
Agende uma demonstração e se informe junto ao time de suporte da Neomind quanto à configuração e comportamento do POOL de conexões da aplicação, avaliando o que faz sentido para você dentro de seu parque tecnológico e de licenciamento presente em seu contrato para assim tomar as melhores decisões.





