SlideShare a Scribd company logo
Drag, Drop and other Stuff
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
XML DB Repository
   Ever executed DBMS_XDB…?

    dbms_xdb.SetHTTPPort(8080)
    dbms_xdb.SetFTPPort(2100)
   Based on XML Standards:
    XPath V2 , XSLT V1 , XQuery V1 ,
    XQuery Update (11.2.0.3) , XBRL (Extention)
   XML Handling
     Stores, Consumes, Generates, Validates
   XDB Repository
     HTTP(s), FTP & WebDAV
     XDB Repository Events
   No Cost Option, Core database feature
   XDB Repository File / Folder (aka Resources)
   Resource manipulation
     DBMS_XDB, DBMS_XDBRESOURCE
   Default XDB ACL Driven Security
   XDB Protocol Listener
   Respository Events
   Versioning
   XML Schema awareness
   Extending XML Schema functionality
   XDB$RESOURCE
     XDBResource.xsd
     XMLType Table (Schema based XML Table)
   Access to XDB Repository
     WebDAV, FTP, HTTP(s)
     SQL, PL/SQL, NDWS
     PATH_VIEW, RESOURCE_VIEW
   Select, Update, Delete
     UNDER_PATH, EQUALS_PATH
Servlet ?


MIME Type?


Security ?

XML
Schema ?

XDB Event ?


Extention?
Use Case
Database FileServer   2 The MAX

      Copy a FILE
    to the Database
Event
MIME                     Event
             Listener
Check                   Handler

         XML Protocol
        Server (Listener)
Extract
               Move
File Info

     Store in XDB
      Repository
Extract File    XDB File to
 Content          Server


    Batch File to XDB
    “Batch” Directory
Use Case
Database FileServer   2 The MAX

    Copy a PICTURE
    to the Database
Event
MIME                     Event
             Listener
Check                   Handler

         XML Protocol
        Server (Listener)
Extract       Store in
 XML           Table

    Store in XDB
     Repository
EXIF           KML



  Display in GUI,
   Google Map
Methods at Work
Servlet ?


MIME Type?


Security ?

XML
Schema ?

XDB Event ?


Extention?
   XML Schema - xdbconfig.xsd
   Notepad, XMLSpy, PL/SQL
   Secured via WebDAV ACL (xdbadmin)
   Packages (among others):
     DBMS_XDB
      ▪ Caching, Session, Locking, Security behavior
      ▪ Enable HTTP/FTP, MIME, Encoding, Virtual Paths
      ▪ SERVLETS: NDWS, APEX, XDBUrifactory
     DBMS_EPG
      ▪ Creation off Database Access Descriptors
<xdbconfig>
  <sysconfig>
    <acl-max-age>15</acl-max-age>
    <acl-cache-size>32</acl-cache-size>
    <invalid-pathname-chars/>
    <case-sensitive>true</case-sensitive>
    <call-timeout>6000</call-timeout>
    <max-link-queue>65536</max-link-queue>
    <max-session-use>100</max-session-use>
    <persistent-sessions>false</persistent-sessions>
    <default-lock-timeout>3600</default-lock-timeout>
    <xdbcore-log-level>0</xdbcore-log-level>
    <resource-view-cache-size>1048576</resource…size>
    <xdbcore-xobmem-bound>1024</xdbcore-xobmem-bound>
    <xdbcore-loadableunit-size>16</xdbcore-……………size>
    <acl-evaluation-method>ace-order</acl-ev……method>
  </sysconfig>
</xdbconfig>
<servlet xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd">
  <servlet-name>APEX</servlet-name>
  <servlet-language>PL/SQL</servlet-language>
  <display-name>APEX</display-name>
  <plsql xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd">
    <database-username>ANONYMOUS</database-username>
    <default-page>apex</default-page>
    <document-table-name>wwv_flow_file_objects$</document-…-
  name>
    <document-path>docs</document-path>
    <document-procedure>
      wwv_flow_file_mgr.process_download
    </document-procedure>
    <nls-language>american_america.al32utf8</nls-language>
    <request-validation-function>
      wwv_flow_epg_include_modules.authorize
    </request-validation-function>
  </plsql>
  <security-role-ref
  xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd">
    <role-name>anonymousServletRole</role-name>
    <role-link>anonymousServletRole</role-link>
  </security-role-ref>
