SlideShare a Scribd company logo
A Persistence Service
for the OSGi framework
Carl Rosenberger
Chief Software Architect
db4objects Inc.
2
What is an object?
• ?
3
What is an object?
• a conceptional unit with
• Identity
• State
• Behaviour
• an instance of a class
• Car car = new Car("Ferrari");
4
• Car car = new Car("Ferrari");
• from user entry
• from machine generated data
• over the network
• from a database
Where do objects come from?
5
“Databases”
• Flat files (Roll Your Own)
• Java Serialization
• INSERT INTO car(name)VALUES("Ferrari")
6
“Databases”
• Flat files (Roll Your Own)
• Is your development team experienced at writing database
engines?
• Will flat files be failsafe and will they provide ACID transactions?
• Will you have querying functionality?
• How much will the development cost?
• How long will it take until the system stable?
7
“Databases”
• Java Serialization
• will break upon modifications to classes
• requires loading complete graphs of objects to memory
• is not transactional
• does not provide querying functionality
• is explicitely not recommended for longterm persistence by the
Java Language Specification
8
• INSERT INTO car(name)VALUES("Ferrari")
• Is SQL the best choice for storing objects?
“Databases”
Using tables to store objects is like driving your car home and
then disassembling it to put it in the garage. It can be assembled
again in the morning, but one eventually asks whether this is the
most efficient way to park a car.
Esther Dyson
9
How much SQL do you want to write?
• public class Car {
• Colour colour;
• Motor motor;
• List<Door> doors;
• List<Wheel> wheels;
• Brake brake;
• /*
• [ 50 more fields here ]
• */
• }
10
Is there an easier way to store objects?
• Car car = new Car("Ferrari");
11
• Car car = new Car("Ferrari");
• something.store(car);
Is there an easier way to store objects?
12
Is there an easier way to store objects?
• Car car = new Car("Ferrari");
• database.store(car);
• Simply
• store objects to the database
• get objects back from the database
• Persistence by reachability
• Database engine can analyze class schema
13
What about queries?
• SELECT * FROM
car, car_brake, brake, car_motor, motor
• WHERE car.id = car_brake.car_id
• AND brake.id = car_brake.brake_id
• AND car.id = car_motor.car_id
• AND motor.id = car_motor.motor_id
• AND brake.type = 'Ceramic'
• AND motor.power > 400;
14
Is there an easier way to query for objects?
• car.brake.type == "Ceramic"
• && car.motor.power > 400;
15
Introducing Native Queries
• return car.brake.type == "Ceramic"
• && car.motor.power > 400;
16
Introducing Native Queries
• public boolean match(Car car){
• return car.brake.type == "Ceramic"
• && car.motor.power > 400;
• }
17
Introducing Native Queries
• new Predicate <Car>(){
• public boolean match(Car car){
• return car.brake.type == "Ceramic"
• && car.motor.power > 400;
• }
• }
18
Introducing Native Queries
• List<Car> cars =
• database.query(new Predicate <Car>(){
• public boolean match(Car car){
• return car.brake.type == "Ceramic"
• && car.motor.power > 400;
• }
• });
19
Outlook: Native Queries using Closures
• List<Car> cars =
• database.query({
• Car car =>
• car.brake.type == "Ceramic"
• && car.motor.power > 400;
• }
• );
20
Object-Oriented Persistence
• 100% pure Java
• 100% refactorable
• 100% typesafe
• 100% checked at compile-time
• no O-R impedance mismatch
• minimum code
• maximum performance
21
Object-Oriented Persistence
• Store Objects
• Native Queries
22
Introducing db4o
• database
• 4
• objects
23
Introducing db4o
• database
• 4
• OSGi
24
Introducing db4o
• Plain Object Persistence
• Zero Administration
• Automatic Schema Management
• Optimized Native Queries
• compile time
• load time
• run time
• OSGi Service Interface
• OSGi ClassLoader aware
25
Introducing db4objects
• Open Source Project db4o
• GPL License
• Registered Community of 20,000 developers
26
Introducing db4objects
• Commercial db4o Licenses
• Customers include Boeing, RICOH, Bosch, Indra
27
db4o for OSGi
• db4objects is a member of the OSGi alliance
• Dedicated db4o version for OSGi
• Partnership with ProSyst
• ProSyst bundles db4o with mBedded Server
28
Thank You!
http://www.db4o.com/OSGi

More Related Content

PPTX
WordPress Café April: Viking motors case
Exove
 
PPSX
Speed Up Your APEX Apps with JSON and Handlebars
Marko Gorički
 
