PilotFish Interface Exchange (PIE)

A marketplace for eiConsole (IDE) interface templates, components and industry bundles
eiConsole IDE 90-Day Free Trial!
Offered by
Licensor contacts
Associated Industry
Any
Associated Application
IBM® Lotus Domino®/Notes™
Prerequisites
The eiConsole IDE is highly recommended to support graphical development of interfaces for deployment to the eiPlatform runtime The eiPlatform is required to run in production interfaces configured using the eiConsole
Version
0.1
Release Date
July 9, 2012
Resource Type
Interface

Product details

IBM Lotus Domino integration interface

Description

Lotus® Domino® is an IBM® server product that provides enterprise-grade e-mail, collaboration capabilities, and a custom application platform. It can be used as an application server for Lotus Notes™ applications and/or as a web server. It also has a built-in database system in the NSF format.

The IBM® Lotus Domino® line of products uses a document-oriented database to manage semi-structured data like rich text and files. The data is stored as documents and views allow finding specific documents efficiently. One of the common tasks is export data from Lotus Domino® to systems with relational databases.

This interface template shows how we can exchange data between IBM® Lotus Domino® server and other systems. Integration sample consists of 2 parts: Lotus Domino® Database Connector and interface, created with PilotFish XCS eiConsole.

Lotus Connector database (connect.nsf) is made for getting data from databases at Lotus Domino® platform.

Our interface, created with PilotFish XCS eiConsole gets data from Lotus Connector in appropriate XML format. Then it can be converted to other input XML format for ready for use interfaces from PilotFish Interface Exchange. Also it can be custom transformation for your system.

Lotus Domino® Database Connector

Lotus Domino® Database Connector (connect.nsf) is made for getting data from databases at Lotus Domino® platform. Database functionality allows using different data access methods: selection data by form of the document, selection from view, selection using @-formulas, selection using configuration documents.

As data access interface we use Web service. It contains operations:

   - getDataByForm

     parameters:
     connectServer - server name
     connectDBPath - path to the DB at the server
     form - form name in the DB
     fields - list of the fetched fields

    - getDataByFormula

     parameters:
     connectServer - server name
     connectDBPath - path to the DB at the server
     formula - formula for selected documents
     fields - list of the fetched fields

    - getDataByView

     parameters:
     connectServer - server name
     connectDBPath - path to the DB at the server
     nameView - view name in the DB
     keys - key for selection data from the view
     fields - list of the fetched fields
     columns - list of the fetched columns of the view

   - getDataBySettings

    parameters:
     nameSettings - name of the configuration document. This document is used for data selection.

Configuration document example:


All operations return data returns the in the key\value format:

  <item>
    <key>FirstName</key>
    <value>
    <item xsi:type="xsd:string">Evgen</item>
    </value>
  </item>

Note: Connector DB must be signed by user with allowing access to your system permissions.

Interface Template Description

This interface interacts with Lotus Connector through the web service. Example of interface SOAP query (Get Data By Form) you can find below:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:connector.a2aintegration.com">

   <soapenv:Header/>
   <soapenv:Body>
     <urn:getDataByFormParam>
       <connectServer>mnemosina/a2a</connectServer>
       <connectDBPath>names.nsf</connectDBPath>
       <form>Person</form>
       <fields>
         <!--Zero or more repetitions:-->
         <item>LastName</item>
         <item>FirstName</item>
       </fields>
     </urn:getDataByFormParam>
   </soapenv:Body>
  </soapenv:Envelope>

Output data format of the interface is XML.

Using interface template

Even though this is a template, it is fully functional interface.

To run a sample transaction you need to do the following steps:

  1. Specify the input, output and processed directories in the environment settings of the interface. You can access environment settings either from the XCS eiConsole menu (Route -> Environment Properties) or by simply editing the 'environment-settings.conf' file, located in the root of the interface folder.

  2. Define the input XML.

  3. Put the input XML file to the input directory.

  4. Run the interface (test run can be performed using the EIP Emulator of the XCS eiConsole).

  5. Find the result file(s) in the output directory.

Implementation notes

This interface template consists of 6 routes:

  1. LDB1_ActionProcess - main route which create request action to the Lotus Connector DB according to the data from input XML file.

  2. LDB2_getDataByFormResponse - receives a replay after getDataByForm request and stores it in to output directory.

  3. LDB3_getDataByFormulaResponse - receives a replay after getDataByFormula request and stores it in to output directory.

  4. LDB4_getDataByViewResponse - receives a replay after getDataByView request and stores it in to output directory.

  5. LDB5_getDataBySettingsResponse - receives a replay after getDataBySettings request and stores it in to output directory.

  6. Error_Handling_Route - Error Handling is performed using transaction monitoring functionality of the XCS eiConsole.

Release Details

This is the initial release of the IBM® Lotus Domino®/Notes™ integration interface.