wiki:Petascope_9.5

Version 2 (modified by bphamhuu, 3 months ago) (diff)

First documentation

Description about Petacope version 9.5

In Petascope version 9.5, it will use Spring Boot Framework with Hibernate as object relational mapping data model and implemented the Coverage Schema Implementation (CIS version 1.1) for GridCoverage?, RectifiedGridCoverage? and ReferenceableGridCoverage?. This brings 2 big advantages:

  • Petascope can be deployed on more Relational Database beside Postgresql like MySQL, Oracle, DB2, HSQLDB, H2,...With the help of Liquibase as data migration tool from petascopedb database in Postgresql to new database name: petascopedb_cis in Postgresql. By default, Postgresql is still the most stable database to support to deploy database for Petascope, but user can switch to other Relational Database easily by changing the configuration in petascope.properties (see list of tested JDBC for other Relation Databases).
  • Petasope's features can be implemented quickly with all the supports from Spring Boot Framework, such as: Petascope now can start as an embedded web application (i.e: no need to deploy to Tomcat web container) without the external embedded Jetty server as before by replacing with internal embedded Tomcat.

Change in new petascope.properties configuration file

Below is the change for the new petascope.properties in version 9.5 which user need to take care:

  • The most important thing is new JDBC database connection to Relational Database which will need to adapt by user's preference. By default, it is used with Postgresql:
spring.datasource.url=jdbc:postgresql://localhost:5432/petascopedb_cis
spring.datasource.username=petauser
spring.datasource.password=petapasswd
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect

The configurations for old petascopedb in prior version 9.5 is kept without any change:

metadata_url=jdbc:postgresql://localhost:5432/petascopedb
metadata_user=petauser
metadata_pass=petapasswd
  • If you are using old Petascope with embedded Jetty, there is one change for the port of embedded server:
 from jetty_port=8080 to server.port=8080

There will have a need to migrate from old petascopedb to new petascopedb_cis if you are using Rasdaman with java and imported some coverages by WCST_Import. This will be done with a migration script (@TODO: describe the script after the discussion is done).

List of tested JDBC configuration for Relation databases

# Postgresql (created by default)
spring.datasource.url=jdbc:postgresql://localhost:5432/petascopedb_cis
#spring.datasource.username=petauser
#spring.datasource.password=petapasswd
#spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect

# Mysql (username, password from user)
#spring.datasource.url=jdbc:mysql://localhost:3306/petascopedb_cis?createDatabaseIfNotExist=true
#spring.datasource.username=root
#spring.datasource.password=abc!123!ABC!123
#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect

# HSQLDB (username, password from user)
spring.datasource.url=jdbc:hsqldb:file://home/rasdaman/petascopedb_cis.db
spring.datasource.username=sa
spring.datasource.password=

# H2 (username, password from user)
spring.datasource.url=jdbc:h2:file://home/rasdaman/petascopedb_cis.db;DB_CLOSE_ON_EXIT=FALSE;DB_CLOSE_DELAY=-1
spring.datasource.username=sa
spring.datasource.password=
spring.h2.console.enabled=true