Riva CRM Integration - Documentation and Knowledge Base

Synchronization Solution Deployment Overview for IBM® Notes®

Article ID: 912
Last updated: 14 Aug, 2015

The following diagram shows a high-level overview of the Riva synchronization solution components.


Riva Synchronization Platform

Core Solution Platform - Riva is designed and developed on the Microsoft .NET platform. Using Microsoft .NET as the development platform was the best choice given that Riva was originally developed with Microsoft Exchange and Novell GroupWise as the target email systems.  Riva for IBM Notes is built on and benefits from Riva's robust sync engine software design and years of successful synchronization and deployments across thousands of users. 

IBM Notes / IBM Domino Connector - Riva leverages the strength and flexibility of IBM Domino by exposing web services that are called by the Riva Connector.  The Domino database allows Riva to provide a highly distributed and scalable synchronization solution. 

The IBM Domino Server running the Riva Sync Connector software integrates and behaves in a manner similar to the IBM Traveler software.

In addition to the Riva Sync Connector software, there are four key Riva platform sub-components:

Riva Sync Connector for IBM Notes

There are a number of Riva software components, some of which can run on the same or separate servers or on separate networks based on a more complex topology.  These components are required whether deploying Riva Cloud or Riva On Premise.

The Riva Connector can be considered an communication (API) gateway responsible for converting the LotusScript application to Domino Web Services which extract and modify the native Domino / Notes applications.  The component is not limited to supporting the Notes Mail template.  Any Domino or Notes application can be accessed and synchronised.  

This component is purely an API gateway because it does not store any of the documents locally that are being synchronized.  It is used to convert the documents from the Domino/Notes structure to a format used by Riva.

The Riva Sync Connector and the Riva Sync Service fully support clustered mail and database environments.

Following is a diagram of the separation of the logic associated or the components.

Administration UI

Riva On-Premise - The Riva administration application is a Windows-based application that is usually run from the same server that hosts the Riva Sync Service component.

Riva Cloud - Administration is performed via a browser.  There is no administrator software to install. 

The management console for each version of Riva controls configuration of all software components and functions, including:

  • Connection details to the Riva Sync Connector
  • Connection details for the CRM Connector
  • Definition of multiple synchronization policies
  • Software licensing
  • Support Requests
  • Real-time Synchronization Monitoring

Riva On-Premise

Admin UI Service Monitor

Riva Cloud

Admin UI Service Monitor

Riva Sync Service

Synchronisation services are provided by the Riva Sync Service.  It synchronises data between the Riva Sync Connector and and the target CRM.  The following diagram shows the individual components of the synchronization services.  Not all components are required and not all are included in a default configuration.  The diagram also includes data flow and access patterns.

Security Access Levels

The synchronization service should be configured with network credentials with elevated privileges.  This is the recommended configuration for each connector configured with Riva because Riva synchronizes data on behalf of other users. 

If elevated privileges are not available, individual connections must be created for each user.  This "personal connection" configuration is not practical in an large deployment where on-going password changes make for a management burden.

IBM Notes / IBM Domino Connector: Details on the configuration requirements of the connection user can be found here.

CRM Connector: Each CRM has specific connection requirements.  These can be found in the deployment and configuration guides for the connector.  Each CRM will support a different impersonation model.  Details can be found here.

Encryption

Data is encrypted at multiple different points,

  1. Network Communication
  2. Credentials Security

Network Communication: All communication to the Riva Sync Connector can be encrypted using SSL over HTTP.  Because the connector is configured in Domino, all native IBM web security practices apply.  Once the Domino server is configured with SSL, ensure the connection details configured include "https" as the scheme.

The communication and network traffic between the Riva synchronization service and each configured target system is dependent on the URL scheme provided during the connection wizard process.  If the URL begins with https://, Riva will establish a secure tunnel using the provided SSL certificate to the destined HTTP service. 

It is always recommends the use of HTTPS whenever possible and available.

Credentials Security: The internal configuration files used to maintain the connection details including credentials are stored in a set of encrypted files.  The connection manager leverages the AES-256.  These files are stored on the Riva synchronization services files system and are never left in an unencrypted state.

Data Storage

As a core principal, during synchronization, none of the Riva components cache or write the message content of emails or store any private information for opportunities, cases, quotes, projects, contacts, accounts, appointments, etc. to any persistent storage on the Riva servers at any time.  This information is retrieved, received, converted, transformed, transmitted and an absolute minimal information sub-set is stored.
    
In order to synchronize, Riva persists certain minimum types of information for core functionality and performance improvement.  Some of this information includes data fields like the unique record database ID, modification date time stamps and item change revisions.  This information is kept in persistent storage unique to each user.  This persistent storage is referred to as the transaction database or as metadata.

If the metadata is opened using query tools, it is not possible to re-create the item or to determine any details about the content that had previously synchronized from the information stored in the metadata.  The metadata alone cannot be used to build or restore any information that has been previously synchronized.

Riva considers content fields to be fields like: email or appointment subject, location, body, attachments, attendee or recipients lists.  These fields and those like it which contain “content relevant to the record intention” is never stored in the metadata.

For performance reasons, by default, Riva stores a dynamic mapping of email addresses and website domains for related contacts and accounts that have been synchronized.  This avoids the additional network communication required for common relationship look-ups when the information is available for items that have already processed.  This greatly improves scalability and reduces synchronization times when handling relational data in reference to email recipients and appointment attendees.  Additional configuration can adjust this behavior so that the raw values are not stored resulting instead in a hash of the email addresses or optionally this optimization can be completely disable to ensure data privacy.

No information that is being synchronized is stored in the Riva Sync Connector, this component acts purely as a data transformation gateway service.
    
Additional temporary storage of information is logged and logging is described further in detail below.

High Availability / Fault Tolerance

The Riva Sync Connector for IBM Notes software that is installed as a Domino database supports replication allowing for high-availability if a server becomes unavailable.

More details on IBM Domino high-availability can be found here.

Logging Services

Logging is an essential part of any data integration solution.  Logging provides evidence to the current state of the synchronization at a specific moments in time allowing in-depth analysis of synchronization conditions.  Due to the complexities of today's networks, the number of different Notes enabled devices and clients, the logging services provide details as to when, and why a specific record was created, modified or deleted.

By default logs are stored on the local file system with an option to move the logs to a relational database.

The following resources provide insight into the logging services,

Article ID: 912
Last updated: 14 Aug, 2015
Revision: 3
Views: 10290
Also read