</servlet>
Methods at Work
   Event Listener
     Java Class, PL/SQL Package, Object Type
      ▪ E.g. a package called: “HANDLE_XDB_EVENTS”
   Event Handlers
     Event handlers processes a single event
      ▪ Package procedures called “handlePreCreate”,
        “handlePostCreate, “handlePreVersionControl”…
   Resource Configuration File
     The glue between Event Listener and Resources
   Render      UnLinkIn      UnCheckOut
   Create      UnLinkFrom    VersionControl
   Delete      Lock          UnLock
   Update      CheckIn       LinkTo
   LinkIn      CheckOut
   Create      handlePreCreate
                handlePostCreate
   Delete      handlePreDelete
                handlePostDelete
Render         handleRender
Lock
                handlePreLock
…               handlePostLock
URL: XDBEvent   XDBEventListener
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
Methods at Work
Servlet ?


MIME Type?


Security ?

XML
Schema ?

XDB Event ?


Extention?
   Glue between Event Listener and Resource
   An XML File
     XML Schema restricted: XDBResConfig.xsd
   Contains (among others):
     Events and Source (Event Listener)
     Path to “itself” (/public/myResFile.xml)
     Pre-conditions (XPATH on XDB$RESOURCE)
   Is assigned to a Resource (File/Folder)
     DBMS_RESCONFIG.AppendResConfig
   XML Schema: xdb$resource.xsd
   XMLType Table
   PATH_VIEW, RESOURCE_VIEW
   LOB Column (with file content)
   Non Schema based metadata in LOB
   Info about:
     RESID, DisplayName, Owner, Creator, VersionID,
     ChecktOut, CreationDate, ModifiedDate, SizeOnDisk,
     ContentSize, ContentType, Comments, CharacterSet,
     Etc…
   Move all files created by BATCH to…
   Extract Info from picture if extension GIF…
<pre-condition>
  <existsNode>
    <XPath>/Resource[Creator="BATCH"]</XPath>
  </existsNode>
</pre-condition>

<pre-condition>
  <existsNode>
    <XPath>/Resource[ContentType="image/jpg"]</XPath>
  </existsNode>
</pre-condition>
Holistic Approach
Servlet ?


MIME Type?


Security ?

XML
Schema ?

XDB Event ?


Extension?
XML Schema      XML Schema
XML Document
                     in XML ?       Registered ?



Physical XMLType   Shred XML into      Update
 Associated ?         XMLType       XDB$Resource
Everybody knows EXIF…
Jeffrey's EXIF Viewer
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
   Camera Make and Model
   Aperture, Shutter Speed, Focal Length
   ISO Speed, Date Taken, Description
   Geo-coding, Copyright Information

   EXIF XML Schema is pre-registered with XML
    DB by Oracle MultiMedia
   Type ordsys.ordimage extracts EXIF
    metadata document from a JPG image
   The following embedded image metadata
    formats are supported by Oracle Multimedia:

      EXIF                (JPEG/TIFF - JEIDA)
      IPTC-IIM            (JPEG/TIFF – Adobe)
      XMP                 (GIF/JPEG/TIFF – Adobe/RDF)


    http://www.adobe.com   http://www.w3.org/RDF   Wikipedia - EXIF
   ENABLE_HIERARCHY_RESMETADATA
   Metadata defined using an XML Schema
   Metadata stored in a separate table
   Table includes hidden column RESID
     Enables join with RESOURCE_VIEW, PATH_VIEW
   Applications query and update metadata
    directly
     Improved Indexing
   Metadata deleted when resource is deleted
Document       MIME type JPG   Event Listener?




                     EXIF        EXIF Extended
Event Handler?
                 XML Schema?     w/ USER XSD ?



 Extract JPG      Extract JPG     Extract JPG
  File info        EXIF info     USER metadata
XDB$Resource     XMLType Table   XMLType Table
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
Its about Time to wrap it Up
Servlet ?


MIME Type?


Security ?

XML
Schema ?

XDB Event ?


Extention?
1. EVENT LISTENER
   • Package
2. EVENT HANDLERS
   • Procedures in “Event Listener”
3. RESOURCE CONFIGURATION FILE
   • XML File
• General File Stuff turns out to be XML then…

4. XML SCHEMA REGISTRATION
   • dbms_xmlschema.register_schema
