Java Binding for OODB <ul><li>JDBC, SQLJ </li></ul><ul><ul><li>Data-centric </li></ul></ul><ul><li>Java Binding for OODB <...
ODMB Java Binding <ul><li>ODMG Java Binding </li></ul><ul><ul><li>As a single language </li></ul></ul><ul><ul><ul><li>A si...
Mapping of the ODMG Object Model <ul><li>ODMG Object Model </li></ul><ul><ul><li>Based on OMG Object Model </li></ul></ul>...
Mapping of the ODMG Object Model <ul><li>Objects </li></ul><ul><ul><li>Java root objects </li></ul></ul><ul><li>Java ODL <...
Object Life Cycle <ul><li>Begin processing </li></ul><ul><ul><li>Accessing one or more of the root objects </li></ul></ul>...
Collection Interfaces <ul><li>Java OML provides </li></ul><ul><ul><li>Public interface Set extends Collection { .. } </li>...
Transactions <ul><li>All creation, access and modification of persistent object </li></ul><ul><ul><li>Within a transaction...
Database Operations <ul><li>Java OML as objects of the Database class </li></ul><ul><ul><li>Page 179 </li></ul></ul><ul><l...
Java OQL <ul><li>Full functionality of OQL is available </li></ul><ul><li>Collection interface provides </li></ul><ul><ul>...
POET 5.0 <ul><li>POET Java SDK </li></ul><ul><ul><li>ODMG Java Binding </li></ul></ul><ul><ul><li>Preprocessor approach </...
 
 
 
Upcoming SlideShare
Loading in...5
×

Java Binding for OODB.

