Comment accéder aux dernières technologies de Haskell

Comment accéder aux dernières technologies de Haskell

Tomas OlejnikTechnical Leave a Comment

Pouvez-vous imaginer comment vous connecter à partir d'un système existant ou d'un langage de programmation exotique aux derniers logiciels commerciaux comme Microsoft Dynamics CRM, Microsoft Dynamics AX, Microsoft SharePoint, Microsoft Exchange et bien d'autres ? Aujourd'hui, je vais décrire comment les sources de données cibles peuvent être accessibles à partir de systèmes existants en utilisant la plate-forme Connect Bridge. Je ferai une démonstration en utilisant un langage fonctionnel - Haskell et un pilote ODBC utilisant la syntaxe SQL bien connue pour la manipulation des données.

La plateforme Connect Bridge est une puissante plateforme d'intégration qui vous permet de vous connecter aux systèmes les plus récents en utilisant des pilotes ODBC, JDBC et des services web. Cette combinaison vous permet de vous connecter à partir de n'importe quel environnement, y compris les systèmes existants.

Configuration de l'environnement

Nous devons d'abord préparer l'environnement à l'exécution du code. Cela comprend 3 étapes de base :

      1. Créer un terrain de jeu Connect Bridge
      2. Préparer l'environnement Haskell
      3. Configurer la chaîne de connexion

Créer le terrain de jeu Connect Bridge

Il est possible d'obtenir un compte de démonstration gratuit Connect Bridge Playground avec un accès d'essai à Dynamics CRM, SharePoint et Exchange. Vous devez visiter Page du terrain de jeu CB et suivez les instructions pour obtenir l'accès.

Quelques minutes après la demande, vous recevrez un courriel avec le lien de téléchargement. Veuillez lire attentivement ce courriel ou visiter la page de l'entreprise pour avoir un meilleur aperçu de la solution Connect Bridge.

Téléchargez le paquet et l'extrait. Démarrez l'outil QueryAnalyzer en utilisant le fichier batch dans le dossier racine. Vous verrez une connexion préconfigurée au CRM, SharePoint et Exchange. N'hésitez pas à jouer avec l'outil QueryAnalyzer et à toucher des systèmes cibles en utilisant des requêtes SQL.

Préparer l'environnement de Haskell

La façon la plus simple de configurer le paquet est de télécharger et d'installer la plate-forme Haskell complète (https://www.haskell.org/platform/windows.html).

Après l'installation, la configuration supplémentaire est nécessaire - nous devons installer le pilote ODBC de Haskell. En ligne de commande :

mise à jour de cabal
cabal install HDBC-odbc

Après cela, votre environnement Haskell devrait être parfaitement préparé.

Trouver une chaîne de connexion

Dans notre exemple, nous utiliserons le pilote ODBC pour la connexion au serveur Connect Bridge. Pour cela, vous devrez connaître le système cible de votre chaîne de connexion, qui a été préconfiguré pour vous. Ouvrez l'outil QueryAnalyzer de Connect Bridge Playground, que vous avez téléchargé. Sélectionnez la connexion unique dans le navigateur de connexion, cliquez avec le bouton droit de la souris et choisissez Modifier la connexion. Allez dans l'onglet Avancé et copiez la chaîne de connexion.

Ouvrez le fichier CB_HaskellSample.hs fourni et placez votre chaîne de connexion au lieu de l'échantillon de chaîne de connexion à la ligne 7.

Code

Pour accéder au serveur Connect Bridge en utilisant, vous devez importer des paquets :

Base de données des importations.HDBC
Base de données des importations.HDBC.ODBC

Pour établir la connexion de la base de données au serveur Connect Bridge, vous pouvez utiliser la fonction connectODBC :

conn <- connectODBC 'yourConnectionString' ;

Pour exécuter une requête qui ne produit pas de résultats, vous pouvez appeler :
 

Exécutez le lien "INSÉRER DANS LE COMPTE (nom) VALEURS ("Bonjour le monde de Haskell")".

Pour exécuter une requête avec un ensemble de résultats, vous pouvez appeler :
 

quickQuery conn 'SÉLECTIONNEZ le compte, nom du compte' []

J'ai créé un exemple de fonction qui montre comment interroger les données et traiter les résultats dans Haskell :

executeQuery : : IO ( )
executeQuery = do
{
    putStr 'Enter query : ' ;
    query <- getLine ;
    putStrLn 'Connexion au serveur Connect Bridge ...' ;
    conn <- connectODBC connectionString ;
    putStrLn ('Exécution de la requête '' ++ requête ++ ''' ) ;
    vals <- quickQuery conn query [ ] ;
    putStrLn ('Nombre de lignes retournées' ++ show ( longueur vals ) ) ;
    putStrLn ( convertResultSetToString vals )
}

 

Appeler le code

Pour exécuter l'échantillon, vous pouvez utiliser n'importe quel interprète Haskell, par exemple WinGHCi qui est fourni avec le paquet.

Ouvrez le fichier fourni CB_HaskellSample.hs avec une chaîne de connexion déjà modifiée.

Il suffit de taper le nom de la fonction que vous souhaitez appeler. Vous serez invité à entrer les paramètres de saisie.

Exemple 1 :

Cet exemple montre comment créer un nouveau compte dans Dynamics CRM de Haskell. Il suffit d'appeler une fonction executeQuery et de passer une requête SQL '.INSÉRER DANS LE COMPTE (nom) VALEURS ("Hello world from Haskell")en tant qu'interrogation. Cela créera immédiatement un nouvel enregistrement de compte dans votre CRM Dynamics.

*Main> executeQuery

Entrez la requête : INSÉRER DANS LE COMPTE (nom) VALEURS ("Hello world from Haskell")

Connexion au serveur Connect Bridge ...

Exécution de la requête "INSÉRER DANS LE COMPTE (nom) VALEURS ("Bonjour le monde de Haskell")".

Nombre de lignes retournées 0

Exemple 2 :

Cet exemple montre comment récupérer 5 comptes les plus récents de Dynamics CRM. La fonction d'appel executeQuery et passe la requête SQL 'SELECT TOP 5 accountid, name, createdon FROM account ORDER BY createdon'. En option, vous pouvez appeler la fonction csvExportQuery qui écrira les résultats dans un fichier CSV.

Entrez la requête : SÉLECTIONNER LE TOP 5 compte, nom, créé sur le compte ORDONNÉ PAR le DESC
Connexion au serveur Connect Bridge ...
Exécution de la requête "SÉLECTIONNER LE TOP 5 des comptes, noms, créés sur le compte ORDRE PAR DESC".
Nombre de lignes retournées 5
account(e436e4d4-7d24-e411-a6b7-00155dc2040f),Hello world from Haskell 5,2014-08-15 13:12:39
compte(168f7ecb-7d24-e411-a6b7-00155dc2040f),Bonjour le monde de 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

Conclusion
J'ai démontré comment on peut facilement accéder à Dynamics CRM de Haskell avec quelques lignes de code. Le même petit effort est nécessaire pour accéder à d'autres systèmes, par exemple SharePoint, Exchange, AX, Navision, Salesforce ... (voir la liste complète des connecteurs : (https://test.connecting-software.com/connect-bridge/). De plus, vous pouvez accéder à ces systèmes depuis n'importe quelle langue avec le même petit effort que celui décrit dans cet article.

Si vous avez apprécié le poste, obtenez gratuitement l'environnement Connect Bridge et commencez à jouer dès aujourd'hui !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *