Call us! 512-349-0334 or (877) INDUSOFT

Conectando-se com Bancos de Dados Remotos no InduSoft Web Studio Quando Usando uma Aplicação Embedded

Ocasionalmente existe a necessidade de, em um projeto do InduSoft Web Studio, se conectar com um banco de dados que não está localizado na mesma máquina onde o Runtime está sendo executado. Este fato é especialmente verdadeiro se o projeto foi desenvolvido para rodar em uma plataforma embedded, como por exemplo o Windows Embedded Compact 7. Este tipo de sistema operacional não foi desenvolvido com um driver ou provedor ODBC, OLEDB, ou ADO.Net para acessar diretamente um banco de dados. Mesmo existindo uma versão compacta SQL Server que pode ser instalada e executada em uma plataforma embedded, ela não é recomendada, exeto na implementação da coleta de poucos dados, visto que várias escritas e leituras nesse banco de dados podem facilmente sobrecarregar os recursos da máquina embedded, a não ser que ela seja de grande porte, e que o driver ou gateway do banco de dados não foi desenvolvido para ser robusto o suficiente para falar com uma versão mais integrada do SQL Server.

Geralmente, quando as necessidades de um banco de dados são requeridas para uma aplicação Embedded no InduSoft Web Studio, o banco de dados requerido é normalmente hospedado em uma máquina diferente, especialmente quando a aplicação está sendo implementada em uma plataforma embedded. Infelizmente, como mencionado anteriormente, como o sistema operacional não pode hospedar um driver ou provedor ODBC, OLEDB, ou ADO.Net, o driver necessita ser hospedado em uma máquina diferente. Esta máquina utilizada para a hospedagem não necessáriamente precisa ser a mesma máquina onde o banco de dados está sendo hospedado.

Para alcançar esta prestidigitação, um pequeno servidor executável, chamado StADOSvr.exe, juntamente com o arquivo de configuração StADOSvr.ini, necessitam ser instalados e executados em uma máquina onde o driver ADO.Net, OLEDB, ou ODBC está instalado. Este driver/provedor é fornecido pelo fabricante do banco de dados para operar com o sistema operacional específico da máquina. Uma lista de drivers e gataways de banco de dados testados pode ser encontrada em Help Manual >> Contents >> Database Interface na Table 1. Existem muitos outros que estão em conformidade com os padrões ADO.Net e MDAC (Microsoft Data Access Components) e podem ser utilizados sem nenhum problema. Problemas específicos com o padrão MDAC em banco de dados proprietário devem ser discutidos com o fabricante do banco de dados e do driver/provedor.

O arquivo StADOSvr.exe é basicamente uma interface que conecta os drivers ou provedores ADO.Net, OLEDB, e ODBC com os alarmes, eventos, e gráficos de tendência no Tag Database do projeto InduSoft Web Studio. Isto está ilustrado na figura abaixo e no Help Manual >> Contents >> Database Interface.

A conexão entre o StADOSvr.exe e a aplicação é feita via TCP/IP. Portas específicas podem ser reconfiguradas se necessário, porém, a porta padrão é a 3997. Normalmente, o StADOSvr.exe é executado como tarefa de fundo na máquina local onde o projeto está localizado (figura abaixo). Para utilizar o driver/provedor em uma máquina diferente, simplemente utilize o endereço de IP da máquina de hospedagem do driver/provedor (ao invés do padrão 127.0.0.1, que é o retorno da máquina local) na configuração do Project Database (figura 3).

Em seguida, copie e cole os arquivos StADOSvr.exe e .ini (localizados na pasta \Bin de instalação do InduSoft Web Studio) em uma pasta acessível na máquina de hospedagem, e os execute manualmente. O startup pode ser automatizado colocando um atalho na pasta de inicialização da máquina ou uma linha de commando no arquivo batch que inclui um número de porta diferente. Veja o manual de ajuda para maiores detalhes.

O arquivo StAdoSvr.exe usará a porta 3997 na máquina local para esperar o contato com a aplicação, quando esse contato acontecer, a conexão com o banco de dados se iniciará pelo driver/provedor. Para configurar a aplicação para procurar pelo Database Gateway em uma máquina diferente, digite o nome da máquina de hospedagem e o seu endereço de IP. Lembre-se de abrir a porta 3997 no firewall da máquina. Se você não possuir o servidor DNS local disponível, o nome da máquina de hospedagem não irá funcionar, portanto, você terá que utilizar o endereço de IP.

Selecione o provedor da lista e digite o nome do servidor e suas credenciais. Escolha um banco de dados na máquina (figura abaixo).

Se tudo tiver sido configurado corretamente, o STADOSvr Log Screen mostrará as informações, SQL Statements (se configurado), e qualquer erro passado pelo driver. Os alarmes no Alarm Example Application (disponíveis aqui: http://www.indusoft.com/blog/2013/06/26/indusoft-web-studio-alarming-examples-application/) serão salvos um banco de dados remoto (figura abaixo) utilizando o gateway localizado em uma máquina separada (figura abaixo).

Mais informações sobre os conceitos discutidos neste artigo, além de mais detalhes sobre configurações, podem ser encontrados na seguinte área do Manual de Ajuda (Help Manual): Help Manual >> Contents >> Database Interface >> Database Configuration.

Comments are closed.