Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • MySQL installation,
  • Spring Boot installation (execution of Spring Boot based application),
  • Exposing RESTful Web Services.

Schema of components used by RESTful WS server

Starting

...

WS API server from source codes

Catalogue QT Web Services are hosted using Spring-Boot framework. In order to start server you have to clone the repository with source code. Source code of all the components can be downloaded from the code repository (Catalog QT2).

Code Block
> git clone https://YOUR_USER_NAME_AT_GATEWAY@gforge-nextgitlab.eufus.psnc.eupl/gitsimulation_catalogue/catalog_qt_2.git


Info

If you don't have access yet, make sure to request for the access.

...

Code Block
> mysql -u itm_catalog_rw -p -h localhost itm_catalog_qt
Enter password:
...
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6318
Server version: 8.0.20 MySQL Community Server - GPL

...
...

mysql> show tables;
+----------------------------+
| Tables_in_itm_catalog_testqt |
+----------------------------+
| annotation                 |
| catalog_parameters         |
| entry                      |
| entry_data                 |
| entry_replacement experiment       |
| experiment               |
| outcomefilter                    |
| referenceoutcome                  |
| replacereference                |
| request    |
|  request            |
| request_status           |
| tag                        |
| tag_entry                  |
| user                     |
| user_filter              |
| variable                 |
| variable_type            |
+----------------------------+
1317 rows in set (0.00 sec)


mysql>


Info

In case you have issues while accessing your MySQL installation, please consult your sys admin to resolve the issue.

Starting WS API server

In order to run Catalogue QT ver. 2 Web Services API server you have to start Spring-Boot application. Make sure to go inside directory: ws/catalog-ws and execute > mvn spring-boot:run

 Starting Spring Web Services

To prepare Catalog QT environment run compile.sh script - it will create server application and basic components. 

Warning
titleJava based bridge to IMAS

Note that Catalogue QT Server requires IMAS based components. You have to import IMAS based JAR file into your local Maven repository. It's not something that will make you suffer. All you have to do is to run one command, and you have to make sure you have imas.jar file.

In order to run Catalogue QT ver. 2 Web Services API server you have to start Spring-Boot application. Make sure to go inside directory: server/catalog-ws-server and execute > java -jar target/catalog-ws-server-1.1.0-SNAPSHOT.jar

Code Block
> cd server/catalog-ws-server/target/
> java -jar target/catalog-ws-server-1.1.0-SNAPSHOT.jar
[INFO] Scanning for projects...
[INFO]
[INFO] --
Code Block
> cd ws/catalog-ws
> mvn spring-boot:run
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------< pl.psnc.catalog:catalog-ws >---------------------
[INFO] Building catalog-ws 0.0.1-SNAPSHOT
[INFO] -------------------< pl.psnc.catalog:catalog-ws >------------[ jar ]---------
[INFO] Building catalog-ws 1.1.0-SNAPSHOT
[INFO] ---------------------------------
...
...
 .   ____[ jar ]---------------------------------
...
...
 .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.3.0.RELEASE)

2020-06-05 13:21:31.533  INFO 17919 --- [           main] p.p.c.catalogws.CatalogWsApplication     : Starting CatalogWsApplication on catalog.eufus.eu with PID 17919
...
...

...

Info

Note that you can use different port number for `Spring Boot` application

Code Block
> SERVER_PORT=8081 mvn spring-boot:run

Running tests

You can run unit tests by changing directory to: ws/catalog-ws and running.

Code Block
> mvn test


 Catalogue QT Docker - Docker Compose Installation


This container is desined to simplify installation of Catalogue QT and it's components.
Instead of installing it on `IMAS` compatible platform you can use it on virtually any machine.


Known limitations

Note that this container should be used only for research purposes.


Info

Our codes and detailed documentation are open-source and you can find them in here: https://gitlab.eufus.psnc.pl/simulation_catalogue/catalogue_qt_docker

Info

Test code doesn't use MySQL server based database. It's safe to run tests even after database is already created. Tests will not touch your production database.


Starting Catalogue Update Process

...

Code Block
# You need IMAS environment with Open JDK 11

> module purge
> module load cineca
> module load imasenv
> module unload itm-java
> module load openjdk

# You have to clone source repository (you need to request access if you haven't done so)
# https://gforge6gitlab.eufus.psnc.eupl/gfsimulation_catalogue/project/catalog_qt_2/ .git- and "Request to join project"

> git clone https://gforge6gitlab.eufus.psnc.eupl/gitsimulation_catalogue/catalog_qt_2.git
Cloning into 'catalog_qt_2'... 
Username for 'https://gforge6gitlab.eufus.eupsnc.pl': YOUR_GW_USER_NAMEg2afilip
Password for 'https://g2michal@gforge6g2afilip@gitlab.eufus.eupsnc.pl': YOUR_GW_PASSWORD

> cd catalog_qt_2/client/catalog-ws-client/
> mvn org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file  \
    -Dfile=${IMAS_PREFIX}/jar/imas.jar \
    -DgroupId=imas -DartifactId=imas \
    -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar \
    -DlocalRepositoryPath=`pwd`/local-maven-repo
> mvn install -DskipTests

# You are ready to run Update Process

> java -jar ./target/catalogAPI.jar -startUpdateProcess --url http://catalog:8080
[main] INFO pl.psnc.catalog.client.cli.commands.StartUpdateProcess - Getting list of requests for processing from Catalog.
...
...

...