DBXTalk: Smalltalk Relational Database Suite

25
1 Ing. mariano martinez peck [email protected] http://marianopeck.wordpress.com / Friday, August 26, 2011

description

Talk presented in ESUG 2011, Edinburgh, Scotland.

Transcript of DBXTalk: Smalltalk Relational Database Suite

Page 1: DBXTalk: Smalltalk Relational Database Suite

1

I n g . m a r i a n o m a r t i n e z p e c km a r i a n o p e c k @ g m a i l . c o m

h t t p : / / m a r i a n o p e c k . w o r d p r e s s . c o m /

Friday, August 26, 2011

Page 2: DBXTalk: Smalltalk Relational Database Suite

THANKS a lot!!!

2

SummerTalk 2011

Students: Guillermo Polito, Santiago Bragagnolo and Gisela Decuzzi.Mentors: Mariano Martínez Peck, Esteban Lorenzano and Diogenes Moreira.

Friday, August 26, 2011

Page 3: DBXTalk: Smalltalk Relational Database Suite

DBXTalk is...

3

The complete and open-source solution to relational database access.

Friday, August 26, 2011

Page 4: DBXTalk: Smalltalk Relational Database Suite

DBXTalk suite

4

OpenDBXDriver

GlorpDBXGlorp port

DBXToolsDBXBrowser

Friday, August 26, 2011

Page 5: DBXTalk: Smalltalk Relational Database Suite

OpenDBXDriver

Formerly known as SqueakDBX.

It is the database driver.

It wraps the C library OpenDBX.

5

Friday, August 26, 2011

Page 6: DBXTalk: Smalltalk Relational Database Suite

6

...

...Friday, August 26, 2011

Page 7: DBXTalk: Smalltalk Relational Database Suite

6

Oracleclient

library

MySQLclient

library

PostgreSQLclient

library

MSSQLclient

library

...

...

...Friday, August 26, 2011

Page 8: DBXTalk: Smalltalk Relational Database Suite

6

Oracleclient

library

MySQLclient

library

PostgreSQLclient

library

MSSQLclient

library

...

...

...

Oracle uses oci.h and libclntshIt has N functions.

Examples: OCIHandleAlloc(), OCIServerAttach(), OCISessionEnd(), etc.

Friday, August 26, 2011

Page 9: DBXTalk: Smalltalk Relational Database Suite

6

Oracleclient

library

MySQLclient

library

PostgreSQLclient

library

MSSQLclient

library

...

...

...

MySQL uses mysql.h and libmysqlclient_rIt has M functions.

Examples: mysql_real_connect(), mysql_server_end(),mysql_real_query(), etc.

Friday, August 26, 2011

Page 10: DBXTalk: Smalltalk Relational Database Suite

6

Oracleclient

library

MySQLclient

library

PostgreSQLclient

library

MSSQLclient

library

...

...

...

≠ ≠ ≠ ≠

Friday, August 26, 2011

Page 11: DBXTalk: Smalltalk Relational Database Suite

6

Oracleclient

library

MySQLclient

library

PostgreSQLclient

library

MSSQLclient

library

...

...

...

≠ ≠ ≠ ≠

Common API for all backends!

Friday, August 26, 2011

Page 12: DBXTalk: Smalltalk Relational Database Suite

Layers

7

OpenDBXDriver ...

odbx_initodbx_bindodbx_query

odbx_result

odbx_raw_fetch

FFI

CSmalltalk

Friday, August 26, 2011

Page 13: DBXTalk: Smalltalk Relational Database Suite

Layers

7

OpenDBXDriver ...

odbx_initodbx_bindodbx_query

odbx_result

odbx_raw_fetch

FFI

CSmalltalk

Friday, August 26, 2011

Page 14: DBXTalk: Smalltalk Relational Database Suite

Layers

7

OpenDBXDriver ...

odbx_initodbx_bindodbx_query

odbx_result

odbx_raw_fetch

FFI

CSmalltalk

Friday, August 26, 2011

Page 15: DBXTalk: Smalltalk Relational Database Suite

Layers

7

OpenDBXDriver ...

odbx_initodbx_bindodbx_query

odbx_result

odbx_raw_fetch

FFI

CSmalltalk

Friday, August 26, 2011

Page 16: DBXTalk: Smalltalk Relational Database Suite

Glorp port

Port latest Glorp from VisualWorks to Pharo.

Try to automatize that task as much as possible.

Document the process.

8

Friday, August 26, 2011

Page 17: DBXTalk: Smalltalk Relational Database Suite

GlorpDBX

The “glue” (Glorp database driver) between Glorp and OpenDBXDriver.

9

Friday, August 26, 2011

Page 18: DBXTalk: Smalltalk Relational Database Suite

DBXTools

10

Scaffolding - Glorp -

From tables -> automagic generation of classes, Glorp mappings and Magritte descriptions.

Friday, August 26, 2011

Page 19: DBXTalk: Smalltalk Relational Database Suite

DBXBrowser

UI for scaffolding.

Query database.

Visualize database metadata.

11

Friday, August 26, 2011

Page 20: DBXTalk: Smalltalk Relational Database Suite

DBXBrowser

12

Friday, August 26, 2011

Page 21: DBXTalk: Smalltalk Relational Database Suite

13

New DBXTalk chapter!!!

Friday, August 26, 2011

Page 22: DBXTalk: Smalltalk Relational Database Suite

Current state OpenDBXDriver version 1.0 released.

OpenDBXDriver is working with most databases and in most OS.

Glorp '7.7.1 - 19’ (distributed with VW 7.7.1) ported to Pharo.

GlorpDBX is working with MySQL, Oracle, PostgreSQL and SQLite3. Release: SOON.

DBXTools and DBXBrowser still in development.

14

Friday, August 26, 2011

Page 23: DBXTalk: Smalltalk Relational Database Suite

Future work

Continue developing DBXBrowser (port to Glamour) and DBXTools.

Add more backends to GlorpDBX.

New website, documentation, continue PBE chapter, etc.

Port OpenDBXDriver to GLASS?

Glorp ActiveRecord port?

15

Friday, August 26, 2011

Page 24: DBXTalk: Smalltalk Relational Database Suite

16

Showtime!Friday, August 26, 2011

Page 25: DBXTalk: Smalltalk Relational Database Suite

Thanks!

Mariano Martinez [email protected]

http://marianopeck.wordpress.com/

Friday, August 26, 2011