SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
I n g .                m a r i a n o               m a rt i n e z                 p e c k
                                      m 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 /




                                                           1

Friday, August 26, 2011
THANKS a lot!!!



                           SummerTalk 2011
  Students: Guillermo Polito, Santiago Bragagnolo and Gisela
  Decuzzi.
  Mentors: Mariano Martínez Peck, Esteban Lorenzano and
  Diogenes Moreira.
                                  2
Friday, August 26, 2011
DBXTalk is...


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



                                3
Friday, August 26, 2011
DBXTalk suite

                          Glorp port                   GlorpDBX



                                       OpenDBXDriver



                          DBXBrowser                   DBXTools

                                             4
Friday, August 26, 2011
OpenDBXDriver


                          Formerly known as SqueakDBX.

                          It is the database driver.

                          It wraps the C library OpenDBX.




                                                5
Friday, August 26, 2011
...

                              ...
                          6
Friday, August 26, 2011
Oracle
            client
                          MySQL
                           client
                          library
                                    PostgreSQL
                                      client
                                     library
                                                 ...   MSSQL
                                                        client
           library                                     library


                                                 ...

                                                 ...
                                        6
Friday, August 26, 2011
Oracle uses oci.h and libclntsh
                                        It has N functions.
                          Examples: OCIHandleAlloc(), OCIServerAttach(),
                                      OCISessionEnd(), etc.


           Oracle
            client
                                MySQL
                                 client
                                library
                                            PostgreSQL
                                              client
                                             library
                                                           ...        MSSQL
                                                                       client
           library                                                    library


                                                           ...

                                                           ...
                                                6
Friday, August 26, 2011
MySQL uses mysql.h and libmysqlclient_r
                                          It has M functions.
                          Examples: mysql_real_connect(), mysql_server_end(),
                                       mysql_real_query(), etc.


           Oracle
            client
                                 MySQL
                                  client
                                 library
                                              PostgreSQL
                                                 client
                                                library
                                                              ...         MSSQL
                                                                           client
           library                                                        library


                                                              ...

                                                              ...
                                                   6
Friday, August 26, 2011
Oracle
            client        ≠
                              MySQL
                               client
                              library
                                        ≠
                                            PostgreSQL
                                              client
                                             library
                                                         ≠ ... ≠   MSSQL
                                                                    client
           library                                                 library


                                                           ...

                                                           ...
                                                6
Friday, August 26, 2011
Common API for all backends!


           Oracle
            client        ≠
                              MySQL
                               client
                              library
                                        ≠
                                            PostgreSQL
                                              client
                                             library
                                                         ≠ ... ≠   MSSQL
                                                                    client
           library                                                 library


                                                           ...

                                                           ...
                                                6
Friday, August 26, 2011
Layers


                                               odbx
                                                     _init
                                           odbx_b
                                                     ind
                                     F
                             OpenDBX      odbx_query
                              Driver
                                     F     ... esult
                                                   r
                                     I      o dbx_         etch
                                                         f
                                                  r aw_
                                           od  bx_




                          Smalltalk                    C
                                      7
Friday, August 26, 2011
Layers


                                               odbx
                                                     _init
                                           odbx_b
                                                     ind
                                     F
                             OpenDBX      odbx_query
                              Driver
                                     F     ... esult
                                                   r
                                     I      o dbx_         etch
                                                         f
                                                  r aw_
                                           od  bx_




                          Smalltalk                    C
                                      7
Friday, August 26, 2011
Layers


                                               odbx
                                                     _init
                                           odbx_b
                                                     ind
                                     F
                             OpenDBX      odbx_query
                              Driver
                                     F     ... esult
                                                   r
                                     I      o dbx_         etch
                                                         f
                                                  r aw_
                                           od  bx_




                          Smalltalk                    C
                                      7
Friday, August 26, 2011
Layers


                                               odbx
                                                     _init
                                           odbx_b
                                                     ind
                                     F
                             OpenDBX      odbx_query
                              Driver
                                     F     ... esult
                                                   r
                                     I      o dbx_         etch
                                                         f
                                                  r aw_
                                           od  bx_




                          Smalltalk                    C
                                      7
Friday, August 26, 2011
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
GlorpDBX



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




                                             9
Friday, August 26, 2011
DBXTools



          Scaffolding - Glorp -

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

                                  10
Friday, August 26, 2011
DBXBrowser


                          UI for scaffolding.

                          Query database.

                          Visualize database metadata.




                                                11
Friday, August 26, 2011
DBXBrowser




                              12
Friday, August 26, 2011
New DBXTalk chapter!!!

                                    13
Friday, August 26, 2011
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
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
Showtime!
                              16
