Cómo acceder a las últimas tecnologías de Haskell

Tomas Olejnik Técnico Deje un comentario

¿Puedes imaginarte cómo conectar desde algún sistema heredado o lenguaje de programación exótico al último software empresarial como Microsoft Dynamics CRM, Microsoft Dynamics AX, Microsoft SharePoint, Microsoft Exchange y muchos otros? Hoy describiré cómo se puede acceder a las fuentes de datos de destino desde los sistemas heredados utilizando la plataforma Connect Bridge. Lo demostraré usando un lenguaje funcional - Haskell y el driver ODBC usando la conocida sintaxis SQL para la manipulación de datos.

La plataforma Connect Bridge es una poderosa plataforma de integración que permite conectarse a los últimos sistemas utilizando ODBC, controladores JDBC y servicios web. Esta combinación le permite conectarse desde cualquier entorno, incluyendo los sistemas heredados.

Configuración del entorno

Primero tenemos que preparar el entorno para ejecutar el código. Esto incluye 3 pasos básicos:

      1. Crear un patio de recreo Connect Bridge
      2. Preparar el entorno de Haskell
      3. Configurar la cadena de conexión

Crear un patio de recreo de Connect Bridge

Existe la posibilidad de obtener la cuenta demo gratuita Connect Bridge Playground con acceso de prueba a Dynamics CRM, SharePoint y Exchange. Necesitas visitar Página de CB Playground y seguir las instrucciones para conseguir el acceso.

En pocos minutos después de la solicitud, recibirá un correo electrónico con el enlace de descarga. Por favor, lea el correo electrónico detenidamente o visite la página de la compañía para tener una mejor visión general de la solución Connect Bridge.

Descargue el paquete y extráigalo. Inicie la herramienta QueryAnalyzer usando el archivo por lotes en la carpeta raíz. Verá una conexión preconfigurada a CRM, SharePoint y Exchange. Siéntase libre de jugar con la herramienta QueryAnalyzer y tocar los sistemas de destino usando consultas SQL.

Preparar el entorno de Haskell

La forma más sencilla de configurar el paquete es descargar e instalar la plataforma completa de Haskell (https://www.haskell.org/platform/windows.html).

Después de la instalación se requiere una configuración adicional, necesitamos instalar el driver ODBC de Haskell. En la línea de comandos:

actualización de la cábala
La cábala instaló el HDBC-odbc

Después de esto, su entorno Haskell debe estar totalmente preparado.

Encontrar la cadena de conexión

In our sample we will use ODBC driver for connection to Connect Bridge Server.  For this, you will need to know your connection string target system, that has been pre-configured for you. Open the QueryAnalyzer tool from Connect Bridge Playground, that you have downloaded. Select single connection in Connection Browser, right-click and choose Edit connection. Go to Advanced tab and copy the connection string.

Abra el archivo CB_HaskellSample.hs proporcionado y coloque su cadena de conexión en lugar de la cadena de conexión de muestra en la línea 7.

Código

Para acceder al Servidor Connect Bridge usando es necesario importar los paquetes:

importar Base de datos.HDBC
importar Base de datos.HDBC.ODBC

Para establecer la conexión de la base de datos con el servidor Connect Bridge se puede utilizar la función connectODBC:

conn <- connectODBC 'yourConnectionString';

Para ejecutar una consulta que no produce resultados, puede llamar:
 

Ejecute el comando 'INSERTAR EN LOS VALORES DE LA CUENTA (nombre) ('Hola mundo de Haskell')'.

Para ejecutar la consulta con el conjunto de resultados puede llamar:
 

quickQuery conn 'SELECT accountid, name FROM account' []

He creado una función de muestra que demuestra cómo consultar datos y procesar resultados en Haskell:

executeQuery :: IO ( ) 
executeQuery = do 
{ 
    putStr 'Enter query: ' ; 
    query <- getLine ;
    putStrLn 'Connecting to Connect Bridge Server ...' ;
    conn <- connectODBC connectionString;   
    putStrLn ( 'Executing query '' ++ query ++ ''' ) ;
    vals <- quickQuery conn query [ ] ;
    putStrLn ( 'Returned row count ' ++ show ( length vals ) ) ;
    putStrLn ( convertResultSetToString vals ) 
}

 

Llamando al Código

Para analizar la muestra puedes usar cualquier intérprete de Haskell, por ejemplo, WinGHCi que viene con el paquete.

Abra el archivo proporcionado CB_HaskellSample.hs con la cadena de conexión ya modificada.

Sólo escribe el nombre de la función que quieres llamar. Se le pedirá que introduzca los parámetros de entrada.

Ejemplo 1:

This example shows how to create new account in Dynamics CRM from Haskell. Just call a function executeQuery and pass SQL query 'INSERT INTO account (name) VALUES ('Hello world from Haskell')' as query. This will create immediately new account record in your Dynamics CRM.

*Main> executeQuery

Enter query: INSERT INTO account (name) VALUES ('Hello world from Haskell')

Connecting to Connect Bridge Server ...

Executing query 'INSERT INTO account (name) VALUES ('Hello world from Haskell')'

Regresó la cuenta de filas 0

Ejemplo 2:

This example shows how to retrieve 5 newest accounts from Dynamics CRM. Call function executeQuery and pass SQL query 'SELECT TOP 5 accountid, name, createdon FROM account ORDER BY createdon'. Optionally you can call function csvExportQuery that will write results into CSV file.

Introduzca la consulta: SELECCIONE LAS 5 CUENTAS MÁS IMPORTANTES, nombre, creadas de la cuenta PEDIDO POR creadas en DESC
Connecting to Connect Bridge Server ...
Executing query 'SELECT TOP 5 accountid, name, createdon FROM account ORDER BY createdon DESC'
Regresó la fila de conteo 5
account(e436e4d4-7d24-e411-a6b7-00155dc2040f),Hola mundo desde Haskell 5,2014-08-15 13:12:39
cuenta(168f7ecb-7d24-e411-a6b7-00155dc2040f),Hola mundo desde Haskell 4,2014-08-15 13:12:29
cuenta(158f7ecb-7d24-e411-a6b7-00155dc2040f),Hola mundo desde 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

Conclusión
He demostrado cómo se puede acceder fácilmente a Dynamics CRM de Haskell con unas pocas líneas de código. El mismo pequeño esfuerzo es para acceder a otros sistemas, por ejemplo SharePoint, Exchange, AX, Navision, Salesforce ... (ver. lista completa de conectores: (http://connecting-software.com/connect-bridge/). Además, se puede acceder a cualquiera de estos sistemas desde cualquier idioma con el mismo pequeño esfuerzo que se describió en este artículo.

Si te gustó el post, consigue el entorno Connect Bridge gratis y empieza a jugar hoy!

Share this Post

Deja una respuesta