Changes between Version 7 and Version 8 of Petascope_9.5


Ignore:
Timestamp:
Jul 3, 2017 10:34:29 AM (3 weeks ago)
Author:
dmisev
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Petascope_9.5

    v7 v8  
    1 = General description about Petacope version 9.5
     1[[PageOutline]]
    22
    3 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:
    4  * 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_jdbc list of tested JDBC for other Relation Databases]).
    5  * 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.
     3= Petacope 9.5
    64
    7 = Change in new petascope.properties configuration file
     5There are two major changes:
     6- internally it uses the Spring Boot Framework with Hibernate as object relational mapping data model
     7- implements support for the Coverage Schema Implementation (CIS version 1.1) for !GridCoverage, !RectifiedGridCoverage and !ReferenceableGridCoverage.
    88
    9 Below is the change for the new petascope.properties in version 9.5 which user need to take care:
    10  * The most important thing is new JDBC database connection to Relational Database which will need to adapt by user's preference (see [#list_jdbc list of tested JDBC for other Relation Databases]).
    11 '''NOTE 1: only use one kind of JDBC database connection in petascope.properties file at the same time.''' [[BR]]
    12 '''NOTE 2: All the configuration in petascope.properties are used by Spring will need to follow the convention: spring.* as this is a requirement for Spring Framework can read optional properties which can be added in the future.'''
     9This brings the following advantages:
     10 * Petascope can be deployed on more backend DBMS beside PostgreSQL like MySQL, Oracle, DB2, HSQLDB, H2, etc. Postgresql is still the most stable database for deploying Petascope, but the user can easily switch to other databases by changing the configuration in petascope.properties (see [#list_jdbc list of tested databases]).
     11  * With the data migration tool [http://www.liquibase.org/ Liquibase], existing `petascopedb` can be migrated to the new schema in database `petascopedb_cis`
     12 * The Spring Boot Framework provides many utilities that aid in quicker development of petascope.
     13 * Petascope can now start as an embedded web application with an internal embedded Tomcat (i.e: no need to deploy to external Tomcat).
    1314
     15= Changes in petascope.properties
    1416
    15 By default, it is used with Postgresql:
    16 
     17The only change is triggered by the support for new JDBC database connections (see [#list_jdbc list of tested databases]). The options following the `spring.*` convention are used directly by the Spring framework.
     18For example, to use postgresql as a backend database for petascope, the following (default) configuration is specified:
    1719{{{
    1820spring.datasource.url=jdbc:postgresql://localhost:5432/petascopedb_cis
     
    2123spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
    2224}}}
    23 The configurations for old petascopedb in prior version 9.5 is kept without any change:
    24 
     25The existing database configuration is kept without any change (note that it doesn't have any effect in the new petascope):
    2526{{{
    2627metadata_url=jdbc:postgresql://localhost:5432/petascopedb
     
    2829metadata_pass=petapasswd
    2930}}}
    30 
    31  * If you are using old Petascope with embedded Jetty, there is one change for the port of embedded server:
    32 
     31If you have been using the embedded Jetty setup of petascope: the `jetty_port` option is now renamed to `server.port`.
    3332{{{
    34  from jetty_port=8080 to server.port=8080
     33old: jetty_port=8080
     34new: server.port=8080
    3535}}}
    3636
    37 = How to migrate from prior Petascope version 9.5
     37= How to migrate
    3838
    39 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).
     39The database schema in petascope 9.5 has changed, so existing rasdaman installation would need to migrate by executing a migration script `update_petascopedb.sh`.
    4040
    41 = List of tested JDBC configuration for Relation databases [=#list_jdbc]
     41This will create a new database `petascopedb_cis`, and will not modify the existing `petascopedb`.
    4242
     43
     44= List of tested databases [=#list_jdbc]
     45
     46Note that only a single datasource can be specified in petascope.properties; more than one is not supported.
    4347{{{
     48# Postgresql (default)
     49spring.datasource.url=jdbc:postgresql://localhost:5432/petascopedb_cis
     50spring.datasource.username=petauser
     51spring.datasource.password=petapasswd
     52spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
    4453
    45 # Postgresql (created by default)
    46 spring.datasource.url=jdbc:postgresql://localhost:5432/petascopedb_cis
    47 #spring.datasource.username=petauser
    48 #spring.datasource.password=petapasswd
    49 #spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
     54# Mysql
     55spring.datasource.url=jdbc:mysql://localhost:3306/petascopedb_cis?createDatabaseIfNotExist=true
     56spring.datasource.username=root
     57spring.datasource.password=abc!123!ABC!123
     58spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
    5059
    51 # Mysql (username, password from user)
    52 #spring.datasource.url=jdbc:mysql://localhost:3306/petascopedb_cis?createDatabaseIfNotExist=true
    53 #spring.datasource.username=root
    54 #spring.datasource.password=abc!123!ABC!123
    55 #spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
    56 
    57 # HSQLDB (username, password from user)
     60# HSQLDB
    5861spring.datasource.url=jdbc:hsqldb:file://home/rasdaman/petascopedb_cis.db
    5962spring.datasource.username=sa
    6063spring.datasource.password=
    6164
    62 # H2 (username, password from user)
     65# H2
    6366spring.datasource.url=jdbc:h2:file://home/rasdaman/petascopedb_cis.db;DB_CLOSE_ON_EXIT=FALSE;DB_CLOSE_DELAY=-1
    6467spring.datasource.username=sa