Friday, August 26, 2011
Thanks!


                                Mariano Martinez Peck
                                marianopeck@gmail.com
                          http://marianopeck.wordpress.com/




Friday, August 26, 2011

Contenu connexe

Similaire à DBXTalk

MLlib: Spark's Machine Learning Library
MLlib: Spark's Machine Learning LibraryMLlib: Spark's Machine Learning Library
MLlib: Spark's Machine Learning Libraryjeykottalam
 
NoSQL in MySQL
NoSQL in MySQLNoSQL in MySQL
NoSQL in MySQLUlf Wendel
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdfHiroshi Ono
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdfHiroshi Ono
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdfHiroshi Ono
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdfHiroshi Ono
 
Elastic stack Presentation
Elastic stack PresentationElastic stack Presentation
Elastic stack PresentationAmr Alaa Yassen
 
Big Data LDN 2018: STREAMING DATA MICROSERVICES WITH AKKA STREAMS, KAFKA STRE...
Big Data LDN 2018: STREAMING DATA MICROSERVICES WITH AKKA STREAMS, KAFKA STRE...Big Data LDN 2018: STREAMING DATA MICROSERVICES WITH AKKA STREAMS, KAFKA STRE...
Big Data LDN 2018: STREAMING DATA MICROSERVICES WITH AKKA STREAMS, KAFKA STRE...Matt Stubbs
 
Let the alpakka pull your stream
Let the alpakka pull your streamLet the alpakka pull your stream
Let the alpakka pull your streamEnno Runne
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationUlf Wendel
 
HTTP Plugin for MySQL!
HTTP Plugin for MySQL!HTTP Plugin for MySQL!
HTTP Plugin for MySQL!Ulf Wendel
 
What's new in my sql smug
What's new in my sql smugWhat's new in my sql smug
What's new in my sql smugTed Wennmark
 
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More FlexibilityNOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More FlexibilityIvan Zoratti
 
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScriptJavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScriptDave Stokes
 
Comparison of dbms
Comparison of dbmsComparison of dbms
Comparison of dbmsTech_MX
 
MySQL native driver for PHP (mysqlnd) - Introduction and overview, Edition 2011
MySQL native driver for PHP (mysqlnd) - Introduction and overview, Edition 2011MySQL native driver for PHP (mysqlnd) - Introduction and overview, Edition 2011
MySQL native driver for PHP (mysqlnd) - Introduction and overview, Edition 2011Ulf Wendel
 
Knolx Session: Introducing Extractors in Scala
Knolx Session: Introducing Extractors in ScalaKnolx Session: Introducing Extractors in Scala
Knolx Session: Introducing Extractors in ScalaAyush Mishra
 
Optimized XT Reader Functionality in Rational System Architect
Optimized XT Reader Functionality in Rational System ArchitectOptimized XT Reader Functionality in Rational System Architect
Optimized XT Reader Functionality in Rational System ArchitectBill Duncan
 
Log analysis with the elk stack
Log analysis with the elk stackLog analysis with the elk stack
Log analysis with the elk stackVikrant Chauhan
 

Similaire à DBXTalk (20)

MLlib: Spark's Machine Learning Library
MLlib: Spark's Machine Learning LibraryMLlib: Spark's Machine Learning Library
MLlib: Spark's Machine Learning Library
 
NoSQL in MySQL
NoSQL in MySQLNoSQL in MySQL
NoSQL in MySQL
 
Arrays in database systems, the next frontier?
Arrays in database systems, the next frontier?Arrays in database systems, the next frontier?
Arrays in database systems, the next frontier?
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdf
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdf
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdf
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdf
 
Elastic stack Presentation
Elastic stack PresentationElastic stack Presentation
Elastic stack Presentation
 
Big Data LDN 2018: STREAMING DATA MICROSERVICES WITH AKKA STREAMS, KAFKA STRE...
Big Data LDN 2018: STREAMING DATA MICROSERVICES WITH AKKA STREAMS, KAFKA STRE...Big Data LDN 2018: STREAMING DATA MICROSERVICES WITH AKKA STREAMS, KAFKA STRE...
Big Data LDN 2018: STREAMING DATA MICROSERVICES WITH AKKA STREAMS, KAFKA STRE...
 
Let the alpakka pull your stream
Let the alpakka pull your streamLet the alpakka pull your stream
Let the alpakka pull your stream
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
HTTP Plugin for MySQL!
HTTP Plugin for MySQL!HTTP Plugin for MySQL!
HTTP Plugin for MySQL!
 
What's new in my sql smug
What's new in my sql smugWhat's new in my sql smug
What's new in my sql smug
 
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More FlexibilityNOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
 
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScriptJavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
 
Comparison of dbms
Comparison of dbmsComparison of dbms
Comparison of dbms
 