PDF
Oracle APEX Nitro
Marko Gorički
 
PDF
Persistence Smoothie
Flip Sasser
 
PDF
Riding rails for 10 years
jduff
 
PDF
How and When to Use FalcorJS
Wiredcraft
 
PDF
Realm Presentation
Phạm Khắc
 
PDF
iOS for ERREST
WO Community
 
WordPress Café April: Viking motors case
Exove
 
Speed Up Your APEX Apps with JSON and Handlebars
Marko Gorički
 
Oracle APEX Nitro
Marko Gorički
 
Persistence Smoothie
Flip Sasser
 
Riding rails for 10 years
jduff
 
How and When to Use FalcorJS
Wiredcraft
 
Realm Presentation
Phạm Khắc
 
iOS for ERREST
WO Community
 

What's hot (18)

PPTX
02 integrate highchart
Erhwen Kuo
 
PDF
C# 9 - What's the cool stuff? - BASTA! Spring 2021
Christian Nagel
 
PDF
Scaling Yii2 Application
Petra Barus
 
PPTX
Apache Cayenne: a Java ORM Alternative
Andrus Adamchik
 
PPTX
Search Queries Explained – A Deep Dive into Query Rules, Query Variables and ...
Mikael Svenson
 
PPTX
SharePoint Search Queries Explained - SPSSthlm 2015
Mikael Svenson
 
PDF
The Grail: React based Isomorph apps framework
Eldar Djafarov
 
PDF
Titanium #MDS13
Fokke Zandbergen
 
PPTX
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Conference
 
PDF
BladeRunnerJS Show & Tell
Phil Leggetter
 
PPTX
Using the extensibility benefits of EPiServer
Patrick van Kleef
 
PDF
Bruce lawson-html5-aria-japan
brucelawson
 
PPTX
04 integrate entityframework
Erhwen Kuo
 
PPTX
Javascript
Sandeepan Kundu
 
PPTX
EPiServer Charts
Patrick van Kleef
 
PPT
Java EE revisits design patterns
Alex Theedom
 
PPTX
Yii 2.0 overview - 1 of 2
Cassiano Surek
 
02 integrate highchart
Erhwen Kuo
 
C# 9 - What's the cool stuff? - BASTA! Spring 2021
Christian Nagel
 
Scaling Yii2 Application
Petra Barus
 
Apache Cayenne: a Java ORM Alternative
Andrus Adamchik
 
Search Queries Explained – A Deep Dive into Query Rules, Query Variables and ...
Mikael Svenson
 
SharePoint Search Queries Explained - SPSSthlm 2015
Mikael Svenson
 
The Grail: React based Isomorph apps framework
Eldar Djafarov
 
Titanium #MDS13
Fokke Zandbergen
 
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Conference
 
BladeRunnerJS Show & Tell
Phil Leggetter
 
Using the extensibility benefits of EPiServer
Patrick van Kleef
 
Bruce lawson-html5-aria-japan
brucelawson
 
04 integrate entityframework
Erhwen Kuo
 
Javascript
Sandeepan Kundu
 
EPiServer Charts
Patrick van Kleef
 
Java EE revisits design patterns
Alex Theedom
 
Yii 2.0 overview - 1 of 2
Cassiano Surek
 
Ad

Viewers also liked (9)

PPT
Formation adobeflex
Cynapsys It Hotspot
 
PDF
Comment manager une équipe de 100 ingénieurs
Cynapsys It Hotspot
 
PDF
La plateforme de services dynamiques OSGi
Didier Donsez
 
ODP
#2 Architecture OSGi
Guillaume Sauthier
 
PPTX
Présentation noura baccar " Innovation on Indoor GeoLocalization Applications...
Cynapsys It Hotspot
 
PPT
Présentation OSGI
Cynapsys It Hotspot
 
PDF
Catalogue pfe cynapsys_2016_2017
Cynapsys It Hotspot
 
PDF
Conférence sur l’achat programmatique - Salon Emarketing 2014
Digitall Makers
 
PPTX
Big data - Cours d'introduction l Data-business
Vincent de Stoecklin
 
Formation adobeflex
Cynapsys It Hotspot
 
Comment manager une équipe de 100 ingénieurs
Cynapsys It Hotspot
 
La plateforme de services dynamiques OSGi
Didier Donsez
 
#2 Architecture OSGi
Guillaume Sauthier
 
Présentation noura baccar " Innovation on Indoor GeoLocalization Applications...
Cynapsys It Hotspot
 
Présentation OSGI
Cynapsys It Hotspot
 
Catalogue pfe cynapsys_2016_2017
Cynapsys It Hotspot
 