5. EXTRA USER DEFINED METADATA NEEDED
   • dbms_xmlschema.enable_hierarchy_resm
     etadata
• XML DB
   - Beyond the Database, Fileserver Realm
• Imagination is your limit, e.g.:
  - Extending “file” server with Text Search
  - Extending “file” server with ETL functionality
• Extra options: database / fileserver interfacing
• Based on standards
• No cost option / all database versions
   URL: OTN XMLDB Sample Code

     XFILES Version 5
     Introduction to Oracle XML DB Repository Events
     Oracle XML DB-based Mashup with Google Earth
     Oracle XML DB Repository Features
     XDB Utilities and more…
   Blog posts about:

     Setting up logging in the XDB Repository
     Package template HANDLE_XDB_EVENTS
     Concepts & Howto’s for XDB Repository
     Automatically shred content out of Windows
      Office (docx) into table columns
     References to XLSX examples of Marc Bleron and
      Anton Scheffers

More Related Content

PPTX
XFILES, The APEX 4 version - The truth is in there
PPT
XML Amsterdam - Creating structure in unstructured data
PPTX
UKOUG 2011 - Drag, Drop and other Stuff. Using your Database as a File Server
PPTX
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2
PPTX
Design Concepts For Xml Applications That Will Perform
PPTX
BGOUG 2012 - Design concepts for xml applications that will perform
PPTX
Ogh Ace Case, Part 1 and 2, Oracle Xml Database, Marco Gralike
PPTX
Expertezed 2012 Webcast - XML DB Use Cases
XFILES, The APEX 4 version - The truth is in there
XML Amsterdam - Creating structure in unstructured data
UKOUG 2011 - Drag, Drop and other Stuff. Using your Database as a File Server
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2
Design Concepts For Xml Applications That Will Perform
BGOUG 2012 - Design concepts for xml applications that will perform
Ogh Ace Case, Part 1 and 2, Oracle Xml Database, Marco Gralike
Expertezed 2012 Webcast - XML DB Use Cases

What's hot (20)

PDF
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
PPT
Xml parsers
PDF
OrientDB introduction - NoSQL
PPT
Jdbc 4.0 New Features And Enhancements
PDF
The power of datomic
PDF
PostgreSQL - Case Study
PPTX
Introduction à DocumentDB
PDF
Datomic – A Modern Database - StampedeCon 2014
PPTX
Silicon Valley JUG - How to generate customized java 8 code from your database
PPTX
Introduction to MongoDB
PDF
Processing large-scale graphs with Google Pregel
PDF
Advanced SQL - Database Access from Programming Languages
PDF
FITC presents: Mobile & offline data synchronization in Angular JS
PDF
Introduction to datomic
PDF
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
PDF
Electron, databases, and RxDB
PDF
NHibernate (The ORM For .NET Platform)
PPTX
NoSQL Introduction
PDF
Multi model-databases
PDF
Mongo db
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Xml parsers
OrientDB introduction - NoSQL
Jdbc 4.0 New Features And Enhancements
The power of datomic
PostgreSQL - Case Study
Introduction à DocumentDB
Datomic – A Modern Database - StampedeCon 2014
Silicon Valley JUG - How to generate customized java 8 code from your database
Introduction to MongoDB
Processing large-scale graphs with Google Pregel
Advanced SQL - Database Access from Programming Languages
FITC presents: Mobile & offline data synchronization in Angular JS
Introduction to datomic
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
Electron, databases, and RxDB
NHibernate (The ORM For .NET Platform)
NoSQL Introduction
Multi model-databases
Mongo db
Ad

Viewers also liked (6)

PPTX
UKOUG Tech15 - Going Full Circle - Building a native JSON Database API
PPTX
eProseed Oracle Open World 2016 debrief - Oracle Management Cloud
PPTX
BGOUG 2012 - XML Index Strategies
PPTX
Miracle Open World 2011 - XML Index Strategies
PDF
Oaktable World 2014 Kevin Closson: SLOB – For More Than I/O!
PPTX
OakTable World 2015 - Using XMLType content with the Oracle In-Memory Column...
UKOUG Tech15 - Going Full Circle - Building a native JSON Database API
eProseed Oracle Open World 2016 debrief - Oracle Management Cloud
BGOUG 2012 - XML Index Strategies
Miracle Open World 2011 - XML Index Strategies
Oaktable World 2014 Kevin Closson: SLOB – For More Than I/O!
OakTable World 2015 - Using XMLType content with the Oracle In-Memory Column...
Ad

