Architecture¶
Leaf is designed to be deployed in a standard three-tier architecture with two deployment models, depending on your environment:
Option 1
: 3-tier architecture with Linux and Apache
or alternatively:
Option 2
: Combined 2-tier architecture with Windows and IIS
Components¶
-
** App Database Server**, with
- The Leaf application database using MS SQL Server (2014+).
-
** Clinical Database Server**, with
- The clinical database you'd like Leaf to query, using MySQL, MariaDB, PostgreSQL, Oracle, Google BigQuery, or MS SQL Server *.
* If using SQL Server, this may also be the same database server the App Database is deployed to
* Prior to Leaf version 3.11, only SQL Server was supported and the App and Clinical databases were required to be on the same database server
-
Application Server, with
- .NET Core Runtime installed.
-
Web Server, with
- Apache or IIS installed to handle https routing for requests from the client app. These can be configured to work with a SAML2 Identity Provider to manage user authentication and authorization, such as Shibboleth or ADFS.
Info
Whether you use 2 or 3 servers, however, in general the deployment strategies are largely the same. For simplicity, in this guide we'll illustrate examples using a 3-tier architecture, but all steps are applicable to either deployment model unless stated otherwise.
Tip
Looking for a faster way to test Leaf out? Take a look at our Leaf Testing Guide for more information