Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE.

Slides:



Advertisements
Similar presentations
 data/data-storage.html#pref data/data-storage.html#pref 
Advertisements

NGT Information Technology Technical Discussion Bob DeHoff Info Tech, Inc.
Web Applications Development Using Coldbox Platform Eddie Johnston.
Solving Automation Reporting Problems with Dream Report Renee Sikes Applications Engineer Dream Report Brand Manager.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
ORACLE Lecture 1: Oracle 11g Introduction & Installation.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
14 1 Chapter 14 Database Connectivity and Web Development Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Blue Group (ADO) 3/10/98 Universal Data Access with ActiveX Data Objects The Blue Group *Jennifer Kochan *Rebecca Orozco *Chris Papandria *Alicja Stanczak.
Simple Web SQLite Manager/Form/Report
SQLite BY Jordan Smith Brian Wetzel Chris Hull William Anderson.
Understanding and Managing WebSphere V5
Introducing FDO Toolbox Jackie Ng. Presentation Overview What is FDO? What is FDO Toolbox? Major Features of FDO Toolbox Demos.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Mobile Voice Mate Final Presentation H.T.M. Gamage F.
Linux Operations and Administration
Getting connected.  Java application calls the JDBC library.  JDBC loads a driver which talks to the database.  We can change database engines without.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
By Mihir Joshi Nikhil Dixit Limaye Pallavi Bhide Payal Godse.
Selected Topics in Software Computing Distributed Software Development CVSQL Final Project Presentation.
SSIS Over DTS Sagayaraj Putti (139460). 5 September What is DTS?  Data Transformation Services (DTS)  DTS is a set of objects and utilities that.
Overview of SQL Server Alka Arora.
MySQL GUI Administration Tools Rob Donahue Manager, Distributed Systems Development May 7th, 2001 Rob Donahue Manager, Distributed Systems Development.
Multiple Cases Access Utilities1 Access & ODBC Managing and Using ODBC Connections P.O. Box 6142 Laguna Niguel, CA
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Introducing Axis2 Eran Chinthaka. Agenda  Introduction and Motivation  The “big picture”  Key Features of Axis2 High Performance XML Processing Model.
Global Customer Partnership Council Forum | 2008 | November 18 1IBM - GCPC MeetingIBM - GCPC Meeting IBM Lotus® Sametime® Meeting Server Deployment and.
Codeigniter is an open source web application. It occupies a very small amount of space in the memory and is most useful for developers who aim to develop.
Fundamentals of Database Chapter 7 Database Technologies.
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
Best of Both Worlds: Information Management Solutions SmartCore Management Dashboards.
MySQL. Dept. of Computing Science, University of Aberdeen2 In this lecture you will learn The main subsystems in MySQL architecture The different storage.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
CS370 Spring 2007 CS 370 Database Systems Lecture 1 Overview of Database Systems.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
The way of hybrid mobile development Hybrid Mobile Applications Telerik Software Academy
Differences Training BAAN IVc-BaanERP 5.0c: Application Administration, Customization and Exchange BaanERP 5.0c Tools / Exchange.
CORAL CORAL a software system for vendor-neutral access to relational databases Ioannis Papadopoulos, Radoval Chytracek, Dirk Düllmann, Giacomo Govi, Yulia.
RDF storages and indexes Maciej Janik September 1, 2005 Enterprise Integration – Semantic Web.
Introduction to SQL Server 2000 Reporting Services Jeff Dumas Technical Specialist Microsoft Corporation
Enterprise Database Systems Introduction to SQL Server Dr. Georgia Garani Dr. Theodoros Mitakos Technological.
Introduction to MySQL  Working with MySQL and MySQL Workbench.
CHAPTER 9 File Storage Shared Preferences SQLite.
Exploring Networked Data and Data Stores Lesson 3.
Introduction to Database Programming with Python Gary Stewart
Cross desktop Application Scripting Ideas for an implementation Desktop Developer Conference 2006, Ottawa, Canada Tuesday July 18 th 2006 Hubert Figuière.
Sebastian Kügler, FrOSCon 2006 Jarosław Staniek, aKademy 2006 Database (data) components for KDE applications developers codename: KexiDB Facts ● Your.
Database Support for OpenDocument Jarosław Staniek OpenOffice Polska LLC, KDE/KOffice/Kexi Project.
The Holmes Platform and Applications
Module 1: SQL Server Overview
A PRESENTATION ON (IN PHP,CSS,HTML)
Physics validation database
by Henrik, Kristian and Lungo
PLM, Document and Workflow Management
Open Source distributed document DB for an enterprise
Apache Cordova Overview
Introduction to Web programming
Introduction to Advance Web Technologies
Web Engineering.
Open-O Client Project Proposal
PHP / MySQL Introduction
Tutorial 8 Objectives Continue presenting methods to import data into Access, export data from Access, link applications with data stored in Access, and.
Aqua Data Studio.
System And Application Software
Oracle Architecture Overview
WEBINAR: Test Automation & Robotic Automation of Dynamics AX with Rapise October 18th, 2018 – Adam
MySQL Migration Toolkit
Database Software.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Getting Started With Solr
Presentation transcript:

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Introducing the new codename: Predicate Target: KDE 4.1 or 4.2

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Overview Problems to address Introduction to Predicate Predicate and KDE, Qt Kexi and Predicate plans

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Problems you can solve with Predicate Opening depends on document size even if you want to add one character Saving can take even longer

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Predicate – what's in the box? SQLite, MySQL and PostgreSQL support Cost of data opening and saving - independent of total size (unlike the case with big XML files)

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Database connectivity...for human beings? It should take a minute to start working with new data...

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Startup assistants to the rescue

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Unified database connection files [Connection1] caption=Tunnel to the main server encryptedPassword=************** engine=mysql port=3333 type=connection useLocalSocketFile=false user=test Admin defines server connections Users refer to them by name from any app

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE “Database import/export” assistants

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Database connectivity for...human beings? Want more users? Do not expect database administration skills.

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Problems you can solve with Predicate (2) Don't export, don't import. Share. (If possible) Document files come from the pre-network and pre-Internet era Avoid creating multiple versions of the same document ???

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Database connectivity for...human beings? The solution: local database files with ability of migrating to a server Implementation: SQLite 3

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Self-contained C library acting as SQL server for application it links to Features: Transactions Fast, constant access time (binary format) Command line interface Widely adopted

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE SQLite in KDE: Default Kexi (and thus, Predicate) database format Redland RDF's storage used by Soprano, which is used by NEPOMUK-KDE KDE PIM's Akonadi file-based storage Amarok's music collection Apps using QtSql can already use SQLite

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE in other software File format of Adobe Lightroom and Adobe Integrated Runtime Unified storage backend for Mozilla 2 components and extensions Included in Python, PHP and RealBasic Used by Google Desktop for the Mac Storage for AJAX apps in Google Gears

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE as system component in OS-es Part of Mac OS X 10.4 as embedded db engine; also used in Apple Mail and Aperture Integral part of Symbian 9.5 Service Management Facility replacing /etc/inittab in Solaris 10

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Can Predicate work for my app? Many applications are internally already database-like especially those employing MVC design pattern There's no need to deal with database internals (SQL, backend specifics)

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE By the way: Predicate and KIO Predicate is like KIO interface but for database and data structures

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Predicate – what's in the box? (2) Tools for creating data models are available at API level – no need to hardcode SQL statements and implement GUI t = new TableSchema(“ownership”); f = new Field(“id”, Integer); t->addField(f) f->setPrimaryKey(true); f = new Field(“owner”, Integer); t->addField(f); f = new Field(“model”, Integer); t->addField(f); f = new Field(“since”, Integer); t->setLookupFieldSchema("owner", lookupFieldSchema);

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Predicate – what's in the box? Built-in SQL parser provides probably the only Qt-based framework for employing type-safe SQL queries within applications

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Predicate – what's in the box? (3) Strong data typing and constraints (general feature of databases) Types and support for constraints generalized for typical usage

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Predicate and QtSql

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Predicate and ODBC ODBC specification is good but its implementation is simplistic (you may need to depend on 3 rd party commercial drivers) ODBC is not a solution as your appetite for generic data API increases So there's a plan for Predicate to wrap ODBC

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Predicate – what's in the box? (4) MS Access data import Database import from PostgreSQL and MySQL servers to a file

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Predicate – what's not included? Database administering and tuning tools (use dedicated for particular db backend) MySQL Administrator

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Predicate – how to get it? KDE SVN: trunk/koffice/kexi/kexidb/ will be moved to trunk/???/predicate/

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Predicate – Plans Providing Kexi plugins for other KDE apps: designer tools for tables, queries and forms, data widget, simple printouts Macros framework (in MS Access style) - a good companion for Kross

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Predicate – Plans Providing Kexi plugins for other KDE apps: table, query and form designer tools data-aware widgets simple printouts CSV import/export

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Predicate – Plans A way for dealing with native data sources and queries: deal with them as black boxes not available for direct data binding to the GUI, etc. Advantage: proprietary or not yet supported features can be used out of the box by knowledgeable users Side effects: executing native DML queries can introduce inconsistencies

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Kexi 2 - Plans More SQL features (grouping, improving the parser, alter table) Full text search, bindings to the upcoming KDE search facilities Reports using KOffice text layout engine with support for ODF

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Kexi 2 – Plans (2) Multithreading – optimization for large data sets Live data sharing ala (MS DDE) Dynamic Data Exchange, hopefully a companion to D-BUS Think about Qt-only and/or non-Qt users of the facilities?

Jarosław Staniek, aKademy 2007 Kexi - Data(base) Environment Universal Data Layer for KDE Thank you. Questions? Ideas? More info: API Docs: