SlideShare a Scribd company logo
XFILES – The APEX 4 Version




          XFILES
          The APEX 4 Version
          The truth is in there…


          Roel Hartman & Marco Gralike
What about me?

• Oracle since v5, Forms 2.3, Case*Designer etc
• Presenter at UKOUG (4x), OOW (3x), Collab (1x),
   ODTUG (2x), OBUG, OGH, etc..
• Oracle ACE Director [DB Dev]
• Co-author of Expert Oracle Application Express
What about me?

• Oracle DBA since v6 (1993), XML-DB since (2003)
• Presenter (among others): UKOUG, Oracle Open
    World,MOW, Hotsos, OGH, OPP, ODTUG, UKOUG
•   Oracle 11gRx database, XBRL Extension Beta trails
•   Oracle ACE Director [XML-DB]
•   OakTable member
•   Customer Advisory Member Board XML-DB Oracle 12x
History
XFILES - XMLDB
• XML-DB Demo Application
    GUI based on AJAX / HTML
    Current version XFILES version V
• Mark Drake
    Senior Product Manager
    Oracle XML-DB
• Demonstrates (among others)
    Native Database WebServices (NDWS) / SOA
    Geo Information based XML handling
XFILES - APEX
• APEX GUI
• W/ help of Carl Backstrom
    XFILES version IV
• Oracle Open World 2008
• Demonstrated Combined Power
    APEX          (V 3)
    XML-DB        (V 11.1)
  Versioning & Lightweight Application Security
XML-DB
• Based on XML (&Related) Standards
• XML Handling
    Stores, Consumes, Generates, Validation
• XDB Repository
    HTTP(s), FTP & WebDAV
    Repository Events
• Supports Security (ACL’s) & Versioning
• XPath V2, XSLT V1, XQuery V1, XBRL
Features Used
• XDB Repository
• Versioning, CheckIn/Out functionality
    DBMS_XDB_VERSION
• Resource (file, folder) manipulation
    DBMS_XDB
• Default XDB ACL Driven Security
XDB Repository Resources
• Access to XDB Repository
  PATH_VIEW, RESOURCE_VIEW
• XDB$Resource
  XDBResource.xsd
  XMLType Table (Schema based XML Table)
• Select, Update, Delete
  UNDER_PATH, EQUALS_PATH
Version Control

                       Lock the      Make it
Create Resource
                       Resource     Versioned




                      Update the
 Check it Out                       Check It In
                       Resource




                      UnLock the
                       Resource
Process Flow
    # Create file / dbms_xdb.createResource
1. dbms_xdb.lockResource
2. dbms_xdb_version.makeVersioned
3. dbms_xdb_version.checkOut
     # Update file content
4. dbms_xdb_version.checkIn
5. dbms_xdb.unlockResource
     # Done…
Create Versioned Resource




Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
Create Versioned Resource




Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
Create Versioned Resource




Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
Create Versioned Resource




Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
Create Versioned Resource




Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
Create Versioned Resource




Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
Helper Function: getVersionHistory




Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
XMLTable Statement




Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
XMLTable Statement




Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
XMLTable Statement




Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
XMLTable Statement




Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
XMLTable Statement




Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
Demo
Version Control
•   APEX has no files – at least, not a lot
•   APEXExport Utility
•   Export from Builder
•   Export from SQL Developer
              Version Control for APEX isn’t that
              different from PL/SQL !
Version Control
 • apex_util.export_application
 • apex_util.export_application_page
 • apex_util.export_application_component



Issues :
• undocumented and unsupported
• USER instead of CURRENT_USER (4.1?)
• Developed for SQL Developer/Plus
Version Control
 •   Export functions of wwv_flow_gen_api2
 •   Using wwv_flow_css_repository
 •   Using wwv_flow_html_repository
 •   Used in the Export utilities of the builder




Issues :
• Even more undocumented and unsupported
Demo
Buy   This   Book
Conclusions
• APEX / XMLDB
  Extreme Powerful Combination
• Functionality
  APEX  Powerful Database Driven Mature
        Web Development Environment
  XMLDB Versioning / Security Build-in

  Easy PL/SQL based Automation Possible
Questions
Thank you




            34
