Frank Hilhorst President Progressive Consulting Inc. Open Source Data Sharing.

Slides:



Advertisements
Similar presentations
Copyright © 2003 Pearson Education, Inc. Slide 8-1 The Web Wizards Guide to PHP by David Lash.
Advertisements

Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
VTYS 2012 Mehmet Emin KORKUSUZ Ders  Create  Alter  Drop Data Defination Language.
Database Chapters.
MySQL. To start go to Login details: login: labuser password:macimd15 – There.
Murach’s Java SE 6, C21© 2007, Mike Murach & Associates, Inc.Slide 1.
Pertemuan ke 2 Tipe data & ERD Kurniawan Eka Permana.
Day 3 - Basics of MySQL What is MySQL What is MySQL How to make basic tables How to make basic tables Simple MySQL commands. Simple MySQL commands.
MySQL-Database Teppo Räisänen Oulu University of Applied Sciences School of Business and Information Management.
Fundamentals, Design, and Implementation, 9/e Chapter 14 JDBC, Java Server Pages, and MySQL.
MC365 JDBC in Servlets. Today We Will Cover: DBVisualizer Using JDBC in servlets Using properties files.
Creating Database Tables CS 320. Review: Levels of data models 1. Conceptual: describes WHAT data the system contains 2. Logical: describes HOW the database.
1 Foundations of Software Design Lecture 27: Java Database Programming Marti Hearst Fall 2002.
Simple Web SQLite Manager/Form/Report
Web Application Development Muhammad Ali Versonic Pte Asher Imtiaz Forman Christian College.
Advance Computer Programming Java Database Connectivity (JDBC) – In order to connect a Java application to a database, you need to use a JDBC driver. –
Copyright © Curt Hill SQL The Data Definition Language.
CSCI 6962: Server-side Design and Programming
A Guide to SQL, Eighth Edition Chapter Three Creating Tables.
Session 5: Working with MySQL iNET Academy Open Source Web Development.
1 Chapter 8 – Working with Databases spring into PHP 5 by Steven Holzner Slides were developed by Jack Davis College of Information Science and Technology.
CSCI 6962: Server-side Design and Programming JDBC Database Programming.
Concepts of Database Management Seventh Edition
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
Movie Manager by Patrick Wesley and Chris Grey Internet Database Project for CS 8630 – Summer 2004 Dr. Guimaraes.
SITools Enhanced Use of Laboratory Services and Data Romain Conseil
Hive : A Petabyte Scale Data Warehouse Using Hadoop
Eurotrace Hands-On The Eurotrace File System. 2 The Eurotrace file system Under MS ACCESS EUROTRACE generates several different files when you create.
CS 3630 Database Design and Implementation. Your Oracle Account UserName is the same as your UWP username Followed Not case sensitive Initial.
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 38 Advanced Java Database.
CHAPTER:14 Simple Queries in SQL Prepared By Prepared By : VINAY ALEXANDER ( विनय अलेक्सजेंड़र ) PGT(CS),KV JHAGRAKHAND.
Designing and Developing WS B. Ramamurthy. Plans We will examine the resources available for development of JAX-WS based web services. We need an IDE,
Chapter 4 Introduction to MySQL. MySQL “the world’s most popular open-source database application” “commonly used with PHP”
CSC 2720 Building Web Applications Database and SQL.
SQL Data Definition Language (DDL) Using Microsoft SQL Server 1SDL Data Definition Language (DDL)
11 3 / 12 CHAPTER Databases MIS105 Lec15 Irfan Ahmed Ilyas.
1 JDBC Aum Amriteshwaryai Namah. 2 2 JDBC – Java DataBase Connectivity.
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 33 Advanced Java.
Advanced Web 2012 Lecture 3 Sean Costain What is a Database? Sean Costain 2012 A database is a structured way of dealing with structured information.
IBM Office Connect 3.0 James Edmiston Consultant Quest Information Systems, Inc Mike Terrell IT Specialist IBM Data.
1 Introduction to Web Applications & APIs. 2 Agenda  Architecture of Web Applications Three layer architecture  Web Server (Tomcat) Installation Data.
Li Tak Sing COMPS311F. Database programming JDBC (Java Database Connectivity) Java version of ODBC (Open Database Connectivity) ODBC provides a standard.
COMP 321 Week 4. Overview Normalization Entity-Relationship Diagrams SQL JDBC/JDBC Drivers hsqldb Lab 4-1 Introduction.
GLOBEX INFOTEK Copyright © 2013 Dr. Emelda Ntinglet-DavisSYSTEMS ANALYSIS AND DESIGN METHODSINTRODUCTORY SESSION EFFECTIVE DATABASE DESIGN for BEGINNERS.
Creating a simple database This shows you how to set up a database using PHPMyAdmin (installed with WAMP)
Sql DDL queries CS 260 Database Systems.
JSP Server Integrated with Oracle8i Project2, CMSC691X Summer02 Ching-li Peng Ying Zhang.
©Silberschatz, Korth and Sudarshan1 Structured Query Language (SQL) Data Definition Language Domains Integrity Constraints.
Class 3Intro to Databases Class 4 Simple Example of a Database We’re going to build a simple example of a database, which will allow us to register users.
Introduction to MySQL Ullman Chapter 4. Introduction MySQL most popular open-source database application Is commonly used with PHP We will learn basics.
In the Name Of Almighty Allah. Java Application Connection To Mysql Created by Hasibullah (Sahibzada) Kabul Computer Science Faculty Afghanistan.
Lab 3.21 MySQL Database Lab Developing the Tools May 5 th, 2004 Montréal, Québec Dominik Gehl Hôpital Ste-Justine, Montréal.
Settings MySQL Database and JDBC configuration Instructor: Sergey Goldman.
JDBC. Database is used to store data permanently. These days almost all Applications needs database to store its data persistently. Below are the most.
9 Copyright © 2004, Oracle. All rights reserved. Getting Started with Oracle Migration Workbench.
Introduction to Database Programming with Python Gary Stewart
Get your Oracle data into SQL Server faster!
Aga Private computer Institute Prepared by: Srwa Mohammad
CS 3630 Database Design and Implementation
CS320 Web and Internet Programming SQL and MySQL
JDBC Database Management Database connectivity
MySQL-Database Jouni Juntunen Oulu University of Applied Sciences
Module 2: Creating Data Types and Tables
Lecture 6 Data Model Design (continued)
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
CS3220 Web and Internet Programming SQL and MySQL
MySQL Database System Installation Overview SQL summary
CS3220 Web and Internet Programming SQL and MySQL
Database Instructor: Bei Kang.
JDBC II IS
Presentation transcript:

Frank Hilhorst President Progressive Consulting Inc. Open Source Data Sharing

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

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

Published tools TurboCgi TurboComet TurboStomp TurboQuery Download beta release from

Dictionary meaning of data sharing The ability to share the same data resource with multiple applications or users

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

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

Introduction to open source databases and JDBC

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

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

OpenEdge support for JDBC Jars provided openedge.jar pool.jar sqlexp (SQL explorer) sqldump sqlload sqlschema

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

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

Project to create a data server for open source database

Altisource Application environment Progress DB RabbitMq Legacy Application Transfor- mation Engine MySql DB Next Generation Modules

Demo

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

Architecture of data server

MySql DB Tomcat Web Service ABL/OO Layer Progress Client SQL Statement SQL Statement JSONDataset SQL ResultSe t

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

What the code looks like

How to update the foreign database Populate the dataset Turn on tracking changes Make changes Commit the changes

What the code looks like

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

Comparing Progress with open source databases

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

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

How to install and use the JDBC data server toolkit

How to install TurboQuery beta version Download TurboQuery.zip from this Url Unzip file to c:\ Should get the following directory structure

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

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

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

Questions?