Similar to BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server (20)

PPT
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
PPTX
Black Hat: XML Out-Of-Band Data Retrieval
PDF
IBM Solutions '99 XML and Java: Lessons Learned
PPTX
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
PPT
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
PDF
XML Tools for Perl
PPT
XML In The Real World - Use Cases For Oracle XMLDB
PPT
Web services Overview in depth
PPT
XML, XML Databases and MPEG-7
PDF
Unit 10: XML and Beyond (Sematic Web, Web Services, ...)
PPTX
Introduction to XML
PPTX
The Dev-Admin Chimera: Customising Connections (with Gab Davis)
PPTX
Xml schema
PPT
Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Be...
PPT
XMLLec1 (1xML lecturefsfsdfsdfdsfdsfsdfsdfdsf
PPT
XMLLec1.pptsfsfsafasfasdfasfdsadfdsfdf dfdsfds
PPT
XML stands for EXtensible Markup Language
PPT
ravenbenweb xml and its application .PPT
PDF
WSDL 2.0 and Apache Woden
PDF
E05412327
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Black Hat: XML Out-Of-Band Data Retrieval
IBM Solutions '99 XML and Java: Lessons Learned
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
XML Tools for Perl
XML In The Real World - Use Cases For Oracle XMLDB
Web services Overview in depth
XML, XML Databases and MPEG-7
Unit 10: XML and Beyond (Sematic Web, Web Services, ...)
Introduction to XML
The Dev-Admin Chimera: Customising Connections (with Gab Davis)
Xml schema
Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Be...
XMLLec1 (1xML lecturefsfsdfsdfdsfdsfsdfsdfdsf
XMLLec1.pptsfsfsafasfasdfasfdsadfdsfdf dfdsfds
XML stands for EXtensible Markup Language
ravenbenweb xml and its application .PPT
WSDL 2.0 and Apache Woden
E05412327

More from Marco Gralike (16)

PPTX
UKOUG2018 - I Know what you did Last Summer [in my Database].pptx
PPTX
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
PPTX
Oracle Database - JSON and the In-Memory Database
PDF
UKOUG Tech14 - Getting Started With JSON in the Database
PDF
UKOUG Tech14 - Using Database In-Memory Column Store with Complex Datatypes
PPTX
Ordina Oracle Open World
PPTX
Starting with JSON Path Expressions in Oracle 12.1.0.2
PDF
An introduction into Oracle VM V3.x
PDF
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
PPTX
An AMIS Overview of Oracle database 12c (12.1)
PPTX
Flexibiliteit & Snel Schakelen
PPTX
Hotsos 2013 - Creating Structure in Unstructured Data
PPTX
ODTUG Webcast - Thinking Clearly about XML
PPTX
UKOUG 2010 (Birmingham) - XML Indexing strategies - Choosing the Right Index ...
PPT
Amis ACE
PPTX
Oracle Developer Day, 20 October 2009, Oracle De Meern, Holland: Oracle Datab...
UKOUG2018 - I Know what you did Last Summer [in my Database].pptx
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
Oracle Database - JSON and the In-Memory Database
UKOUG Tech14 - Getting Started With JSON in the Database
UKOUG Tech14 - Using Database In-Memory Column Store with Complex Datatypes
Ordina Oracle Open World
Starting with JSON Path Expressions in Oracle 12.1.0.2
An introduction into Oracle VM V3.x
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An AMIS Overview of Oracle database 12c (12.1)
Flexibiliteit & Snel Schakelen
Hotsos 2013 - Creating Structure in Unstructured Data
ODTUG Webcast - Thinking Clearly about XML
UKOUG 2010 (Birmingham) - XML Indexing strategies - Choosing the Right Index ...
Amis ACE
Oracle Developer Day, 20 October 2009, Oracle De Meern, Holland: Oracle Datab...

BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server

  • 1. Drag, Drop and other Stuff
  • 6. Ever executed DBMS_XDB…? dbms_xdb.SetHTTPPort(8080) dbms_xdb.SetFTPPort(2100)
  • 7. Based on XML Standards: XPath V2 , XSLT V1 , XQuery V1 , XQuery Update (11.2.0.3) , XBRL (Extention)  XML Handling Stores, Consumes, Generates, Validates  XDB Repository HTTP(s), FTP & WebDAV XDB Repository Events  No Cost Option, Core database feature
  • 8. XDB Repository File / Folder (aka Resources)  Resource manipulation DBMS_XDB, DBMS_XDBRESOURCE  Default XDB ACL Driven Security  XDB Protocol Listener  Respository Events  Versioning  XML Schema awareness  Extending XML Schema functionality
  • 9. XDB$RESOURCE  XDBResource.xsd  XMLType Table (Schema based XML Table)  Access to XDB Repository  WebDAV, FTP, HTTP(s)  SQL, PL/SQL, NDWS  PATH_VIEW, RESOURCE_VIEW  Select, Update, Delete  UNDER_PATH, EQUALS_PATH
  • 10. Servlet ? MIME Type? Security ? XML Schema ? XDB Event ? Extention?
  • 12. Database FileServer 2 The MAX Copy a FILE to the Database
  • 13. Event MIME Event Listener Check Handler XML Protocol Server (Listener)
  • 14. Extract Move File Info Store in XDB Repository
  • 15. Extract File XDB File to Content Server Batch File to XDB “Batch” Directory
  • 17. Database FileServer 2 The MAX Copy a PICTURE to the Database
  • 18. Event MIME Event Listener Check Handler XML Protocol Server (Listener)
  • 19. Extract Store in XML Table Store in XDB Repository
  • 20. EXIF KML Display in GUI, Google Map
  • 22. Servlet ? MIME Type? Security ? XML Schema ? XDB Event ? Extention?
  • 23. XML Schema - xdbconfig.xsd  Notepad, XMLSpy, PL/SQL  Secured via WebDAV ACL (xdbadmin)  Packages (among others):  DBMS_XDB ▪ Caching, Session, Locking, Security behavior ▪ Enable HTTP/FTP, MIME, Encoding, Virtual Paths ▪ SERVLETS: NDWS, APEX, XDBUrifactory  DBMS_EPG ▪ Creation off Database Access Descriptors
  • 24. <xdbconfig> <sysconfig> <acl-max-age>15</acl-max-age> <acl-cache-size>32</acl-cache-size> <invalid-pathname-chars/> <case-sensitive>true</case-sensitive> <call-timeout>6000</call-timeout> <max-link-queue>65536</max-link-queue> <max-session-use>100</max-session-use> <persistent-sessions>false</persistent-sessions> <default-lock-timeout>3600</default-lock-timeout> <xdbcore-log-level>0</xdbcore-log-level> <resource-view-cache-size>1048576</resource…size> <xdbcore-xobmem-bound>1024</xdbcore-xobmem-bound> <xdbcore-loadableunit-size>16</xdbcore-……………size> <acl-evaluation-method>ace-order</acl-ev……method> </sysconfig> </xdbconfig>
  • 25. <servlet xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd"> <servlet-name>APEX</servlet-name> <servlet-language>PL/SQL</servlet-language> <display-name>APEX</display-name> <plsql xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd"> <database-username>ANONYMOUS</database-username> <default-page>apex</default-page> <document-table-name>wwv_flow_file_objects$</document-…- name> <document-path>docs</document-path> <document-procedure> wwv_flow_file_mgr.process_download </document-procedure> <nls-language>american_america.al32utf8</nls-language> <request-validation-function> wwv_flow_epg_include_modules.authorize </request-validation-function> </plsql> <security-role-ref xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd"> <role-name>anonymousServletRole</role-name> <role-link>anonymousServletRole</role-link> </security-role-ref> </servlet>
  • 27. Event Listener  Java Class, PL/SQL Package, Object Type ▪ E.g. a package called: “HANDLE_XDB_EVENTS”  Event Handlers  Event handlers processes a single event ▪ Package procedures called “handlePreCreate”, “handlePostCreate, “handlePreVersionControl”…  Resource Configuration File  The glue between Event Listener and Resources
  • 28. Render  UnLinkIn  UnCheckOut  Create  UnLinkFrom  VersionControl  Delete  Lock  UnLock  Update  CheckIn  LinkTo  LinkIn  CheckOut
  • 29. Create handlePreCreate handlePostCreate  Delete handlePreDelete handlePostDelete Render handleRender Lock handlePreLock … handlePostLock URL: XDBEvent XDBEventListener
  • 32. Servlet ? MIME Type? Security ? XML Schema ? XDB Event ? Extention?
  • 33. Glue between Event Listener and Resource  An XML File  XML Schema restricted: XDBResConfig.xsd  Contains (among others):  Events and Source (Event Listener)  Path to “itself” (/public/myResFile.xml)  Pre-conditions (XPATH on XDB$RESOURCE)  Is assigned to a Resource (File/Folder)  DBMS_RESCONFIG.AppendResConfig
  • 34. XML Schema: xdb$resource.xsd  XMLType Table  PATH_VIEW, RESOURCE_VIEW  LOB Column (with file content)  Non Schema based metadata in LOB  Info about: RESID, DisplayName, Owner, Creator, VersionID, ChecktOut, CreationDate, ModifiedDate, SizeOnDisk, ContentSize, ContentType, Comments, CharacterSet, Etc…
  • 35. Move all files created by BATCH to…  Extract Info from picture if extension GIF… <pre-condition> <existsNode> <XPath>/Resource[Creator="BATCH"]</XPath> </existsNode> </pre-condition> <pre-condition> <existsNode> <XPath>/Resource[ContentType="image/jpg"]</XPath> </existsNode> </pre-condition>
  • 37. Servlet ? MIME Type? Security ? XML Schema ? XDB Event ? Extension?
  • 38. XML Schema XML Schema XML Document in XML ? Registered ? Physical XMLType Shred XML into Update Associated ? XMLType XDB$Resource
  • 43. Camera Make and Model  Aperture, Shutter Speed, Focal Length  ISO Speed, Date Taken, Description  Geo-coding, Copyright Information  EXIF XML Schema is pre-registered with XML DB by Oracle MultiMedia  Type ordsys.ordimage extracts EXIF metadata document from a JPG image
  • 44. The following embedded image metadata formats are supported by Oracle Multimedia:  EXIF (JPEG/TIFF - JEIDA)  IPTC-IIM (JPEG/TIFF – Adobe)  XMP (GIF/JPEG/TIFF – Adobe/RDF) http://www.adobe.com http://www.w3.org/RDF Wikipedia - EXIF
  • 45. ENABLE_HIERARCHY_RESMETADATA
  • 46. Metadata defined using an XML Schema  Metadata stored in a separate table  Table includes hidden column RESID  Enables join with RESOURCE_VIEW, PATH_VIEW  Applications query and update metadata directly  Improved Indexing  Metadata deleted when resource is deleted
  • 47. Document MIME type JPG Event Listener? EXIF EXIF Extended Event Handler? XML Schema? w/ USER XSD ? Extract JPG Extract JPG Extract JPG File info EXIF info USER metadata XDB$Resource XMLType Table XMLType Table
  • 49. Its about Time to wrap it Up
  • 50. Servlet ? MIME Type? Security ? XML Schema ? XDB Event ? Extention?
  • 51. 1. EVENT LISTENER • Package 2. EVENT HANDLERS • Procedures in “Event Listener” 3. RESOURCE CONFIGURATION FILE • XML File
  • 52. • General File Stuff turns out to be XML then… 4. XML SCHEMA REGISTRATION • dbms_xmlschema.register_schema 5. EXTRA USER DEFINED METADATA NEEDED • dbms_xmlschema.enable_hierarchy_resm etadata
  • 53. • XML DB - Beyond the Database, Fileserver Realm • Imagination is your limit, e.g.: - Extending “file” server with Text Search - Extending “file” server with ETL functionality • Extra options: database / fileserver interfacing • Based on standards • No cost option / all database versions
  • 54. URL: OTN XMLDB Sample Code  XFILES Version 5  Introduction to Oracle XML DB Repository Events  Oracle XML DB-based Mashup with Google Earth  Oracle XML DB Repository Features  XDB Utilities and more…
  • 55. Blog posts about:  Setting up logging in the XDB Repository  Package template HANDLE_XDB_EVENTS  Concepts & Howto’s for XDB Repository  Automatically shred content out of Windows Office (docx) into table columns  References to XLSX examples of Marc Bleron and Anton Scheffers