Contribute !
Contact




Logica | Meander 901 P.O. Box 7015 | 6801 HA Arnhem | The Netherlands | www.logica.com
Contact: Roel Hartman - Lead Technical Architect Oracle: +31 (0) 26 3765 000 M: +31 (0) 6 2954 3729 E: roel.hartman@logica.com

AMIS Services BV | Edisonbaan 15 P.O. Box 24 | 3439 MN Nieuwegein | The Netherlands | www.amis.nl
Contact: Marco Gralike – Principal Database Consultant: +31 (0) 30 6016000 M: +31 (0) 6 29042385 E: marco.gralike@amis.nl

More Related Content

What's hot

ORM, JPA, & Hibernate Overview
ORM, JPA, & Hibernate OverviewORM, JPA, & Hibernate Overview
ORM, JPA, & Hibernate Overview
Brett Meyer
 
Iasi code camp 12 october 2013 jax-rs-jee-ecosystem - catalin mihalache
Iasi code camp 12 october 2013   jax-rs-jee-ecosystem - catalin mihalacheIasi code camp 12 october 2013   jax-rs-jee-ecosystem - catalin mihalache
Iasi code camp 12 october 2013 jax-rs-jee-ecosystem - catalin mihalache
Codecamp Romania
 
Hibernate in XPages
Hibernate in XPagesHibernate in XPages
Hibernate in XPages
Toby Samples
 

What's hot (20)

Database Change Management as a Service
Database Change Management as a ServiceDatabase Change Management as a Service
Database Change Management as a Service
 
Java SE 7 New Features and Enhancements
Java SE 7 New Features and EnhancementsJava SE 7 New Features and Enhancements
Java SE 7 New Features and Enhancements
 
Flyway (33rd Degree)
Flyway (33rd Degree)Flyway (33rd Degree)
Flyway (33rd Degree)
 
ORM, JPA, & Hibernate Overview
ORM, JPA, & Hibernate OverviewORM, JPA, & Hibernate Overview
ORM, JPA, & Hibernate Overview
 
Liquibase & Flyway @ Baltic DevOps
Liquibase & Flyway @ Baltic DevOpsLiquibase & Flyway @ Baltic DevOps
Liquibase & Flyway @ Baltic DevOps
 
Continuous DB Changes Delivery With Liquibase
Continuous DB Changes Delivery With LiquibaseContinuous DB Changes Delivery With Liquibase
Continuous DB Changes Delivery With Liquibase
 
Iasi code camp 12 october 2013 jax-rs-jee-ecosystem - catalin mihalache
Iasi code camp 12 october 2013   jax-rs-jee-ecosystem - catalin mihalacheIasi code camp 12 october 2013   jax-rs-jee-ecosystem - catalin mihalache
Iasi code camp 12 october 2013 jax-rs-jee-ecosystem - catalin mihalache
 
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
 
Avik_RailsTutorial
Avik_RailsTutorialAvik_RailsTutorial
Avik_RailsTutorial
 
Restful风格ž„web服务架构
Restful风格ž„web服务架构Restful风格ž„web服务架构
Restful风格ž„web服务架构
 
RubyonRails
RubyonRailsRubyonRails
RubyonRails
 
SE2016 - Java EE revisits design patterns 2016
SE2016 - Java EE revisits design patterns 2016SE2016 - Java EE revisits design patterns 2016
SE2016 - Java EE revisits design patterns 2016
 
Hibernate in XPages
Hibernate in XPagesHibernate in XPages
Hibernate in XPages
 
Leveraging Open Source for Database Development: Database Version Control wit...
Leveraging Open Source for Database Development: Database Version Control wit...Leveraging Open Source for Database Development: Database Version Control wit...
Leveraging Open Source for Database Development: Database Version Control wit...
 
mashraqi_farhan
mashraqi_farhanmashraqi_farhan
mashraqi_farhan
 
Rajnish singh(presentation on oracle )
Rajnish singh(presentation on  oracle )Rajnish singh(presentation on  oracle )
Rajnish singh(presentation on oracle )
 
Liquibase for java developers
Liquibase for java developersLiquibase for java developers
Liquibase for java developers
 
