Download presentation
Presentation is loading. Please wait.
Published byLouise Simon Modified over 9 years ago
1
Frank Hilhorst President Progressive Consulting Inc. Open Source Data Sharing
2
Introducing myself Started working with PROGRESS version 6 in 1993 Principle Software architect PLATON mortgage loan system JAZZ hospitality billing system Started Progressive Consulting Inc in 2006 Ahstanga yoga afficionado
3
Introducing Progressive Consulting Focus on integrating OpenEdge applications with other technologies UI integration Back end integration Motto Making the world as open to OpenEdge as OpenEdge is to the world
4
Published tools TurboCgi TurboComet TurboStomp TurboQuery Download beta release from http://www.progressiveconsultinginc.com/news
5
Dictionary meaning of data sharing The ability to share the same data resource with multiple applications or users
6
Sharing data between the PROGRESS environment and an Open Source environment Copy data definitions and data From PROGRESS to Open Source environment From Open Source environment to PROGRESS Access and manipulate data definitions and data From PROGRESS in Open Source DB From Open Source enviroment in Progress DB
7
Structure of this presentation Introduction to open source databases and JDBC Project to create a data server for open source database Why and how Demo data server Architecture of data server Comparing Progress with other databases How to install and use the JDBC data server toolkit
8
Introduction to open source databases and JDBC
9
Dominant open source databases DatabaseCharactaristics Sample applications MySqlConnectors supported JDBC ODBC ADO.NET Drupal Wordpress Apache DerbyConnectors supported JDBC ODBC ActiveMQ Apache service mix PostgressQLConnectors supported JDBC ODBC ADO HoneyBird ERP LedgerSMB
10
What is JDBC (Java Database connectivity)? OO Interface that supports SQL standard (create, update, insert, delete) Defines the following JAVA objects Statement PreparedStatement CallableStatement Resultset
11
OpenEdge support for JDBC Jars provided openedge.jar pool.jar sqlexp (SQL explorer) sqldump sqlload sqlschema
12
How to provide JDBC access to a PROGRESS database Create a user sysprogress Start up database with SQL server enabled Option 1: Use 1 broker Proserve -H.. -S.. -ServerType both Option 2: Use (separate) secondary login broker Proserver -H.. -S.. -m3 -ServerType SQL
13
Testing the JDBC connection with the SQL explorer sqlexp -url jdbc:datadirect:openedge://localhost:30201;databaseNa me=sports -user sysprogress -password sysprogress select name, address from PUB.customer
14
Project to create a data server for open source database
15
Altisource Application environment Progress DB RabbitMq Legacy Application Transfor- mation Engine MySql DB Next Generation Modules
16
Demo
17
What we are going to demo Using the TurboQuery Dictionary Create database in mySql Copy sports database from PROGRESS to mySql DB Add a table and fields Copy mySql database back to a PROGRESS database Show how to populate a progress dataset from the mySql database Make changes to that dataset and commit those changes to the mySql database Commit the changes
18
Architecture of data server
19
MySql DB Tomcat Web Service ABL/OO Layer Progress Client SQL Statement SQL Statement JSONDataset SQL ResultSe t
20
How to get data from the foreign database Use TurboQuery dataset generator to get dataset definitions Instantiate QueryManager class Use QueryManager:GetData to populate dataset
21
What the code looks like
22
How to update the foreign database Populate the dataset Turn on tracking changes Make changes Commit the changes
23
What the code looks like
24
Classes of the ABL/OO layer QueryManager JdbcSchemaMapperProgressSchemaMapper JdbcToProStmntGenerator ProToJdbcStmntGenerator CreateTable CreateIndex DumpTableData Format TransformFieldName TransformTableName Format TransformFieldName TransformTableName getJdbcSchemaAttrName TransformFieldName TransformTableName InsertInto DeleteFrom FormatBufferFieldValue JdbcMode GetData GetDataAndDefs CommitChanges JdbcMode jdbcSchemaMappe r
25
Comparing Progress with open source databases
26
High level comparison Progress databaseOpen Source Databases Strongly typed databaseWeakly typed database Variable record length Block based Fixed record length (mostly) Not block based Table & field name space rules Hyphen allowed Spaces not allowed 32 character maximum length Table & field name space rules Hyphen not allowed Spaces allowed Can be very long No support for foreign keys constraintsSupport for foreign keys constraints
27
Comparing data types ProgressmySqlApache Derby Characterchar varchar text tinytext char varchar long varchar Date date IntegerSmallint Smallint unsigned Mediumint Mediumint unsigned smallint time integer Int64Int Int unsigned bigint bigint unsigned bigint double real DecimaLfloat double decimal numeric decimal numeric Datetimetimestamp datetime timestamp Rawbinary varbinary varchar for bit data long varchar for bit data blobtinyblob blob mediumblob longblob blob
28
How to install and use the JDBC data server toolkit
29
How to install TurboQuery beta version Download TurboQuery.zip from this Url http://www.progressiveconsultinginc.com/news.html Unzip file to c:\ Should get the following directory structure
30
How to install TurboQuery beta version (continued) Make sure JAVA version 6 or higher is installed JAVA -version In C:\TurboQuery\ini\Progress.ini Point the DLC variable to your OpenEdge root directory
31
How to install TurboQuery beta version (continued) Using the Icons in the Shortcuts directory Start Sports DB database server Start Apache Derby server Start Jetty Servlet engine
32
What is next for TurboQuery? Batch update for data definitions Paged SQL queries Extending support for more OpenSource databases Externalization of database specific mappings SPRING/MAVEN based JDBC driver configuration
33
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.