Conférence sur l’achat programmatique - Salon Emarketing 2014
Digitall Makers
 
Big data - Cours d'introduction l Data-business
Vincent de Stoecklin
 
Ad

Similar to A Persistence Service for the OSGi Framework - Carl Rosenberger, Chief Software Architect, db4objects (20)

PDF
In-Memory Computing - The Big Picture
Markus Kett
 
PPTX
Hibernate
Chris Roeder
 
PDF
Evolution of database access technologies in Java-based software projects
Tom Mens
 
PDF
High performance database applications with pure query and ibm data studio.ba...
Vladimir Bacvanski, PhD
 
PDF
NoSQL Databases - Lecture 12 - Introduction to Databases (1007156ANR)
Beat Signer
 
PDF
Nosql data models
Viet-Trung TRAN
 
PPTX
SeaJUG May 2012 mybatis
Will Iverson
 
PPTX
Polyglot Persistence
Bryan Reinero
 
PDF
Understanding
Arun Gupta
 
PDF
Using the latest Java Persistence API 2.0 features
Arun Gupta
 
PDF
Free Hibernate Tutorial | VirtualNuggets
Virtual Nuggets
 
PDF
SQL? NoSQL? NewSQL?!? What’s a Java developer to do? - JDC2012 Cairo, Egypt
Chris Richardson
 
PDF
ObjectRelationalMappingSEPerspective
Tyler Smith
 
PPTX
Module-3 for career and JFSD ppt for study.pptx
ViratKohli78
 
PPTX
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?
DATAVERSITY
 
PDF
SAP Open Source meetup/Speedment - Palo Alto 2015
Speedment, Inc.
 
PPT
Wmware NoSQL
Murat Çakal
 
PDF
Oslo baksia2014
Max Neunhöffer
 
PDF
Is multi-model the future of NoSQL?
Max Neunhöffer
 
PPTX
Hibernate in XPages
Toby Samples
 
In-Memory Computing - The Big Picture
Markus Kett
 
Hibernate
Chris Roeder
 
Evolution of database access technologies in Java-based software projects
Tom Mens
 
High performance database applications with pure query and ibm data studio.ba...
Vladimir Bacvanski, PhD
 
NoSQL Databases - Lecture 12 - Introduction to Databases (1007156ANR)
Beat Signer
 
Nosql data models
Viet-Trung TRAN
 
SeaJUG May 2012 mybatis
Will Iverson
 
Polyglot Persistence
Bryan Reinero
 
Understanding
Arun Gupta
 
Using the latest Java Persistence API 2.0 features
Arun Gupta
 
Free Hibernate Tutorial | VirtualNuggets
Virtual Nuggets
 
SQL? NoSQL? NewSQL?!? What’s a Java developer to do? - JDC2012 Cairo, Egypt
Chris Richardson
 
ObjectRelationalMappingSEPerspective
Tyler Smith
 
Module-3 for career and JFSD ppt for study.pptx
ViratKohli78
 
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?
DATAVERSITY
 
SAP Open Source meetup/Speedment - Palo Alto 2015
Speedment, Inc.
 
Wmware NoSQL
Murat Çakal
 
Oslo baksia2014
Max Neunhöffer
 
Is multi-model the future of NoSQL?
Max Neunhöffer
 
Hibernate in XPages
Toby Samples
 

More from mfrancis (20)

PDF
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
mfrancis
 
PDF
OSGi and Java 9+ - BJ Hargrave (IBM)
mfrancis
 
PDF
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
mfrancis
 
PDF
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
mfrancis
 
PDF
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
mfrancis
 
PDF
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
mfrancis
 
PDF
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
mfrancis
 
PDF
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
mfrancis
 
PDF
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
mfrancis
 
PDF
OSGi CDI Integration Specification - Ray Augé (Liferay)
mfrancis
 
PDF
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
mfrancis
 
PDF
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
mfrancis
 
PDF
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
mfrancis
 
PDF
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
mfrancis
 
PDF
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
mfrancis
 
PDF
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
mfrancis
 
PDF
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
mfrancis
 
PDF
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
mfrancis
 
PDF
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
mfrancis
 
PDF
How to connect your OSGi application - Dirk Fauth (Bosch)
mfrancis
 
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
mfrancis
 
OSGi and Java 9+ - BJ Hargrave (IBM)
mfrancis
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
mfrancis
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
mfrancis
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
mfrancis
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
mfrancis
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
mfrancis
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
mfrancis
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
mfrancis
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
mfrancis
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
mfrancis
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
mfrancis
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
mfrancis
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
mfrancis
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
mfrancis
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
mfrancis
 