Scala play-framework
Scala play-frameworkScala play-framework
Scala play-framework
 
Web Performance First Aid
Web Performance First AidWeb Performance First Aid
Web Performance First Aid
 
Agile Database Development with Liquibase
Agile Database Development with LiquibaseAgile Database Development with Liquibase
Agile Database Development with Liquibase
 

Similar to XFILES, the APEX 4 version - The truth is in there

UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
Ulrich Krause
 
Biswajit_Sarkar_Database_Administrator
Biswajit_Sarkar_Database_AdministratorBiswajit_Sarkar_Database_Administrator
Biswajit_Sarkar_Database_Administrator
Biswajit Sarkar
 

Similar to XFILES, the APEX 4 version - The truth is in there (20)

XFILES, The APEX 4 version - The truth is in there
XFILES, The APEX 4 version - The truth is in thereXFILES, The APEX 4 version - The truth is in there
XFILES, The APEX 4 version - The truth is in there
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
 
Expertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use CasesExpertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use Cases
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics
 
Dockerizing Oracle Database
Dockerizing Oracle Database Dockerizing Oracle Database
Dockerizing Oracle Database
 
Apex ace update
Apex ace updateApex ace update
Apex ace update
 
All your data belong to us - The Active Objects Plugin
All your data belong to us - The Active Objects PluginAll your data belong to us - The Active Objects Plugin
All your data belong to us - The Active Objects Plugin
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
 
DevOps tools for winning agility
DevOps tools for winning agilityDevOps tools for winning agility
DevOps tools for winning agility
 
Biswajit_Sarkar_Database_Administrator
Biswajit_Sarkar_Database_AdministratorBiswajit_Sarkar_Database_Administrator
Biswajit_Sarkar_Database_Administrator
 
APEX Application Lifecycle and Deployment 20220714.pdf
APEX Application Lifecycle and Deployment 20220714.pdfAPEX Application Lifecycle and Deployment 20220714.pdf
APEX Application Lifecycle and Deployment 20220714.pdf
 
