Case Study

Record Point: Exchange Online Connector

A sophisticated microservices-based connector that enables seamless integration between Exchange Online and Records365, processing millions of items daily with zero data loss and enterprise-grade scalability.

Record Point
1.5M
Items Per Day
Processing capacity per tenant
250+
Mailboxes
Supported per tenant
Zero
Data Loss
Even during maintenance
Multi-tenant
Architecture
Scalable across tenants

Background

RecordPoint is a global records management solution provider that gives businesses the ability to manage records from multiple services and platforms reducing the cost and complexity of records management.

In 2018, RecordPoint approached CoSource to build an Exchange Online Connector for their Records365 platform.

At a high level the connector had to perform the following functions:

  • Monitor content in Exchange Online and submit new or changed emails to Records365
  • Delete content from the content source on behalf of Records365 when requested

The Requirements

In developing the connector, CoSource had to meet a number of key requirements

Allow end-users to configure multiple instances of an Exchange Online Connector in Records365, across multiple tenants
Support for submission and management of email data and attachments in inboxes and public folders
Allow end-users to explicitly grant consent to the Exchange Online Connector to access their Exchange Online tenant
Allow Records365 end-users to explicitly grant consent to the Exchange Online Connector to submit content to their Records365 tenant
Allow end-users to configure which mailboxes are to be monitored in an Exchange Online tenant
Submit mail message metadata as records to Records365
Submit mail attachments as record binaries to Records365
Submit mail message content as record binaries to Records365
Submit conversations, mail folders and mail inboxes as aggregations to Records365
Delete mail messages in Exchange Online when the corresponding records are disposed in Records365
Support zero loss of mail messages, even if the connector is offline for maintenance
Support multiple Records365 tenants – i.e., the connector implementation needs to be able to service multiple instances of the connector across multiple tenants
Support up to 250 mailboxes per tenant, with the architectural potential to scale higher
Ability to filter items submitted for connector processing based on metadata
Support processing of 1,500,000 items per day across all mailboxes, per tenant
Be able to scale to support thousands of mailboxes
Be able to scale to support tens of millions of items per day
A method to provide for bulk registration of email content in existing mailboxes and public folders in order to on-board existing customers

The Architecture – RecordPoint Connector API

A Records365 Connector is a software component that interacts with a content source in order to locate and submit records to the Records365 records management platform, and which the platform can use to manage the content back in its source.

For this purpose, the Records365 platform hosts a Connector Framework, which each connector must integrate with in order to perform their function.

This framework is comprised of HTTP API endpoints that both internal and third-party developers can use to create connectors to any accessible content source, while imposing as few restrictions on how those connectors are designed and implemented as possible.

The Connector API

Allows submission of records, aggregations, audit information and binaries into Records365

Connector Notifications

Allows custom connectors to carry out actions on the content source when certain events take place in Records365

Connector Type Registration

Allows system integrators to register new custom connector types with Records365

Connector Configuration

Allows end-users to configure instances of custom connectors in Records365

The Solution – Microservices

The Connector was implemented as a set of microservices which ran on top of Azure Service Fabric to take advantage of its scalability and reliability

Configuration Microservice

Maintained the tenant's configuration and auth information in conjunction with Records365 which included a user interface component

Monitoring Microservice

Monitored the Exchange online content source for new messages and changes, then submitted them to the messaging API for processing

Submission Microservice

Digested and transmitted the data from Exchange online source to Records365

Destruction Microservice

In charge of executing the destruction orders from Records365 to Exchange online

Messaging API

Provided a central point through which all content flowed so it was maintained until it was safely stored in Record365 thus providing dead lettering functionality

Lastly, the connector was accompanied by a bulk load script which allowed for the rapid onboarding of new customers.

Technology Stack

Enterprise-grade Microsoft technologies for scalable records management

Azure Service Fabric

Microservices platform

.NET Core

Microservices framework

Microsoft Graph

Exchange Online integration

OAuth 2.0

Secure authentication

Final Thoughts

The connector was pivotal in maintaining Record Point's position of a global custodian of record management. The feedback from both Record Point and their customers was extremely positive, with the CEO personally thanking the CoSource team for the excellent work.

In Summary

Customer:

RecordPoint

Industry:

Document Management & Compliance

Business Problem:

RecordPoint needed to integrate into Exchange Online to provide record management

Solution:

Build an Exchange Online Connector

Outcome:

Allows submission of records, aggregations, audit information and binaries into Records365

Need enterprise integration solutions?

Whether it's Exchange Online, SharePoint, or any other Microsoft platform, we can build scalable microservices that handle millions of transactions daily.