1 / 38

How to implement CDI ? M. Fichaut, V. Tosello

How to implement CDI ? M. Fichaut, V. Tosello. Training course - June 2007, O o stende, Belgium. How to proceed with the files for training. In the shared directory : With 2 files CDI_implementation.ppt : this presentation training2_programme.doc : programme sent by email

dustin
Download Presentation

How to implement CDI ? M. Fichaut, V. Tosello

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. How to implement CDI ?M. Fichaut, V. Tosello Training course - June 2007, Oostende, Belgium

  2. How to proceed with the files for training • In theshared directory : • With 2 files • CDI_implementation.ppt : this presentation • training2_programme.doc : programme sent by email • And 5 directories : • CDI documentation • Detailed documentation on CDI and mapping • Example database • 3 directories for ACCESS, MySQL and EXCEL database • Exercises • Mikado • Mikado software and configuration files • Solutions • Solution of the exercises, empty now, will be filled during the training after each exercises session Now : Copy the common directory on your computer

  3. Example database (1) • Document : \example_database\example_database_description.rtf • 10 tables describing : the stations of datasets collected during cruises • 5 cruises on 2 ships, 10 datasets, 1399 stations • the datasets are either CTD or Bottle stations (mikado_dataset.database_id) • Measured parameters are linked to the datasets (mikado_dataset_parameter) • Mapping with common vocabularies is made through mapping tables (mikado_map_…)

  4. Example database (1) One database in several environments • On Microsoft ACCESS • \access\cdi_training_course_2.mdb • On MySQL • Name of the database : mikado, user : mikado, password : mikado • On EXCEL • \excel\ cdi_training_course_2.xls

  5. First set of Exercises • Manipulate the example database in different environments • Exercise 1 : MySQL database • Exercise 2 : ACCESS database • Exercise 3 : Excel file

  6. STATION METADATA (CTDs, Bottles, Current meters, …) USER LOCAL DATABASE EXCEL FILES ACCESS MYSQL EXCEL CDI implementation progress

  7. MAP YOUR DATABASE to THE CDI FIELDS Generating the CDI - First STEP

  8. Database mapping to XML schema (1) • Using the documents : • \CDI documentation\ CDI_XML_V0_documentation_3_00_June2007.doc: • Metadata Format and full description of XML schema version 2.04 – as prepared in Sea-Search • \CDI documentation\ CDI_V1_04_mapping.xls : • Excel file describing the mapping between the CDI fields, ISO-19115 and the local database • \example_database\example_database_description.rtf : • Description of the tables of the example database

  9. Database mapping to XML schema (2) • On the right hand side : local database reference • Table_name.field_name • On the left hand side : CDI reference • For each : XML tree (XML tags, with ISO-19115 number)

  10. Database mapping to XML schema (3) • Example of mapping • Mandatory CDI fields in bold characters

  11. Second set of Exercises • Map the local database to the CDI fields • Exercise 4 : Find all CDI fields mapping with MIKADO_CRUISE table • Exercise 5 : Find the mapping for the CDI field Data Coordinate system and Sampling Interval • Exercise 6 : Full mapping • Look at the final mapping file. Questions?

  12. STATION METADATA (CTDs, Bottles, Current meters, …) USER LOCAL DATABASE EXCEL FILES ORACLE MSSERVER MYSQL … MAPPING CDI implementation progress ISO-19115 XML SCHEMA defined for the CDI by SDN – TTT MAPPING Common vocabularies

  13. STATION METADATA (CTDs, Bottles, Current meters, …) USER LOCAL DATABASE EXCEL FILES ORACLE MSSERVER MYSQL … Compliant to MAPPING TOOLS Mikado Others XML CDI files Common vocabularies Configuration Files Central CDI Principles of the CDI ISO-19115 XML SCHEMA defined for the CDI by SDN – TTT MAPPING

  14. MIKADO CONFIGURATION MAP YOUR DATABASE to THE CDI FIELDS Configure Mikado - Second STEP

  15. MIKADO : Reminder • MIKADO has been developed by IFREMER in the framework of the SEA-SEARCH project. • MIKADO can be used to generate EDMED, CSR and CDI XML files. • MIKADO can be used into 2 different ways : • One manual way, to input manually information for EDMED, CSR and CDI fields in order to generate XML files. • One automatic way, to generate these descriptions automatically if information is catalogued in a relational database.

  16. MIKADO principle Download driversfrom web sitesif not provided with Mikado MIKADO Java code Native Drivers MYSQL ORACLE POSTGRES SQLServer DATABASE Configuration Files (*.properties) JDBC Java DataBase Connectivity Bridge Drivers using Microsoft ODBC (ACCESS, EXCEL, SQL SERVER) JVM – Java Virtual Machine

  17. List of drivers provided with Mikado • ODBC Bridge (from Java JDK 1.5) • MS Access 97, 2000, 2003 • MS Excel • JTDS 1.1 (Open Source licence) • Sybase 10, 11, 12, 15 • SQL Server • MySQL 3.1.10 (GPL licence) • MySQL 4.1, 5.x • Oracle 14 (Oracle Technology Network Development and Distribution License) • Oracle 8.1.7, 9i, 10i (with restrictions) • PostgreSQL 8.0.312 (BSD licence) • PostgreSQL • MS SQL server 2005 driver (Microsoft download) • SQL Server 2000 with Service Pack 1 or higher Please note that Mikado source level is JDK 1.5

  18. How to find the appropriate JDBC driver? • Native drivers must be downloaded from the appropriate vendors websites(i.e Oracle, Sybase, MySQL, PostGres, …) It must fit with the database and the JDBC versions. • This link may help you to find out the native drivers you need :http://developers.sun.com/product/jdbc/drivers • For Oracle RDBMS , a native driver may be found on http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html • For Microsoft SQL server, a native driver may be found on Microsoft MSDNhttp://msdn2.microsoft.com/en-us/data/default.aspx • Bridge drivers (using Microsoft-ODBC Open DataBase Connectivity) are bundled with the Java 2 SDK. http://java.sun.com/j2se/1.3/docs/guide/jdbc/getstart/bridge.doc.html Drivers have then to be installed following the given recommendations The corresponding .jar files must be copied in the \mikado\dist directory

  19. MIKADO configuration files • See Mikado user manual • \mikado\sdn_Mikado_Manual_V0.1.doc • Mikado needs 2 configuration files in the \mikado\conf directory • files.properties file which contains • all the information about the name and the location of the files used by the software • Cdi.properties file which contains: • Database connection parameters • Queries to retrieve data from the database • Mapping between the queries results (SQL variables) and the CDI fields

  20. Mikado files.properties file All the information about the name and the location of the files used by the software • Name of the files containing the list of values for CDI [and EDMED and CSR] : Parameters codes, platforms codes, … ############## # CDI ############## #cdiPartnerCodes cdiPartnerCodes.file = ./conf/cdi_partner_codes.csv #cdiMeasurementAreaTypeCodes cdiMeasurementAreaTypeCodes.file = ./conf/cdi_measurement_codes.csv • Name of XML schemas used for CDI [and EDMED and CSR] #xsd xsd.cdi = ./conf/CDI_V1_04.xsd xsd.cdi_multirecords = ./conf/CDI_V2_01_multirecords.xsd • Name of the files used for CDI XML automatic generation [and EDMED and CSR] #mapping.cdi = ./conf/cdi_training2_access.properties #mapping.cdi = ./conf/cdi_training2_mysql.properties mapping.cdi = ./conf/cdi_training2_excel.properties

  21. Mikado cdi.properties file • 3 parts in the file • Database connection parameters • Depending on the DATABASE : ACCESS, MySQL, ORACLE … • Queries to extract data from the database • To be written from the mapping • Mapping between the queries results (SQL variables) and the CDI fields • Must not be modified!!!

  22. cdi.properties file : database connection (1) • DATABASE ACCESS JDBC (Java Data Base Connectivity)connection parameters ############################### JDBC parameters for querying database ############################### bdd.query.timeout = database connection time out bdd.className= driver Java Class Name (the *.jar file which implement this Class Name must exist in the mikado\conf\dist directory) bdd.connectURL = connect string to the database bdd.user.name = user name bdd.user.password = user password

  23. cdi.properties file : database connection (2) • Examples of ODBC bridge drivers • ACCESS database bdd.className = sun.jdbc.odbc.JdbcOdbcDriver bdd.connectURL =jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=N://example_database/access/cdi_training_course_2.mdb bdd.user.name = bdd.user.password = • EXCEL file bdd.className = sun.jdbc.odbc.JdbcOdbcDriver bdd.connectURL =jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=X:/example_database/excel/cdi_training_course_2.xls bdd.user.name = bdd.user.password = • MS SERVEUR Not recommended, use native driver

  24. cdi.properties file : database connection (3) • Examples of Native drivers • MySQLdatabase bdd.className = com.mysql.jdbc.Driver bdd.connectURL = jdbc:mysql://localhost/mikado bdd.user.name = mikado bdd.user.password = mikado • ORACLE bdd.className = oracle.jdbc.OracleDriver bdd.connectURL = jdbc:oracle:thin:@server:port:instance User and password must be provided Example : jdbc:oracle:thin:@josephine.ifremer.fr:1521:btest920 • MS SERVER bdd.className = com.microsoft. jdbc.sqlserver. SQLServerDriver bdd.connectURL = jdbc:sqlserver://serverName;instanceName:portNumber;property=value[;property=value] User and password must be provided Example : jdbc:sqlserveur://www.bkrclass.org:1065;databaseName=io_mikado; integratedSecurity=false;

  25. Must not be changed cdi.properties file : mapping • Mapping of the query results to the CDI fields • Mapping table : SQL variables = CDI fields var1 = southLatitude var2 = westLongitude var3 = northLatitude ….. var42 = instrumentOrGearType var43 = typeOfPlatform var50 = parametersMeasured.value

  26. cdi.properties file : SQL queries (1) • Main query • It is the query which identifies all CDI entries that must be exported. This request must return only one column which is the identifier of each entry and that will be used for sub-queries. • SQL syntax must be adapted to your local database ############################ # Main query (station identifier list) ############################ query.=select mikado_station.station_id from mikado_station

  27. cdi.properties file : SQL queries (2) • Sub-queries • For each row of the main query, it is possible to define single or multi sub-queries. • Single sub-queries : return one row for each row of the main query (ex: dataset_id, cruise_name) • Multi sub-queries : return several rows for each row of the main query (ex: parameters). • The links between the fields of the database and the variables of the mapping (var1 to varN) table have to be defined in theses sub-queries as synonyms of the selected columns

  28. cdi.properties file : SQL queries (3) • Single Sub-queries : return one row • The number of single sub-queries must be defined queries.single.number=5 • The keyword for single sub-queries is : queries.single.i= where i varies from 1 to queries.single.number • Example : queries.single.1 = select tabA.colX var1 from tabA where tableA.colY= :$ var1 = synonym for the column name from the mapping table :$ = the identifier of the row returned by the main query

  29. cdi.properties file : SQL queries (4) • Multiple Sub-queries : return several rows • All the names of the multi sub-queries are defined and must not be changed • For CDI one multi sub-query is defined • The keyword is : queries.multi.parametersMeasured = • Example : queries.multi.parametersMeasured =select tabA.colX var50 from tabA, tabB where tabB.colX = :$ and tabB.colY = tabA.colZ var50 = synonym for the column name from the mapping table :$ = the identifier of the row returned by the main query

  30. Third set of Exercises • Write the cdi.properties files for ACCESS or MY SQL or EXCEL files In the exercises only the stations of the Cruise « CITHER2 LEG 1 » will selected to have a smaller number of stations • Exercise 7 : Look at the main query. Questions? • Exercise 8 : Fulfil the missing information in query.single.1. Query on MIKADO_DATASET table • Exercise 9 : Fulfil the missing information in query.single.2. Query on MIKADO_STATION table • Exercise 10 : Write the query.single.4 to find the datum coordinate system • Exercise 11 : Have a look at the final property file, questions?

  31. ISO date format • Date format must have the following syntax • YYYY-MM-DD • YYYY-MM-DDTHH24:MI • YYYY-MM-DDTHH24:MI:SS

  32. STATION METADATA (CTDs, Bottles, Current meters, …) USER LOCAL DATABASE EXCEL FILES ORACLE MSSERVER MYSQL … MAPPING TOOLS Mikado Others CDI implementation progress ISO-19115 XML SCHEMA defined for the CDI by SDN – TTT MAPPING Common vocabularies Configuration Files

  33. Generate the XML files MIKADO CONFIGURATION MAP YOUR DATABASE to THE CDI FIELDS XML files generation - Third STEP

  34. XML CDI files generation • Use the Mikado software to create the XML CDI files • Make sure that you have the right « properties »files in the \mikado\conf directory files before running the software • Change the connection to the database in the CDI.properties file, with the path to your local database • Run Mikado • Import the common vocabularies lists for CDI using Mikado : Menu configuration, library, CDI • Create and output directory for your XML files

  35. Check the XML files Generate the XML files MIKADO CONFIGURATION MAP YOUR DATABASE to THE CDI FIELDS XML files check - Fourth STEP

  36. STATION METADATA (CTDs, Bottles, Current meters, …) USER LOCAL DATABASE EXCEL FILES ORACLE MSSERVER MYSQL … Compliant to MAPPING TOOLS Mikado Others XML CDI files CDI implementation progress ISO-19115 XML SCHEMA defined for the CDI by SDN – TTT MAPPING Common vocabularies Configuration Files

  37. Send the XML files to central CDI Check the XML files Generate the XML files MIKADO CONFIGURATION MAP YOUR DATABASE to THE CDI FIELDS Send XML files - Fifth STEP

  38. Fourth set of Exercises • Generate the XML CDI files and check them • Exercise 12 : Generate the XML files with Mikado • Exercise 13 : Check the XML files

More Related