Como ligar e sincronizar uma PowerApp a uma Base de Dados
Uma das grandes vantagens do PowerApps são os seus múltiplos conectores pré-definidos, que lhe permitem ir buscar os dados da sua empresa, onde quer que eles estejam. Numa questão de poucos minutos, e sem grandes conhecimentos técnicos, é possível ligar o PowerApps a uma base de dados, e manter as suas aplicações sempre sincronizadas. Onde quer que esteja, e de forma totalmente automática.
Conectores pré-definidos disponibilizados pelo PowerApps
Através do PowerApps, é possível ligar as várias aplicações móveis a diferentes tipos de origens de dados. Podemos tirar dados de um ficheiro Excel com a mesma facilidade com que acedemos a uma lista em SharePoint. Ou ler uma base de dados da mesma forma que lemos o nosso calendário da Google. Independentemente de se estar a falar de dados armazenados na cloud ou infraestruturas locais, é possível estabelecer uma ligação entre a origem de dados e diferentes aplicações, e manter a sincronização dos dados totalmente automatizada.
Uma das questões que me é colocada com mais frequência, sempre que menciono as vantagens do PowerApps, é a seguinte: “É possível ir buscar registos a uma base de dados local?”. Pois claro! O PowerApps disponibiliza, de origem, uma série de conectores pré-definidos que se ligam instantaneamente a vários tipos de bases de dados locais sem necessidade, também, de ter grandes conhecimentos técnicos ou, sequer, de programação. No entanto, é preciso ver que quando se fala em dados locais, muitos dos conectores são ‘Premium’, o que significa que para utilizar uma aplicação com aquele tipo de ligação, é necessário que o utilizador tenha uma licença de Plano 1 do PowerApps (pode consultar o Preçário aqui).
Como instalar uma Gateway de dados
Se já trabalhou com a ferramenta Power BI, também da plataforma Power da Microsoft, provavelmente já se deparou com a necessidade de instalar uma Gateway de dados. Esta é a solução encontrada pela equipa de desenvolvimento da Microsoft para conseguir fazer com que uma série de serviços assentes na cloud se consigam alimentar de dados locais. Esta pequena aplicação, instalada em poucos minutos, é capaz de fazer a ponte entre o Power BI, PowerApps ou o Analysis Services, e diversas fontes de dados, como bases de dados locais. Para fazer o download, pode aceder a este link, ou pelo painel de opções à direita dentro do próprio PowerApps, em Dados -> Gateways -> Novo Gateway.
Após o download da aplicação, terá de tomar uma decisão acerca do local onde irá instalar a Gateway. A Microsoft recomenda que esta seja instalada numa máquina ou servidor com rápida conexão à Internet e sempre ligado. Apesar de nada o impedir de instalar esta aplicação no seu próprio computador, o mais indicado será fazê-lo numa máquina virtual – caso contrário, sempre que perca a conexão à internet ou desligue o computador, a aplicação deixará de ser capaz de se sincronizar com os dados durante esse período.
A instalação é um processo bastante simples. Apenas precisa de correr o ficheiro que descarregou, dar um nome à Gateway e criar uma chave (necessária para uma eventual recuperação ou migração da Gateway). Após alguns segundos, a instalação é terminada e a Gateway fica pronta a ser utilizada. Poderá confirmar que a mesma Gateway pode ser usada, desde o primeiro momento e em simultâneo, para relatórios criados em Power BI ou aplicações desenvolvidas em PowerApps ou fluxos criados no Flow, sempre que estes se alimentem dos mesmos dados. Agora, é necessário apontar a aplicação aos respetivos dados.
Criar uma nova ligação aos dados (SQL Server)
Instalada a Gateway, ela irá funcionar da seguinte forma: sempre que algum utilizador abrir uma PowerApp com uma ligação aos dados através de uma Gateway será como se, para todos os efeitos, ele estivesse a aceder aos dados diretamente através da máquina onde esta foi instalada (computador ou servidor). A aplicação móvel é uma simples interface gráfica, assente numa ponte entre o dispositivo móvel e a base de dados. Assim sendo, o nível de permissões que o utilizador usufrui no PowerApps é o mesmo que usufrui ao nível dos próprios dados – se aquela conta de utilizador só tiver permissões de leitura ao nível da base dados, então ele não será capaz de alterar registos ao nível da aplicação.
Para por esta Gateway em prática, é necessário primeiro escolher o tipo de conexão que procura. Para este exemplo, que é transversal à generalidade das bases de dados, sejam Oracle ou MySQL, irei utilizar uma conexão ao SQL Server. Para tal, no PowerApps, terei de ir ao menu lateral esquerdo, e criar um novo conector: Dados -> Ligações -> Nova Ligação. Ao escolher o conector SQL Server, poderá selecionar uma de duas opções: ou os dados já se encontram na cloud e não é necessário utilizar a Gateway, ou então terá de criar uma ligação à base de dados local. Aqui, irá necessitar das seguintes informações:
- Nome do servidor
- Nome da base de dados
- Nome do utilizador
- Password
- Gateway escolhida para o efeito
Estas informações têm uma utilidade bastante óbvia. Ao criar a ligação, deve então redirecionar o conector para o servidor onde se encontra a base de dados (poderá consultar esta informação no próprio SQL Server, com o comando: SELECT SERVERPROPERTY('servername') AS 'ServerName'.
De seguida, terá de escolher a base de dados com que pretende trabalhar. Sobram o nome de utilizador, respetiva password e, por fim, a Gateway a utilizar para o efeito. No meu caso, basta selecionar a única disponível (“Demonstração PowerApps”) e em poucos segundos, a ligação fica estabelecida. Para aceder aos dados, pode então criar a sua aplicação, selecionar a ligação que acabou de criar, e as respetivas tabelas às quais prefere ter acesso. De forma automática, o PowerApps irá manter-se sincronizado com os dados em (quase) tempo real, sem necessitar de fazer mais nada!