Architecture
Bacula Enterprise Exchange EWS Plugin is a Bacula File Daemon plugin built over the Exchange EWS (Exchange Web Services) API to perform all of its operations to retrieve from and feed to the target Exchange service. The plugin runs a Java Daemon which uses a custom extension of the EWS Managed API SDK originally built by Microsoft.
All the information is obtained using secure and encrypted HTTPS queries to Exchange Server from the File Daemon (and through the mentioned Java Daemon), where the plugin is installed. All the requests are performed over the following endpoint: https://exchange.hostname/EWS/EWS/Exchange.asmx
To get more information about EWS, visit: https://learn.microsoft.com/en-us/exchange/client-developer/exchange-web-services/start-using-web-services-in-exchange
The metadata of every backed up item is stored in Bacula using JSON format. If MIME option is enabled, the information is also stored with that format (RFC 2077 for emails). Any attachment associated to a given item is downloaded and stored as it is. The download process is done locally to the host, and then sent to the Bacula Storage Daemon.
Backup and restore processes use different parallelization techniques in order to maximize performance, and overcome latency times when doing each needed request to EWS. Parallelization of several backup jobs is also supported.
Below, there is a simplified vision of the architecture of this plugin within a generic Bacula Enterprise deployment:
See also
Go back to Exchange EWS Scope
Go back to Exchange EWS Features
Go to EWS Installation
Go to Exchange EWS Operations
Go to Exchange EWS Limitations
Go back to the Exchange EWS plugin main page.