Como ter acesso às últimas tecnologias da Haskell

Como ter acesso às últimas tecnologias da Haskell

Tomas OlejnikTechnical Leave a Comment

Você consegue imaginar como se conectar a partir de algum sistema legado ou linguagem de programação exótica aos mais recentes softwares de negócios como Microsoft Dynamics CRM, Microsoft Dynamics AX, Microsoft SharePoint, Microsoft Exchange e muitos outros? Hoje vou descrever como as fontes de dados alvo podem ser acessadas a partir de sistemas legados usando a plataforma Connect Bridge. Vou demonstrá-lo usando linguagem funcional - Haskell e driver ODBC usando a conhecida sintaxe SQL para manipulação de dados.

A plataforma Connect Bridge é uma poderosa plataforma de integração que lhe permite conectar-se aos sistemas mais recentes usando ODBC, drivers JDBC e serviços web. Esta combinação permite que você se conecte a partir de qualquer ambiente, incluindo sistemas legados.

Configuração do ambiente

Primeiro precisamos de preparar o ambiente para executar o código. Isto inclui 3 passos básicos:

      1. Criar playground Connect Bridge
      2. Preparar o ambiente Haskell
      3. Configurar a cadeia de ligação

Criar playground Connect Bridge

Existe a possibilidade de obter uma conta demo gratuita Connect Bridge Playground com acesso experimental ao Dynamics CRM, SharePoint e Exchange. Você precisa visitar Página do Playground CB e siga as instruções para obter o acesso.

Em poucos minutos após a solicitação, você receberá um e-mail com o link para download. Por favor, leia atentamente o e-mail ou visite a página da empresa para ter uma melhor visão geral da solução Connect Bridge.

Faça o download do pacote e extraia. Inicie a ferramenta QueryAnalyzer usando o arquivo batch na pasta raiz. Você verá uma conexão pré-configurada com CRM, SharePoint e Exchange. Sinta-se à vontade para jogar com a ferramenta QueryAnalyzer e tocar em sistemas alvo usando consultas SQL.

Preparar o ambiente Haskell

A maneira mais simples de configurar o pacote é baixar e instalar a plataforma Haskell completa (https://www.haskell.org/platform/windows.html).

Após a instalação a configuração adicional é necessária - precisamos instalar o driver Haskell ODBC. Em execução na linha de comando:

atualização da cabala
cabal instalar HDBC-odbc

Depois disto o seu ambiente Haskell deve estar totalmente preparado.

Encontrar cadeia de ligação

Na nossa amostra vamos usar o driver ODBC para conexão ao servidor Connect Bridge. Para isso, você precisará conhecer o seu sistema de destino da string de conexão, que foi pré-configurado para você. Abra a ferramenta QueryAnalyzer do Playground Connect Bridge, que você baixou. Selecione uma única conexão no Navegador de Conexão, clique com o botão direito do mouse e selecione Editar conexão. Vá para a guia Avançado e copie a string de conexão.

Abra o arquivo CB_HaskellSample.hs e coloque sua string de conexão em vez da string de conexã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 a consulta SQL 'INSERIR INTO conta (nome) VALORES ("Hello world from Haskell")como consulta. Isto irá criar imediatamente um novo registo de conta no seu Dynamics CRM.

*Principal>ExecutarQuery

Digite a consulta: INSERIR INTO conta (nome) VALORES ('Hello world from Haskell')

Ligação ao servidor Connect Bridge ...

Executando 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 contas mais recentes da Dynamics CRM. Função de chamada executeQuery e passe a consulta SQL 'SELECT TOP 5 accountid, name, createdon FROM account ORDER BY createdon'. Opcionalmente você pode chamar a função csvExportQuery que irá gravar os resultados em um arquivo 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 ...
Executando a 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
Eu tenho demonstrado como você pode facilmente acessar Dynamics CRM de Haskell com poucas linhas de código. O mesmo pequeno esforço é para acessar outros sistemas, por exemplo, SharePoint, Exchange, AX, Navision, Salesforce ... (ver. lista completa de conectores: (https://test.connecting-software.com/connect-bridge/). Além disso, você pode acessar qualquer um desses sistemas de qualquer idioma com o mesmo pequeno esforço que foi descrito neste artigo.

Se você gostou do post, obtenha gratuitamente o ambiente Connect Bridge e comece a jogar hoje mesmo!

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

I agree to these terms.