Hoe krijg je toegang tot de nieuwste technologieën van Haskell

Hoe krijg je toegang tot de nieuwste technologieën van Haskell

Tomas OlejnikTechnical Leave a Comment

Kunt u zich voorstellen hoe een legacy systeem of een exotische programmeertaal te verbinden met de nieuwste business software zoals Microsoft Dynamics CRM, Microsoft Dynamics AX, Microsoft SharePoint, Microsoft Exchange en vele anderen? Vandaag zal ik beschrijven hoe de doel gegevensbronnen kunnen worden benaderd vanuit legacy systemen met behulp van Connect Bridge platform. Ik zal het demonstreren met behulp van functionele taal - Haskell en ODBC driver met behulp van bekende SQL syntaxis voor data manipulatie.

Het Connect Bridge platform is een krachtig integratieplatform waarmee u verbinding kunt maken met de nieuwste systemen met behulp van ODBC, JDBC drivers en web services. Deze combinatie maakt het mogelijk om vanuit elke omgeving verbinding te maken, inclusief legacy-systemen.

Milieu-instelling

Eerst moeten we de omgeving voorbereiden om de code uit te voeren. Dit omvat 3 basisstappen:

      1. Maak Connect Bridge speelplaats
      2. Bereid Haskell omgeving voor
      3. Configureer verbinding string

Creëer Connect Bridge speelplaats

Er is een mogelijkheid om gratis demo-account Connect Bridge Playground met trial toegang tot Dynamics CRM, SharePoint en Exchange te krijgen. U moet een bezoek brengen aan CB Speeltuin pagina en volg de instructies om toegang te krijgen.

Binnen enkele minuten na de aanvraag ontvangt u een e-mail met de download link. Lees de e-mail grondig door of bezoek de bedrijfspagina om een beter overzicht te krijgen van de Connect Bridge oplossing.

Download het pakket en pak het uit. Start QueryAnalyzer tool met behulp van batch-bestand in de hoofdmap. U zult voorgeconfigureerde verbindingen zien met CRM, SharePoint en Exchange. Voel je vrij om te spelen met QueryAnalyzer tool en raak doelsystemen met behulp van SQL queries.

Bereid Haskell omgeving voor