MySQL native driver for PHP (mysqlnd) - Introduction and overview, Edition 2011
MySQL native driver for PHP (mysqlnd) - Introduction and overview, Edition 2011MySQL native driver for PHP (mysqlnd) - Introduction and overview, Edition 2011
MySQL native driver for PHP (mysqlnd) - Introduction and overview, Edition 2011
 
Knolx Session: Introducing Extractors in Scala
Knolx Session: Introducing Extractors in ScalaKnolx Session: Introducing Extractors in Scala
Knolx Session: Introducing Extractors in Scala
 
Optimized XT Reader Functionality in Rational System Architect
Optimized XT Reader Functionality in Rational System ArchitectOptimized XT Reader Functionality in Rational System Architect
Optimized XT Reader Functionality in Rational System Architect
 
Log analysis with the elk stack
Log analysis with the elk stackLog analysis with the elk stack
Log analysis with the elk stack
 

Plus de ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 

Plus de ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Dernier

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Dernier (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

DBXTalk

  • 1. I n g . m a r i a n o m a rt i n e z p e c k m 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 / 1 Friday, August 26, 2011
  • 2. THANKS a lot!!! SummerTalk 2011 Students: Guillermo Polito, Santiago Bragagnolo and Gisela Decuzzi. Mentors: Mariano Martínez Peck, Esteban Lorenzano and Diogenes Moreira. 2 Friday, August 26, 2011
  • 3. DBXTalk is... The complete and open-source solution to relational database access. 3 Friday, August 26, 2011
  • 4. DBXTalk suite Glorp port GlorpDBX OpenDBXDriver DBXBrowser DBXTools 4 Friday, August 26, 2011
  • 5. OpenDBXDriver Formerly known as SqueakDBX. It is the database driver. It wraps the C library OpenDBX. 5 Friday, August 26, 2011
  • 6. ... ... 6 Friday, August 26, 2011
  • 7. Oracle client MySQL client library PostgreSQL client library ... MSSQL client library library ... ... 6 Friday, August 26, 2011
  • 8. Oracle uses oci.h and libclntsh It has N functions. Examples: OCIHandleAlloc(), OCIServerAttach(), OCISessionEnd(), etc. Oracle client MySQL client library PostgreSQL client library ... MSSQL client library library ... ... 6 Friday, August 26, 2011
  • 9. MySQL uses mysql.h and libmysqlclient_r It has M functions. Examples: mysql_real_connect(), mysql_server_end(), mysql_real_query(), etc. Oracle client MySQL client library PostgreSQL client library ... MSSQL client library library ... ... 6 Friday, August 26, 2011
  • 10. Oracle client ≠ MySQL client library ≠ PostgreSQL client library ≠ ... ≠ MSSQL client library library ... ... 6 Friday, August 26, 2011
  • 11. Common API for all backends! Oracle client ≠ MySQL client library ≠ PostgreSQL client library ≠ ... ≠ MSSQL client library library ... ... 6 Friday, August 26, 2011
  • 12. Layers odbx _init odbx_b ind F OpenDBX odbx_query Driver F ... esult r I o dbx_ etch f r aw_ od bx_ Smalltalk C 7 Friday, August 26, 2011
  • 13. Layers odbx _init odbx_b ind F OpenDBX odbx_query Driver F ... esult r I o dbx_ etch f r aw_ od bx_ Smalltalk C 7 Friday, August 26, 2011
  • 14. Layers odbx _init odbx_b ind F OpenDBX odbx_query Driver F ... esult r I o dbx_ etch f r aw_ od bx_ Smalltalk C 7 Friday, August 26, 2011
  • 15. Layers odbx _init odbx_b ind F OpenDBX odbx_query Driver F ... esult r I o dbx_ etch f r aw_ od bx_ Smalltalk C 7 Friday, August 26, 2011
  • 16. 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
  • 17. GlorpDBX The “glue” (Glorp database driver) between Glorp and OpenDBXDriver. 9 Friday, August 26, 2011
  • 18. DBXTools Scaffolding - Glorp - From tables -> automagic generation of classes, Glorp mappings and Magritte descriptions. 10 Friday, August 26, 2011
  • 19. DBXBrowser UI for scaffolding. Query database. Visualize database metadata. 11 Friday, August 26, 2011
  • 20. DBXBrowser 12 Friday, August 26, 2011
  • 21. New DBXTalk chapter!!! 13 Friday, August 26, 2011
  • 22. 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
  • 23. 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
  • 24. Showtime! 16 Friday, August 26, 2011
  • 25. Thanks! Mariano Martinez Peck marianopeck@gmail.com http://marianopeck.wordpress.com/ Friday, August 26, 2011