Setting up the Persephone System
This section provides steps and guidelines needed to install and configure the Persephone system.
The Persephone System Setup Guide is intended for administrators only.
The required components of Persephone system are:
- Oracle/MySQL(MariaDb) Server. You need to configure either an in-house or cloud-based Oracle or MySQL database server. (Oracle 11g or higher 64-bit Standard Edition, the lower-cost Standard Edition One for one to five users, or Enterprise Edition are supported.) Multiple operating systems (Red Hat Linux 5.4, Amazon Linux, Solaris 10, Windows 7 or later[32 or 64-bit, all editions], Windows Server 2011, Windows Server 2008 and 2008 RT, Windows Server 2003) are supported. Please consult proper database documentation.
- API Server. The API server (known as "Cerberus") communicates with the database(s). The API server performs data-caching, data compression, and other optimizations, which result in dramatic performance improvements. The server can be cloud-based or installed in-house. The latest version of the API server (SelfHostingCerberus) can run as a stand-alone application that does not require any extra Web server like IIS or Apache. It can be installed on Windows OS (Windows 7 or later, Windows Server 2011 or later) or on Linux. Microsoft .NET 4.5 or later is required for the Windows installation. In case of Linux, Mono framework is needed to run the .NET application. From now on, we highly recommend switching to SelfHostingCerberus.
- Web Server. The Web Server can be in-house or cloud-based and can run on multiple operating systems, just like the Oracle/MySQL server does. This server hosts the following components:
- A Basic Local Alignment Search Tool (BLAST) CGI adaptor (UPDATE: The recent versions of Cerberus implement BLAST functionality, no need for the adaptor anymore)
- Distribution of the Persephone user application with Microsoft's ClickOnce technology
- An HTML Welcome page.
- Persephone Client Application. Users need to install the Persephone client application on their Microsoft Windows desktop or laptop machines. This is done automatically, due to deployment that uses ClickOnce technology. The users just need to click a hyperlink in their browser to install the application.
This guide is organized by how you deploy the Persephone system, which can use local (in-house) servers or cloud-based servers. Click the following links for more information.
- Set Up Local (In House) System
- Set Up Amazon Web Services (AWS) System
- Set up BLAST
- Set up Lucene Search Engine or Set up Solr Search Engine
- System requirements
The following figure shows a logical (conceptual) representation of the Persephone system.
The main client application is deployed on a web server. It installs when the user navigates to the provided ClickOnce URL for the first time. The application files are copied to the user's disk, and the program starts as other Windows applications. The communication with the data proceeds through the API server. The external search engine and the BLAST tool are also accessed via Cerberus.
Once all components have been installed, we (Persephone Software) would need to build the Persephone package and make it ready for the deployment by modifying the configuration files.
This can be done in several steps:
- After installing the database, please send us the database connection string. We will encrypt it and will place it into the Cerberus' configuration file.
- Please send us the URL for Cerberus. It will be inserted into the main application's configuration.
- BLAST: we will need
- Absolute path to BLAST binaries in the file system
- Absolute path to BLAST data files
This information will be embedded into Cerberus' configuration. The latest version of the API server can communicate with BLAST and return the search results.
- Please send us the URL to the location of ClickOnce deployment. This will be part of the configuration for the main application, so that it knows where to look for updates.
- Optionally, please provide the URL to Welcome page. You can use it to communicate all the latest news about the data loaded into the system, new feature updates, etc. to your users.
The ClickOnce package is digitally signed, which is the reason why we ask to send us the information - it becomes a part of the deployment and cannot be changed without digitally signing it again.
As an alternative, you could modify the configuration files yourselves, put your own database connection strings and other URLs. In this case, before deploying the ClickOnce application, the package should be digitally signed. This can be done by using Microsoft's Mage utility.
Access to Cerberus and BLAST URLs can be protected using appropriate IIS configuration.
4 GB minimum
1 GB for program files and the data cache.