De eenvoudigste manier om het pakket te configureren is door het volledige Haskell Platform te downloaden en te installeren (https://www.haskell.org/platform/windows.html).

Na de installatie is de bijkomende configuratie vereist - we moeten het Haskell ODBC stuurprogramma installeren. Voer in de opdrachtregel uit:

cabal update
cabal installeer HDBC-odbc

Hierna zou uw Haskell omgeving volledig voorbereid moeten zijn.

Verbindingsteken vinden

In ons voorbeeld zullen we ODBC driver gebruiken voor verbinding met Connect Bridge Server. Voor deze, moet u uw verbinding string doelsysteem, dat is vooraf geconfigureerd voor u weten. Open de QueryAnalyzer tool van Connect Bridge Playground, die je hebt gedownload. Selecteer een enkele verbinding in de Connection Browser, klik met de rechtermuisknop en kies Edit connection. Ga naar het tabblad Advanced en kopieer de connection string.

Open het bijgeleverde CB_HaskellSample.hs bestand en plaats uw verbindings string in plaats van de voorbeeld verbindings string op regel 7.

Code

Om toegang te krijgen tot Connect Bridge Server moet je pakketten importeren:

importeren Database.HDBC
importeren Database.HDBC.ODBC

Om een databaseverbinding met de Connect Bridge-server tot stand te brengen, kunt u de functie connectODBC gebruiken:

conn <- connectODBC 'yourConnectionString';

Om een query uit te voeren die geen resultaten oplevert, kunt u oproepen:
 

run conn "INSERT INTO account (naam) VALUES ("Hallo wereld van Haskell")

Om een query met resultaten uit te voeren kunt u oproepen:
 

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

Ik heb een voorbeeldfunctie gemaakt die demonstreert hoe je gegevens kunt opvragen en resultaten kunt verwerken in Haskell:

executeQuery :: IO ( )
executeQuery = do
{
    putStr "Voer query in: ' ;
    query <- getLine ;
    putStrLn 'Verbinding maken met Connect Bridge Server ...' ;
    conn <- connectODBC connectionString;
    putStrLn ("Query wordt uitgevoerd "" ++ query ++ '' ) ;
    vals <- quickQuery conn query [ ] ;
    putStrLn ("Aantal geretourneerde rijen " ++ show ( lengte vals ) ) ;
    putStrLn ( convertResultSetToString vals )
}

 

De code afroepen

Om het voorbeeld uit te voeren kunt u elke Haskell interpreter gebruiken, b.v. WinGHCi dat met het pakket wordt meegeleverd.

Open het bijgeleverde bestand CB_HaskellSample.hs met een reeds gewijzigde verbindings string.

Typ gewoon de naam van de functie die u wilt oproepen. U wordt gevraagd om invoerparameters in te voeren.

Voorbeeld 1:

Dit voorbeeld laat zien hoe een nieuw account aan te maken in Dynamics CRM vanuit Haskell. Roep gewoon een functie executeQuery op en geef SQL query 'INSERT INTO account (naam) VALUES ("Hallo wereld van Haskell")' als query. Dit zal onmiddellijk een nieuw accountrecord aanmaken in uw Dynamics CRM.

*Main> executeQuery

Voer query in: INSERT INTO account (naam) VALUES ('Hallo wereld van Haskell')

Verbinding maken met Connect Bridge Server ...

Uitvoeren van query 'INSERT INTO account (naam) VALUES ('Hallo wereld van Haskell')'

Aantal teruggestuurde rijen 0

Voorbeeld 2:

Dit voorbeeld toont hoe de 5 nieuwste accounts uit Dynamics CRM kunnen worden opgehaald. Roep functie executeQuery op en geef SQL query 'SELECT TOP 5 accountid, name, createdon FROM account ORDER BY createdon' door. Optioneel kunt u de functie csvExportQuery aanroepen die de resultaten in een CSV-bestand zal schrijven.

Voer query in: SELECT TOP 5 accountid, name, createdon FROM account ORDER BY createdon DESC
Verbinding maken met Connect Bridge Server ...
Uitvoeren van query 'SELECT TOP 5 accountid, name, createdon FROM account ORDER BY createdon DESC'
Aantal teruggestuurde rijen 5
account(e436e4d4-7d24-e411-a6b7-00155dc2040f),Hallo wereld van Haskell 5,2014-08-15 13:12:39
account(168f7ecb-7d24-e411-a6b7-00155dc2040f),Hallo wereld van Haskell 4,2014-08-15 13:12:29
account(158f7ecb-7d24-e411-a6b7-00155dc2040f),Hallo wereld van Haskell 3,2014-08-15 13:12:24
account(a2079fc4-7d24-e411-a6b7-00155dc2040f),Hallo wereld van Haskell 2,2014-08-15 13:12:18
account(a1079fc4-7d24-e411-a6b7-00155dc2040f),Hallo wereld van Haskell 1,2014-08-15 13:12:12

Conclusie
Ik heb gedemonstreerd hoe je gemakkelijk toegang kunt krijgen tot Dynamics CRM vanuit Haskell met een paar regels code. Dezelfde kleine moeite is om toegang te krijgen tot andere systemen, bv. SharePoint, Exchange, AX, Navision, Salesforce ... (zie. volledige lijst van connectoren: (https://test.connecting-software.com/connect-bridge/). Bovendien kunt u toegang krijgen tot elk van deze systemen vanuit elke taal met dezelfde kleine inspanning als in dit artikel is beschreven.

Als je de post leuk vond, krijg gratis Connect Bridge omgeving en begin vandaag te spelen!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *