Skip to content

Deploy multi omics website

drbecavin edited this page Jan 19, 2022 · 12 revisions

BACNET V2 - Update December 2021

Finalize your multi-omics website

Providing all datasets have been integrated into the database using bacnet.e4.rap.setup, the multi-omics website is ready to publish. Prior to deployment the user can create the initial view of the website and select the visualization tools to add.

First you can modify the setup view from bacnet.e4.rap.InitViewListeriaSample, or create your own. this view should be registered in the bacnet.e4.rap.Application.e4xmi file. This file is the model application of your multiomics website. It is an xml-like file which declare all components of your application, as defined in Eclipe RCP e4 API. Add your view in the Part descriptor section and also in the Part Stack section.

application.e4xmi.png

Finally declare in the database.ini file at the source of every /Database/ folder. It gives the correct ID of the view you want to initialize at the start of your website. This database.ini file is the first file started when running the website. You can add specific variables to use through your whole website through this file.

database.ini

Check the webapp product

To create the war file we need product definition. This is the purpose of the two features:

  • bacnet.webapp.feature for the multi-omic website
  • bacnet.setup.feature for the database setup website

Inside both feature, one can find product definition.

For example, open bacnet.webapp.feature > bacnet.webapp.product

Product definition

Click on Overview > Synchronize. So the feature is synchronized with bacnet.e4.rap. Then click on Overview > Launch a RAP Application, use bacnet.e4.rap. You should have the website opening. You are ready to export your product !

Export to .war file

(For testing purpose we provide the target .war file at bacnet/bacnet-webapp.war. You can also test the widget we created for Eclipse e4 RAP export: https://github.com/becavin-lab/rap-e4-war-export)

For the export we use Maven integration into Eclipse : m2e. It is installed by default in Eclipse.

Select bacnet > pom.xml (at the root of bacnet project). Right click on Run as > Maven build... and in Goals write "clean install" It should create the war file after few minutes.

Log Maven

It can be found in bacnet.webapp.feature/target/bacnet-webapp.war

Target Maven

The name of the .war is a parameter which can be fixed in: bacnet.webapp.feature/pom.xml with webapp.name property.

The database setup website has been also exported and can be found in bacnet.setup.feature/target/bacnet-setup.war

It is also possible to export your project using your shell.

Go into the right path:

cd bacnet

and then

mvn clean install

(For maven install use the appropriate package installer apt-get, yum, brew, etc...)

Deploy on Apache Tomcat

(For testing purpose we provide the target .war file at bacnet/bacnet-webapp.war)

You can deploy on Apache Tomcat server the .war file. Install first Apache Tomcat server on your desktop or distant server. Then use the Manager App portal and add your .war file in the WAR file to deploy section

!! The .war export has been tested on Apache Tomcat 8 and 9, running on JavaSE 11 !! On recent JavaSE (17), we were experiencing access problem to the OSGI platform. So try it at your own risk.

Tomcat App manager

By default the app will search an init file BacnetDatabases.ini in "/srv/data/BacnetDatabases.ini". You can change this path by changing bacnet.Database.PATH_WEBSITE value. (Export again in .war to take change into account).

BacnetDatabases.ini should be present in your server. Copy and modify the one present in Bacnet project folder Bacnetdatabase.ini. Modify the path of your project, to add the path of your multiomics website on desktop or distant server.

If everything is setup correctly your website should run but no dataset should display as nothing have been put on the server.

Deploy your database

The database made of flat files should be uploaded onto the server, no SQL like architecture is needed. This makes the personalized website easy to deploy and update on every server type.

  • Find your database folder on your desktop. (For example /home/data/ListeriomicsSample/)
  • Compress the folder
  • Copy the file on your server
  • Extract the files
  • Update BacnetDatabase.ini file to indicate the new location of you database (For example /srv/data/ListeriomicsSample_)

Your website should run correctly and you should be able to visualize your datasets on the genome viewer or expression Atlas. Good Job! Your first multi-omics website is running. It should look like this: ListeriomicsSample