[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...
[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...
[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...
 
Presentation
PresentationPresentation
Presentation
 
Oracle Database on Docker - Best Practices
Oracle Database on Docker - Best PracticesOracle Database on Docker - Best Practices
Oracle Database on Docker - Best Practices
 
Developing Kafka Streams Applications with Upgradability in Mind with Neil Bu...
Developing Kafka Streams Applications with Upgradability in Mind with Neil Bu...Developing Kafka Streams Applications with Upgradability in Mind with Neil Bu...
Developing Kafka Streams Applications with Upgradability in Mind with Neil Bu...
 
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...
 
Evolutionary Database Design
Evolutionary Database DesignEvolutionary Database Design
Evolutionary Database Design
 
Unlocking the power of the APEX Plugin Architecture
Unlocking the power of the APEX Plugin ArchitectureUnlocking the power of the APEX Plugin Architecture
Unlocking the power of the APEX Plugin Architecture
 
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13cClone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPages
 

More from Roel Hartman

Tales from a Parallel Universe: Using Oracle 11gR2's Edition Based Redefiniti...
Tales from a Parallel Universe: Using Oracle 11gR2's Edition Based Redefiniti...Tales from a Parallel Universe: Using Oracle 11gR2's Edition Based Redefiniti...
Tales from a Parallel Universe: Using Oracle 11gR2's Edition Based Redefiniti...
Roel Hartman
 
Developing A Real World Logistic Application With Oracle Application - UKOUG ...
Developing A Real World Logistic Application With Oracle Application - UKOUG ...Developing A Real World Logistic Application With Oracle Application - UKOUG ...
Developing A Real World Logistic Application With Oracle Application - UKOUG ...
Roel Hartman
 

More from Roel Hartman (20)

Wizard of ORDS
Wizard of ORDSWizard of ORDS
Wizard of ORDS
 
APEX Bad Practices
APEX Bad PracticesAPEX Bad Practices
APEX Bad Practices
 
Tweaking the interactive grid
Tweaking the interactive gridTweaking the interactive grid
Tweaking the interactive grid
 
Docker for Dummies
Docker for DummiesDocker for Dummies
Docker for Dummies
 
A deep dive into APEX JET charts
A deep dive into APEX JET chartsA deep dive into APEX JET charts
A deep dive into APEX JET charts
 
My Top 5 APEX JavaScript API's
My Top 5 APEX JavaScript API'sMy Top 5 APEX JavaScript API's
My Top 5 APEX JavaScript API's
 
Mastering universal theme
Mastering universal themeMastering universal theme
Mastering universal theme
 
APEX Developers : Do More With LESS !
APEX Developers : Do More With LESS !APEX Developers : Do More With LESS !
APEX Developers : Do More With LESS !
 
Ten Tiny Things To Try Today - Hidden APEX5 Gems Revealed
Ten Tiny Things To Try Today - Hidden APEX5 Gems RevealedTen Tiny Things To Try Today - Hidden APEX5 Gems Revealed
Ten Tiny Things To Try Today - Hidden APEX5 Gems Revealed
 
Best of both worlds: Create hybrid mobile applications with Oracle Applicatio...
Best of both worlds: Create hybrid mobile applications with Oracle Applicatio...Best of both worlds: Create hybrid mobile applications with Oracle Applicatio...
Best of both worlds: Create hybrid mobile applications with Oracle Applicatio...
 
APEX printing with BI Publisher
APEX printing with BI PublisherAPEX printing with BI Publisher
APEX printing with BI Publisher
 
Troubleshooting APEX Performance Issues
Troubleshooting APEX Performance IssuesTroubleshooting APEX Performance Issues
Troubleshooting APEX Performance Issues
 
Automated testing APEX Applications
Automated testing APEX ApplicationsAutomated testing APEX Applications
Automated testing APEX Applications
 
5 Cool Things you can do with HTML5 and APEX
5 Cool Things you can do with HTML5 and APEX5 Cool Things you can do with HTML5 and APEX
5 Cool Things you can do with HTML5 and APEX
 
Striving for Perfection: The Ultimate APEX Application Architecture
Striving for Perfection: The Ultimate APEX Application ArchitectureStriving for Perfection: The Ultimate APEX Application Architecture
Striving for Perfection: The Ultimate APEX Application Architecture
 
Done in 60 seconds - Creating Web 2.0 applications made easy
Done in 60 seconds - Creating Web 2.0 applications made easyDone in 60 seconds - Creating Web 2.0 applications made easy
Done in 60 seconds - Creating Web 2.0 applications made easy
 
Tales from a Parallel Universe: Using Oracle 11gR2's Edition Based Redefiniti...
Tales from a Parallel Universe: Using Oracle 11gR2's Edition Based Redefiniti...Tales from a Parallel Universe: Using Oracle 11gR2's Edition Based Redefiniti...
Tales from a Parallel Universe: Using Oracle 11gR2's Edition Based Redefiniti...
 
Creating sub zero dashboard plugin for apex with google
Creating sub zero dashboard plugin for apex with googleCreating sub zero dashboard plugin for apex with google
Creating sub zero dashboard plugin for apex with google
 
Integration of APEX and Oracle Forms
Integration of APEX and Oracle FormsIntegration of APEX and Oracle Forms
Integration of APEX and Oracle Forms
 
Developing A Real World Logistic Application With Oracle Application - UKOUG ...
Developing A Real World Logistic Application With Oracle Application - UKOUG ...Developing A Real World Logistic Application With Oracle Application - UKOUG ...
Developing A Real World Logistic Application With Oracle Application - UKOUG ...
 

Recently uploaded

Recently uploaded (20)

SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 

XFILES, the APEX 4 version - The truth is in there

  • 1. XFILES – The APEX 4 Version XFILES The APEX 4 Version The truth is in there… Roel Hartman & Marco Gralike
  • 2. What about me? • Oracle since v5, Forms 2.3, Case*Designer etc • Presenter at UKOUG (4x), OOW (3x), Collab (1x), ODTUG (2x), OBUG, OGH, etc.. • Oracle ACE Director [DB Dev] • Co-author of Expert Oracle Application Express
  • 3. What about me? • Oracle DBA since v6 (1993), XML-DB since (2003) • Presenter (among others): UKOUG, Oracle Open World,MOW, Hotsos, OGH, OPP, ODTUG, UKOUG • Oracle 11gRx database, XBRL Extension Beta trails • Oracle ACE Director [XML-DB] • OakTable member • Customer Advisory Member Board XML-DB Oracle 12x
  • 5. XFILES - XMLDB • XML-DB Demo Application GUI based on AJAX / HTML Current version XFILES version V • Mark Drake Senior Product Manager Oracle XML-DB • Demonstrates (among others) Native Database WebServices (NDWS) / SOA Geo Information based XML handling
  • 6. XFILES - APEX • APEX GUI • W/ help of Carl Backstrom XFILES version IV • Oracle Open World 2008 • Demonstrated Combined Power APEX (V 3) XML-DB (V 11.1) Versioning & Lightweight Application Security
  • 7. XML-DB • Based on XML (&Related) Standards • XML Handling Stores, Consumes, Generates, Validation • XDB Repository HTTP(s), FTP & WebDAV Repository Events • Supports Security (ACL’s) & Versioning • XPath V2, XSLT V1, XQuery V1, XBRL
  • 8. Features Used • XDB Repository • Versioning, CheckIn/Out functionality DBMS_XDB_VERSION • Resource (file, folder) manipulation DBMS_XDB • Default XDB ACL Driven Security
  • 9. XDB Repository Resources • Access to XDB Repository PATH_VIEW, RESOURCE_VIEW • XDB$Resource XDBResource.xsd XMLType Table (Schema based XML Table) • Select, Update, Delete UNDER_PATH, EQUALS_PATH
  • 10. Version Control Lock the Make it Create Resource Resource Versioned Update the Check it Out Check It In Resource UnLock the Resource
  • 11. Process Flow # Create file / dbms_xdb.createResource 1. dbms_xdb.lockResource 2. dbms_xdb_version.makeVersioned 3. dbms_xdb_version.checkOut # Update file content 4. dbms_xdb_version.checkIn 5. dbms_xdb.unlockResource # Done…
  • 12. Create Versioned Resource Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
  • 13. Create Versioned Resource Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
  • 14. Create Versioned Resource Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
  • 15. Create Versioned Resource Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
  • 16. Create Versioned Resource Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
  • 17. Create Versioned Resource Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
  • 18. Helper Function: getVersionHistory Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
  • 19. XMLTable Statement Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
  • 20. XMLTable Statement Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
  • 21. XMLTable Statement Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
  • 22. XMLTable Statement Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
  • 23. XMLTable Statement Original source, with permission, by Mark D Drake, Senior Product Manager, Oracle USA
  • 24. Demo
  • 25.
  • 26. Version Control • APEX has no files – at least, not a lot • APEXExport Utility • Export from Builder • Export from SQL Developer Version Control for APEX isn’t that different from PL/SQL !
  • 27. Version Control • apex_util.export_application • apex_util.export_application_page • apex_util.export_application_component Issues : • undocumented and unsupported • USER instead of CURRENT_USER (4.1?) • Developed for SQL Developer/Plus
  • 28. Version Control • Export functions of wwv_flow_gen_api2 • Using wwv_flow_css_repository • Using wwv_flow_html_repository • Used in the Export utilities of the builder Issues : • Even more undocumented and unsupported
  • 29. Demo
  • 30. Buy This Book
  • 31. Conclusions • APEX / XMLDB Extreme Powerful Combination • Functionality APEX Powerful Database Driven Mature Web Development Environment XMLDB Versioning / Security Build-in Easy PL/SQL based Automation Possible
  • 33. Thank you 34
  • 35. Contact Logica | Meander 901 P.O. Box 7015 | 6801 HA Arnhem | The Netherlands | www.logica.com Contact: Roel Hartman - Lead Technical Architect Oracle: +31 (0) 26 3765 000 M: +31 (0) 6 2954 3729 E: roel.hartman@logica.com AMIS Services BV | Edisonbaan 15 P.O. Box 24 | 3439 MN Nieuwegein | The Netherlands | www.amis.nl Contact: Marco Gralike – Principal Database Consultant: +31 (0) 30 6016000 M: +31 (0) 6 29042385 E: marco.gralike@amis.nl