How to connect your OSGi application - Dirk Fauth (Bosch)
mfrancis
 

Recently uploaded (20)

PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PDF
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 

A Persistence Service for the OSGi Framework - Carl Rosenberger, Chief Software Architect, db4objects

  • 1. A Persistence Service for the OSGi framework Carl Rosenberger Chief Software Architect db4objects Inc.
  • 2. 2 What is an object? • ?
  • 3. 3 What is an object? • a conceptional unit with • Identity • State • Behaviour • an instance of a class • Car car = new Car("Ferrari");
  • 4. 4 • Car car = new Car("Ferrari"); • from user entry • from machine generated data • over the network • from a database Where do objects come from?
  • 5. 5 “Databases” • Flat files (Roll Your Own) • Java Serialization • INSERT INTO car(name)VALUES("Ferrari")
  • 6. 6 “Databases” • Flat files (Roll Your Own) • Is your development team experienced at writing database engines? • Will flat files be failsafe and will they provide ACID transactions? • Will you have querying functionality? • How much will the development cost? • How long will it take until the system stable?
  • 7. 7 “Databases” • Java Serialization • will break upon modifications to classes • requires loading complete graphs of objects to memory • is not transactional • does not provide querying functionality • is explicitely not recommended for longterm persistence by the Java Language Specification
  • 8. 8 • INSERT INTO car(name)VALUES("Ferrari") • Is SQL the best choice for storing objects? “Databases” Using tables to store objects is like driving your car home and then disassembling it to put it in the garage. It can be assembled again in the morning, but one eventually asks whether this is the most efficient way to park a car. Esther Dyson
  • 9. 9 How much SQL do you want to write? • public class Car { • Colour colour; • Motor motor; • List<Door> doors; • List<Wheel> wheels; • Brake brake; • /* • [ 50 more fields here ] • */ • }
  • 10. 10 Is there an easier way to store objects? • Car car = new Car("Ferrari");
  • 11. 11 • Car car = new Car("Ferrari"); • something.store(car); Is there an easier way to store objects?
  • 12. 12 Is there an easier way to store objects? • Car car = new Car("Ferrari"); • database.store(car); • Simply • store objects to the database • get objects back from the database • Persistence by reachability • Database engine can analyze class schema
  • 13. 13 What about queries? • SELECT * FROM car, car_brake, brake, car_motor, motor • WHERE car.id = car_brake.car_id • AND brake.id = car_brake.brake_id • AND car.id = car_motor.car_id • AND motor.id = car_motor.motor_id • AND brake.type = 'Ceramic' • AND motor.power > 400;
  • 14. 14 Is there an easier way to query for objects? • car.brake.type == "Ceramic" • && car.motor.power > 400;
  • 15. 15 Introducing Native Queries • return car.brake.type == "Ceramic" • && car.motor.power > 400;
  • 16. 16 Introducing Native Queries • public boolean match(Car car){ • return car.brake.type == "Ceramic" • && car.motor.power > 400; • }
  • 17. 17 Introducing Native Queries • new Predicate <Car>(){ • public boolean match(Car car){ • return car.brake.type == "Ceramic" • && car.motor.power > 400; • } • }
  • 18. 18 Introducing Native Queries • List<Car> cars = • database.query(new Predicate <Car>(){ • public boolean match(Car car){ • return car.brake.type == "Ceramic" • && car.motor.power > 400; • } • });
  • 19. 19 Outlook: Native Queries using Closures • List<Car> cars = • database.query({ • Car car => • car.brake.type == "Ceramic" • && car.motor.power > 400; • } • );
  • 20. 20 Object-Oriented Persistence • 100% pure Java • 100% refactorable • 100% typesafe • 100% checked at compile-time • no O-R impedance mismatch • minimum code • maximum performance
  • 21. 21 Object-Oriented Persistence • Store Objects • Native Queries
  • 24. 24 Introducing db4o • Plain Object Persistence • Zero Administration • Automatic Schema Management • Optimized Native Queries • compile time • load time • run time • OSGi Service Interface • OSGi ClassLoader aware
  • 25. 25 Introducing db4objects • Open Source Project db4o • GPL License • Registered Community of 20,000 developers
  • 26. 26 Introducing db4objects • Commercial db4o Licenses • Customers include Boeing, RICOH, Bosch, Indra
  • 27. 27 db4o for OSGi • db4objects is a member of the OSGi alliance • Dedicated db4o version for OSGi • Partnership with ProSyst • ProSyst bundles db4o with mBedded Server