Presentation is loading. Please wait.

Presentation is loading. Please wait.

DB-1: Understanding and Leveraging the Latest ODBC and JDBC Technology What’s new in OpenEdge® 10.1A? Rob Steward Director of Software Development.

Similar presentations


Presentation on theme: "DB-1: Understanding and Leveraging the Latest ODBC and JDBC Technology What’s new in OpenEdge® 10.1A? Rob Steward Director of Software Development."— Presentation transcript:

1 DB-1: Understanding and Leveraging the Latest ODBC and JDBC Technology What’s new in OpenEdge® 10.1A? Rob Steward Director of Software Development

2 © 2006 Progress Software Corporation2 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology Agenda  ODBC architecture changes  ODBC Unicode functionality  JDBC architecture changes  JDBC JTA support What’s New in 10.1A?

3 © 2006 Progress Software Corporation3 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology Agenda  ODBC architecture changes  ODBC Unicode functionality  JDBC architecture changes  JDBC JTA support What’s New in 10.1A?

4 © 2006 Progress Software Corporation4 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology ODBC “Classic” Architecture Application Code Driver Manager ODBC Driver A ODBC Driver B ODBC Driver C Network Lib Network Lib Network Lib ABC Data Protocol Wire Protocol

5 © 2006 Progress Software Corporation5 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology ODBC Wire Protocol Architecture Application Code Driver Manager ODBC Driver A ODBC Driver B ODBC Driver C ABC Data Protocol Wire Protocol OpenEdge Wire Protocol Driver Higher Performance No Dependencies Thin client install

6 © 2006 Progress Software Corporation6 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology OpenEdge Wire Protocol Advantages  Ease of Deployment  Versioning 10.1A will be forward compatible with future versions of the database  Better performance

7 © 2006 Progress Software Corporation7 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology How Database Middleware Works DBMS SERVER Packets sent from driver 2 Packets sent back from DBMS Server 3 DRIVER API CALL DATABASE NETWORK select * from employees where location = ‘boston’ Application makes a call 1

8 © 2006 Progress Software Corporation8 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology Why better performance? NETWORK SIMULTANEOUS Application makes a call Packets sent from driver Packets sent back from DBMS Server 1 2 3 3 BUFFER Private BUFFER Only one network read to process all packets. This occurs simultaneously as the DBMS server sends more packets DRIVER API CALL DBMS SERVER DATABASE different sized packets

9 © 2006 Progress Software Corporation9 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology ODBC Wire Protocol Availability  New driver available in 10.1A! Compatible with 10.1A servers  Platforms Windows 98/Me/NT/2000/XP/2003 AIX Solaris HP-UX

10 © 2006 Progress Software Corporation10 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology Agenda  ODBC architecture changes  ODBC Unicode functionality  JDBC architecture changes  JDBC JTA support What’s New in 10.1A?

11 © 2006 Progress Software Corporation11 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology What is Unicode?  One character set standard to rule them all  A single encoding standard to represent “all” written characters-glyphs  Unicode 4.0 contains over 96,000 characters  Three Common Flavors UCS-2 (strictly 2 bytes) UTF-8 (1 to 4 bytes; preserves ASCII; favored by Unix) UTF-16 (UCS-2 + surrogates)

12 © 2006 Progress Software Corporation12 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology Why Unicode?  Internationalizes your code  Performance – can avoid costly character set translations

13 © 2006 Progress Software Corporation13 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology Unicode Support in the ODBC Standard  Unicode support added in version 3.5  Spec assumes UCS-2  Separate API calls for Unicode strings (“W” functions)  Separate data types for Unicode strings (SQL_C_WCHAR)  ODBC Driver Manager masks driver and application differences

14 © 2006 Progress Software Corporation14 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology What does Unicode Support Encompass at the ODBC API level?  Arguments to API functions/methods  String parameters  String results

15 © 2006 Progress Software Corporation15 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology How does Unicode work in ODBC?  Unicode App vs. non-Unicode app. “W” functions  Unicode Driver vs. non-Unicode driver. SQLConnectW exported?

16 © 2006 Progress Software Corporation16 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology How does Unicode work in ODBC? (cont.)  DM tries to make all possible combinations work. ANSI App w/ ANSI driver Unicode App w/ Unicode driver ANSI App w/ Unicode driver Unicode App w/ ANSI driver (obvious limitations) Unix Only: UTF8 app w/ UTF-16 driver. Unix Only: UTF-16 app w/ UTF8 driver.

