Sabia que pode utilizar Haskell para aceder a dados armazenados em software empresarial como Microsoft Dynamics CRM, Microsoft Dynamics AX, Microsoft SharePoint, Microsoft Exchange e muitos outros?
Hoje, vou descrever como as fontes de dados de destino podem ser acedidas a partir de sistemas antigos utilizando o Plataforma Connect Bridge. Vou demonstrá-lo utilizando uma linguagem funcional - Haskell e um controlador ODBC que utiliza a sintaxe SQL bem conhecida para a manipulação de dados.
A plataforma Connect Bridge é uma poderosa plataforma de integração que permite a conexão com diferentes sistemas de destino usando ODBC, drivers JDBC e serviços da Web. Esta combinação permite-lhe ligar-se a partir de qualquer ambiente, incluindo sistemas antigos.
Configuração do ambiente
Primeiro, precisamos de preparar o ambiente para executar o código. Isto inclui 3 passos básicos:
-
- 1. Instalar o Connect Bridge
-
- 2. Preparar o ambiente Haskell
-
- 3. Configurar a cadeia de ligação
Instalar Connect Bridge
Existe a possibilidade de obter uma avaliação gratuita do Connect Bridge para que possa experimentar tudo isto no seu ambiente e depois decidir se lhe convém.
Deve começar por solicitar a avaliação gratuita aqui. Entraremos em contacto consigo no prazo de 24 horas úteis e, em seguida, poderá proceder à instalação conforme descrito nesta breve descrição vídeo.
Preparar o ambiente Haskell
A forma mais simples de pôr Haskell a funcionar é seguir as instruções em https://www.haskell.org/get-started/
Após a instalação, é necessário instalar o controlador Haskell ODBC. Na linha de comando, execute:
atualização da cabala
cabal instalar HDBC-odbc
Depois disto o seu ambiente Haskell deve estar totalmente preparado.
Encontrar a cadeia de ligação
Na nossa amostra, utilizaremos o controlador ODBC com Connect Bridge. Terá de conhecer o sistema de destino da cadeia de ligação que foi pré-configurado para si. Abra a ferramenta QueryAnalyzer do Connect Bridge Playground, que descarregou. Seleccione uma única ligação no Navegador de ligações, clique com o botão direito do rato e escolha Editar ligação. Vá para o separador Avançadas e copie a cadeia de ligação.
Abra o ficheiro CB_HaskellSample.hs fornecido e coloque a sua cadeia de ligação em vez da cadeia de ligação de amostra na linha 7.
Código
Para acessar o Servidor Connect Bridge usando você precisa importar pacotes:
base de dados de importação.HDBC base de dados de importação.HDBC.ODBC
Para estabelecer conexão de banco de dados com o servidor Connect Bridge você pode usar a função connectODBC:
conn <- connectODBC 'yourConnectionString';
Para executar uma consulta que não produz resultados, você pode chamar:
execute conn 'INSERIR INTO conta (nome) VALORES ('Hello world from Haskell')'.
Para executar a consulta com o conjunto de resultados, você pode chamar:
quickQuery conn 'SELECT accounttid, name FROM account' []
Eu criei uma função de amostra que demonstra como consultar dados e processar resultados em Haskell:
executeQuery :: IO ( ) executeQuery = fazer { putStr 'Entrar consulta: ' ; consulta <- getLine ; putStrLn 'Ligar ao Servidor Connect Bridge ...' ; conn <- connectODBC connectionString; putStrLn ('Executar consulta '' ++ consulta ++ ''' ) ; vals <- quickQuery consulta de conn [ ] ; putStrLn ( 'Contagem de linhas retornadas ' ++ mostrar ( vals de comprimento ) ) ; putStrLn ( converterResultSetToString vals ) }
Chamando o Código
Para executar a amostra você pode usar qualquer interpretador Haskell, por exemplo, WinGHCi que vem com o pacote.
Abra o arquivo fornecido CB_HaskellSample.hs com uma sequência de ligação já modificada.
Basta digitar o nome da função que você deseja chamar. Ser-lhe-á pedido que introduza os parâmetros de entrada.
Exemplo 1:
Este exemplo mostra como criar uma nova conta em Dynamics CRM de Haskell. Basta chamar uma função executarQuery e passar SQL query 'INSERIR INTO conta (nome) VALORES ("Hello world from Haskell")" como consulta. Isto irá criar imediatamente um novo registo de conta no seu CRM Dinâmico.
*Principal>ExecutarQuery
Introduzir consulta: INSERIR INTO conta (nome) VALORES ("Hello world from Haskell")
Ligação ao Servidor Connect Bridge ...
Executar a consulta 'INSERIR INTO conta (nome) VALORES ('Hello world from Haskell')'.
Número de linhas devolvidas 0
Exemplo 2:
Este exemplo mostra como recuperar 5 novos relatos da Dynamics CRM. Função de chamada executarQuery e passar SQL query 'SELECT TOP 5 accounttid, name, createdon FROM account ORDER BY createdon'. Opcionalmente pode chamar a função csvExportQuery que irá escrever os resultados em ficheiro CSV.
Digite a consulta: SELECT TOP 5 conta, nome, criado a partir de conta ORDEM POR DESC criado no DESC
Ligação ao Servidor Connect Bridge ...
Execução da consulta 'SELECT TOP 5 accounttid, name, createdon FROM account ORDER BY createon DESC'.
Fila devolvida contagem 5
account(e436e4d4-7d24-e411-a6b7-00155dc2040f),Olá mundo de Haskell 5,2014-08-15 13:12:39
account(168f7ecb-7d24-e411-a6b7-00155dc2040f),Hello world from Haskell 4,2014-08-15 13:12:29
account(158f7ecb-7d24-e411-a6b7-00155dc2040f),Hello world from Haskell 3,2014-08-15 13:12:24
account(a2079fc4-7d24-e411-a6b7-00155dc2040f),Hello world from Haskell 2,2014-08-15 13:12:18
account(a1079fc4-7d24-e411-a6b7-00155dc2040f),Hello world from Haskell 1,2014-08-15 13:12:12
Conclusão
Demonstrei como se pode aceder facilmente ao Microsoft Dynamics CRM a partir de Haskell com algumas linhas de código. O mesmo pequeno esforço serve para aceder a outros sistemas, por exemplo, SharePoint, Exchange, AX, Navision, e Salesforce ...
Existe uma lista completa de conectores em https://www.connecting-software.com/connectors/). Além disso, pode aceder a qualquer um destes sistemas a partir de qualquer língua com o mesmo pequeno esforço que foi descrito neste artigo.
Se gostou do post, obtenha o seu teste grátis Connect Bridge e comece a brincar com ele hoje mesmo!
Artigo original e código por Tomas Olejnik, 10 de dezembro de 2015
Última atualização em 4 de maio de 2023