Starting RESTful based Web Services - Catalogue QT server
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
Executing Spring-Boot application (WS API)
...
code of all the components can be downloaded from the code repository (Catalog QT2).
Code Block |
---|
> git clone https://YOUR_USER_NAME_AT_GATEWAY@gforge6.eufus.eu/git/catalog_qt_2 |
Info |
---|
If you don't have access yet, make sure to request for the access. |
Requirements
Catalog Catalogue QT ver. 2 requires following components to be installed on the machine where it will be started
Code Block |
---|
Java - openjdk 11.0.2 - you can use JDK from Oracle as well Apache Maven - 3.6.3 - you can use Apache Maven distributed with project as well mysql - 8.0.20 - you can use MariaDB instead (we haven't tested it thoug) |
Creating database
Catalog QT ver. 2 requires access to database that will store all the imported data. You have to create this database. Schema for creating database is located inside project structure: sql/schema/catalog_qt_db.sql.
...
Code Block |
---|
# WARNING! This line will drop schema: itm_catalog_qt and create it from the scratch. Make sure you are not destroying things.! > mysql -u root -p < sql/schema/catalog_qt_db.sql |
This script will create two users: itm_catalog_ro/itm_catalog_ro
and user itm_catalog_rw/itm_catalog_rw
with read-only and read-write privileges, respectively.
...
It's a good idea to check whether you can access your newly created database. Make sure you can successfully connect there.
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_test |
+----------------------------+
| annotation |
| catalog_parameters |
| entry |
| entry_data |
| experiment |
| outcome |
| reference |
| replace |
| request |
| tag |
| tag_entry |
| user |
| variable |
+----------------------------+
13 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 WS 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
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] --------------------------------[ 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 ... ... |
...
You can run unit tests by changing directory to: ws/catalog-ws
and running.
Code Block |
---|
> mvn test |
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. |