17 © 2006 Progress Software Corporation17 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology Why are Character Set Conversions Bad?  Degrades performance.  Frequently data is lost (Substituted), or corrupted during conversions.  For example, here ’ s how the Euro character, “€”, is represented in various character sets: ISO8859-1: N/A Cp1252: 0x80 UCS-2/UTF-16: 0x20AC UTF-8 :0xE2A2AC

18 © 2006 Progress Software Corporation18 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology When are Conversions Necessary and Why?  Conversions by DM Non-Unicode apps Non-Unicode drivers  Conversions by Unicode Driver Between Unicode and DB codepage for SQL when DB ’ s codepage is not Unicode Conversions for parameters and result columns as necessary based on C type and SQL type

19 © 2006 Progress Software Corporation19 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology Agenda  ODBC architecture changes  ODBC Unicode functionality  JDBC architecture changes  JDBC JTA support What’s New in 10.1A?

20 © 2006 Progress Software Corporation20 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology Architecture differences in JDBC drivers The JDBC specification formally defines 4 different types of drivers Type 1: JDBC-ODBC bridge Type 2: partial Java™ driver Type 3: pure Java driver for database middleware Type 4: pure Java driver for direct-to- database

21 © 2006 Progress Software Corporation21 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology JDBC Architecture – Type 1 Authored by DataDirect Free with JDK JDBC 2.0 API For Prototyping ODBC Driver Manager ODBC Driver A ODBC Driver B ODBC Driver C ABC JDBC/ODBC Bridge Application Code

22 © 2006 Progress Software Corporation22 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology JDBC Architecture – Type 2 Application Code JDBC Driver A JDBC Driver B JDBC Driver C Network Lib Network Lib Network Lib ABC Platform Dependent

23 © 2006 Progress Software Corporation23 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology JDBC Architecture – Type 4 Application Code JDBC Driver A JDBC Driver B JDBC Driver C ABC OpenEdge 10.1A Type 4 Driver No Client Dependencies More Platforms Better Performance

24 © 2006 Progress Software Corporation24 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology JDBC Architecture  OpenEdge 10.1A Driver Type 4 JDBC 3.0 API CTS Certified Java Application Code JDBC Driver A JDBC Driver B JDBC Driver C ABC

25 © 2006 Progress Software Corporation25 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology OpenEdge Type 4 JDBC Advantages  Ease of Deployment  Versioning No dependence on native code  No platform dependence Any J2SE 1.4 or higher  Better performance

26 © 2006 Progress Software Corporation26 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology Agenda  ODBC architecture changes  ODBC Unicode functionality  JDBC architecture changes  JDBC JTA support What’s New in 10.1A?

27 © 2006 Progress Software Corporation27 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology What is JTA?  JTA is the Java Transaction API  JTA specifies standard Java interfaces between a transaction manager and the parties involved in a distributed transaction system: the resource manager, the application server, and the transactional applications.  JTA is based on the XA specification

28 © 2006 Progress Software Corporation28 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology Why is JTA important?  All common application servers support XA transactions through JTA and they will use them if necessary and available  If you need to enlist OpenEdge connections in a distributed transaction with some other data source

29 © 2006 Progress Software Corporation29 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology How Does JTA work? 1 UserTransaction javax.transaction.UserTransaction Provides the application the ability to control transaction boundaries. It starts a global transaction and associates the transaction with the calling thread. 2 TransactionManager javax.transaction.TransactionManager Allows the application server to control transaction boundaries on behalf of the application being managed. 3 XAResource javax.transaction.xa.XAResource A Java mapping of the industry standard XA interface.

30 © 2006 Progress Software Corporation30 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology A Distributed Transaction with JTA... xaDS = getDataSource(); xaCon = xaDS.getXAConnection("jdbc_user", "jdbc_password"); xaRes = xaCon.getXAResource(); con = xaCon.getConnection(); stmt = con.createStatement(); xid = new MyXid(100, new byte[]{0x01}, new byte[]{0x02});

31 © 2006 Progress Software Corporation31 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology A Distributed Transaction with JTA xaRes.start(xid, XAResource.TMNOFLAGS); stmt.executeUpdate("insert into test_table values (100)"); xaRes.end(xid, XAResource.TMSUCCESS); ret = xaRes.prepare(xid); if (ret == XAResource.XA_OK) { xaRes.commit(xid, false); }...

32 © 2006 Progress Software Corporation32 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology Questions?

33 © 2006 Progress Software Corporation33 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology Thank you for your time

34 © 2006 Progress Software Corporation34 DB-1: Understanding & Leveraging Latest ODBC and JDBC Technology


Download ppt "DB-1: Understanding and Leveraging the Latest ODBC and JDBC Technology What’s new in OpenEdge® 10.1A? Rob Steward Director of Software Development."

Similar presentations


Ads by Google