Click or drag to resize

Architecture

This section explains the communication between a custom app and the Exchange Rules Service installation via the provided API. The main components involved in the communication process are also described.

This article consists of the following sections:

A schema of communication between a custom app and the Exchange Rules Service

The communication between a custom app and the Exchange Rules Service is performed via the provided API over a WCF HTTP transport channel. The architecture involves the following components:

  • The Exchange Rules Service equipped with the Settings Storage WCF Service

  • The API provided by CodeTwo Exchange Rules Pro

  • A custom application

The diagram below shows how a created app cooperates with an installed CodeTwo Exchange Rules Pro program, using the provided API

Settings Storage

Learn more about the architecture of CodeTwo Exchange Rules Pro

What is the Settings Storage WCF Service and how does the API communicate with the Exchange Rules Service?

The communication between the program and custom apps via the provided API is possible thanks to the Settings Storage WCF Service. Settings Storage is a WCF Service working along each Exchange Rules Service. It is responsible for storing and providing rules and program’s settings. The Settings Storage WCF Service is also responsible for propagation of any updated settings to its other instances within a particular environment (domain). Therefore, the Settings Storage WCF Service acts as the communication connector between the API and the Exchange Rules Service, and enables configuration of the program via a custom app.

Note Note

No matter how many Exchange Rules services are installed on multiple servers in a particular environment, a custom app can only connect to one instance of the Exchange Rules Service. Therefore, once the configuration of the program is done via this custom app, the Settings Storage WCF Service within this particular Exchange Rules Service will be used to automatically propagate the configuration to other Settings Storage WCF Services in the environment. Such solution (in a similar way to Exchange Rules Service installations) ensures real-time replication of settings between many instances of the program installed on various servers, so all the rules are always up to date.

What is an endpoint and how to configure it?

An endpoint, which is provided in XML in the Web.config file (in the case of custom web apps only) or App.config file (in the case of non- web custom apps) of the project, is a doorway, provided by the Settings Storage WCF Service, that holds the address of the server on which the Settings Storage WCF Service is installed. In other words, an endpoint enables connection of a custom app to the Settings Storage WCF Service and the Exchange Rules Service.

Endpoint

Once you build a project, the endpoint address will not be configured by default. That's why during the development of your app you need to either go directly to the Web.config/App.config file of your project or open the WCF Editor to add an endpoint that points to the address of the server where your Settings Storage WCF Service resides.

To learn more about the configuration of an endpoint, go to point 5 of the ASP.NET web app development walkthrough.

Security note Security Note

Note that by default, after creating a custom app the Settings Storage WCF Service provides an endpoint with no authentication required to connect your custom app to the Settings Storage WCF Service. However, if you want to assign the right to use the custom app to connect to the Settings Storage WCF Service and apply changes to the CodeTwo Exchange Rules Service only to chosen users, you may configure the authentication type accordingly in the Web.config/App.config file. To learn more about the available types of authentication, go to the Types of authentication section.

See next

Getting started - what is required to create a custom app integrated with CodeTwo Exchange Rules Pro.