670

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
670
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Java Binding for OODB.

  1. 1. Java Binding for OODB <ul><li>JDBC, SQLJ </li></ul><ul><ul><li>Data-centric </li></ul></ul><ul><li>Java Binding for OODB </li></ul><ul><ul><li>Programming objects-centric </li></ul></ul><ul><li>ODMG 2.0 </li></ul><ul><ul><li>Object Model, ODL, OQL, OOPL </li></ul></ul><ul><ul><li>Does not define a common OML </li></ul></ul><ul><li>Mapping </li></ul><ul><ul><li>ODMG Object Model, Java ODL, Java OML, Java OQL </li></ul></ul><ul><li>POET 5.0 </li></ul>
  2. 2. ODMB Java Binding <ul><li>ODMG Java Binding </li></ul><ul><ul><li>As a single language </li></ul></ul><ul><ul><ul><li>A single unified type system </li></ul></ul></ul><ul><ul><ul><li>Conform to the java language syntax </li></ul></ul></ul><ul><ul><ul><li>Automatic memory management </li></ul></ul></ul><ul><ul><li>ODMG 2.0 dos now define </li></ul></ul><ul><ul><ul><li>How a java class become a persistence-capable class </li></ul></ul></ul><ul><ul><li>Transparent persistence support </li></ul></ul><ul><ul><ul><li>Postprocessor </li></ul></ul></ul><ul><ul><ul><ul><li>Java .class file (bytecode) </li></ul></ul></ul></ul><ul><ul><ul><li>Preprocessor </li></ul></ul></ul><ul><ul><ul><ul><li>Modifies the Java Source </li></ul></ul></ul></ul>
  3. 3. Mapping of the ODMG Object Model <ul><li>ODMG Object Model </li></ul><ul><ul><li>Based on OMG Object Model </li></ul></ul><ul><li>Not yet supported </li></ul><ul><ul><li>Extents, Keys, Relationships, Access to meatdata </li></ul></ul><ul><li>Types </li></ul><ul><ul><li>ODMG interface == Java interface </li></ul></ul><ul><ul><li>ODMG class == Java Class </li></ul></ul><ul><ul><li>ODMG is-a relationship == Java extends </li></ul></ul><ul><ul><li>Is-a relationship between classes and interface </li></ul></ul><ul><ul><ul><li>Java implements </li></ul></ul></ul>
  4. 4. Mapping of the ODMG Object Model <ul><li>Objects </li></ul><ul><ul><li>Java root objects </li></ul></ul><ul><li>Java ODL </li></ul><ul><ul><li>Object-oriented database schema as a set of java classes </li></ul></ul><ul><ul><li>Attributes </li></ul></ul><ul><ul><ul><li>Field declaration </li></ul></ul></ul><ul><ul><li>Operations </li></ul></ul><ul><ul><ul><li>Method declaration </li></ul></ul></ul><ul><li>Java OML </li></ul><ul><ul><li>Create, delete, reference, get/set field values </li></ul></ul><ul><ul><li>Invoke method on a persistent(database) object </li></ul></ul><ul><ul><li>Attributes </li></ul></ul><ul><ul><ul><li>Accessing attributes </li></ul></ul></ul><ul><ul><li>Operations </li></ul></ul><ul><ul><ul><li>Mapped to method </li></ul></ul></ul>
  5. 5. Object Life Cycle <ul><li>Begin processing </li></ul><ul><ul><li>Accessing one or more of the root objects </li></ul></ul><ul><ul><ul><li>Persistent </li></ul></ul></ul><ul><ul><ul><li>Entry point to the database </li></ul></ul></ul><ul><li>Persistence </li></ul><ul><ul><li>Transient object </li></ul></ul><ul><ul><ul><li>Referenced by a persistent object </li></ul></ul></ul><ul><li>Modification to persistent object </li></ul><ul><ul><li>Transaction committed </li></ul></ul><ul><li>Automatically removed </li></ul><ul><ul><li>Neither named nor referenced by any other persistent object </li></ul></ul>
  6. 6. Collection Interfaces <ul><li>Java OML provides </li></ul><ul><ul><li>Public interface Set extends Collection { .. } </li></ul></ul><ul><ul><li>Public interface Bag extends Collection { .. } </li></ul></ul><ul><ul><li>Public interface List extends Collection { .. } </li></ul></ul><ul><li>Collection interface </li></ul><ul><ul><li>Page 178 </li></ul></ul>
  7. 7. Transactions <ul><li>All creation, access and modification of persistent object </li></ul><ul><ul><li>Within a transaction </li></ul></ul><ul><li>Implement Java OML as object </li></ul><ul><ul><li>Page 178 </li></ul></ul><ul><li>Thread ca be used with transaction </li></ul><ul><ul><li>Exactly one thread under exactly one transaction </li></ul></ul><ul><ul><li>Multiple thread each with its own separate transaction </li></ul></ul><ul><ul><ul><li>Must not pass object from one thread to another </li></ul></ul></ul><ul><ul><li>Multiple thread may share one or more transactoin </li></ul></ul><ul><ul><ul><li>Using Java synchronization </li></ul></ul></ul>
  8. 8. Database Operations <ul><li>Java OML as objects of the Database class </li></ul><ul><ul><li>Page 179 </li></ul></ul><ul><li>No constructor provided </li></ul><ul><ul><li>Open() to create and open a database </li></ul></ul><ul><ul><li>Bind() </li></ul></ul><ul><ul><ul><li>Manipulate ob object </li></ul></ul></ul><ul><ul><ul><li>Binding transient object to a name make that object persistent </li></ul></ul></ul><ul><ul><li>Lookup() </li></ul></ul><ul><ul><ul><li>Access an object by name </li></ul></ul></ul>
  9. 9. Java OQL <ul><li>Full functionality of OQL is available </li></ul><ul><li>Collection interface provides </li></ul><ul><ul><li>Public Object selectElement(String predicate); </li></ul></ul><ul><ul><li>Public boolean existsElement(String predicate); </li></ul></ul><ul><ul><li>Public Enumeration select(String predicate); </li></ul></ul><ul><ul><li>Public Collection query(String predicate); </li></ul></ul><ul><ul><ul><li>Predicate is a string with the syntax of the WHERE </li></ul></ul></ul><ul><li>OQLQuery class </li></ul><ul><ul><li>To create a query, pass parameters, execute the query, get the result </li></ul></ul><ul><ul><li>Page 180 </li></ul></ul>
  10. 10. POET 5.0 <ul><li>POET Java SDK </li></ul><ul><ul><li>ODMG Java Binding </li></ul></ul><ul><ul><li>Preprocessor approach </li></ul></ul><ul><ul><ul><li>Java source to add persistence support </li></ul></ul></ul><ul><ul><ul><li>Create the schema and database for persistent object </li></ul></ul></ul><ul><li>POET database </li></ul><ul><ul><li>Dictionary </li></ul></ul><ul><ul><ul><li>Contain information about the structure of persistence-capable classes </li></ul></ul></ul><ul><ul><li>Database </li></ul></ul><ul><ul><ul><li>Persistent object stored </li></ul></ul></ul><ul><li>Extents, Keys, and Names </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×