The XConnector synchronizes appointments between Microsoft Exchange and other calendar systems. It uses the Exchange Web Services (EWS) to communicate with Microsoft Exchange 2007+. It provides plugins to communicate with 3rd party calendars and currently supports Health Level 7 (HL7) SIU 12, 13, 14 and 15 messages. Appointments can be synchronized in uni or bi-directional. Mail boxes can automatically be matched and appointments filtered or transformed as needed using flexible templates and expression languages e.g. HL7 HAPI Terser. The dynamic language Groovy can be used in cases where more flexibility is required.
The XConnector Agent is a command line application that runs in the background and periodically synchronizes the appointments. It uses a database to buffer appointments between systems and thus can handle systems being unavailable. The agent will try to deliver an appointment to a target system and deadlines can be set to control how long retries are attempted. The agent exposes its status using JMX and thus can be monitored using tools such as Nagios or VM Ware vFabric Hyperic. Finally a housekeeping task regularly deletes appointments that are older than a configurable age (e.g. 90 days) to keep the database small.
The XConnector Web Application provides tools to administer and monitor the XConnector Agent. An administrator can edit exchange server setups, mailbox configurations, mapping templates etc using the web interface. All configuration is stored in a MySQL database and all sensitive data is encrypted.
An administrator can view the messages processed over an interval and examine the raw message, mapped values, target message and any recipients.
An administrator can create, edit, delete, enable etc mailboxes and configure whether e.g. private appointments are to be ignored. Individual templates can be specified with a fallback to the default template if none is specified.
The exchange configuration is used to configure the connection properties, any proxy settings and the default mapping templates to use. One or more exchange servers can be configured, and mailbox can be configured to use a specific exchange server.
The XConnector is typically deployed as a VM Image and thus setup is kept to a minimum. The image uses Linux (Debian), JAVA 1.6 and MySQL 5.5+. Alternative installations and database support (e.g. Oracle, MS-SQL, PostgreSQL) are available on request.