Leanpub Header

Skip to main content

How to build an Oracle database application

Quick but not dirty; with or without a front-end built with Oracle APEX or a Node.js framework like React, Angular or Vue.

Ever wondered how to build an Oracle database application in a better way? Problems with setting up your development team or process? Tired of doing too many things manually? You want to apply CI/CD/DevOps? Then this book is for you.

The author is letting you choose the price you pay for this book!

Pick Your Price...
PDF
EPUB
WEB
About

About

About the Book

This book presents you with a method to develop robust Oracle database applications where the focus is on software architecture, development team and process. And automation of course, hence quick but not dirty.

Price

Pick Your Price...

Minimum price

$27.99

$27.99

You pay

$27.99

Author earns

$22.39
$

All prices are in US $. You can pay in US $ or in your local currency when you check out.

EU customers: prices exclude VAT, which is added during checkout.

...Or Buy With Credits!

Number of credits (Minimum 2)

2
The author will earn $24.00 from your purchase!
You can get credits monthly with a Reader Membership

Author

About the Author

Gert-Jan Paulissen

I have been working as a developer since I graduated from university (Eindhoven, the Netherlands) in 1989. In 1996 I started to work with Oracle for various Dutch companies. In 2017 I moved to France with my French wife where I joined Capgemini Sogeti France as a senior test automation engineer and in 2019 I went as an Oracle expert to a software company from Paris. In 2021 I started my own company, Paulissoft. Besides programming I have another passion: playing the card game bridge.

Contents

Table of Contents

Foreword

Preface

  1. Why this book and why now?
  2. Who is this book for?
  3. How to read this book?
  4. Typographic conventions
  5. Please help improve this book!
  6. About the author
  7. IDesigning the build plan

1Introduction

  1. 1.1What’s in a name?
  2. 1.2Philosophy
  3. 1.3Standing on the shoulders of giants
  4. 1.4Tools, techniques and best practices
  5. Oracle Database and Oracle APEX
  6. Oracle SQL Developer Data Modeler
  7. Version control
  8. Maven
  9. Flyway
  10. Oracle SQL Developer
  11. utPLSQL
  12. Perl
  13. Ant
  14. DevOps
  15. 1.5Introducing Paulissoft Application Tools for Oracle (PATO)
  16. 1.6Conclusion

2Start me up

  1. 2.1Introduction
  2. 2.2Setting up the environment
  3. Database & APEX
  4. Maven
  5. Git
  6. Oracle SQL Developer
  7. Oracle SQLcl
  8. Oracle SQL Developer Data Modeler
  9. Perl
  10. 2.3Database configuration
  11. Virtual machine settings
  12. SQL*Net
  13. Creating the proxy user
  14. Creating the PATO schema
  15. Installing database objects
  16. Installing the PATO APEX application
  17. Upload spreadsheets

3Build plan essentials

  1. 3.1Introduction
  2. 3.2Scope of a build plan
  3. 3.3Software architecture
  4. Three-tier architecture
  5. Database structure
  6. Data model
  7. Business rules
  8. Logging
  9. Error handling
  10. Globalization
  11. 3.4The development team
  12. 3.5Development process
  13. DevOps
  14. Agile, DevOps and CI/CD
  15. What version?
  16. Parallel development
  17. Deployments
  18. Documentation
  19. 3.6Development tools
  20. IIImplementing the build plan

4Automation tooling

  1. 4.1Maven
  2. Build Tasks & Profiles
  3. Environment properties
  4. Sources
  5. POMs
  6. Application consisting of several software projects
  7. 4.2Jenkins

5Database migrations

  1. 5.1Why migrations?
  2. 5.2How does Flyway work?
  3. Callbacks
  4. Incremental migrations
  5. Repeatable migrations
  6. 5.3DML
  7. 5.4Preferred order of migrations
  8. 5.5Why not Liquibase?
  9. 5.6Project folder layout
  10. Directory apex
  11. Directory conf
  12. Directory db
  13. Mapping database structure to folder layout

6Oracle SQL Developer Data Modeler

  1. 6.1Best user experience on Windows
  2. 6.2Data Modeling related concepts
  3. Business Rules
  4. Surrogate keys
  5. Super and subtypes
  6. Many-to-many relations
  7. 6.3Best practices
  8. Configuration settings
  9. Use the PATO Custom Library and Custom Transformations Scripts
  10. Data Modeler Configuration & Version Control
  11. 6.4Tasks
  12. Design the logical and relational model
  13. Check the Design Rules
  14. Generate DDL
  15. Create incremental migration scripts

7Mapping architecture to code

  1. 7.1Business rules
  2. 7.2Business rule mapping
  3. Static Data Constraint Rules
  4. Dynamic Data Constraint Rules
  5. Change Event Rules with or without DML
  6. Authorization Rules
  7. 7.3Alternatives for checking complex business rules
  8. Standard views with a check option
  9. Refresh fast on statement
  10. De-normalization
  11. Conclusion
  12. 7.4Database object naming conventions
  13. 7.5Accessing database schema objects
  14. DATA
  15. EXT
  16. API
  17. UI
  18. 7.6Database Security
  19. Set-up context and privileges
  20. Add the policy
  21. Enable the policy
  22. Create a predicate function
  23. Create a procedure to set the context
  24. Set the context in the front-end

8Testing

  1. 8.1V-model of software development
  2. 8.2utPLSQL
  3. Introduction
  4. Best practices
  5. Examples
  6. Hands-on experience

9Debugging

  1. 9.1Why DBUG?
  2. 9.2History of DBUG
  3. DBUG C library
  4. DBUG PL/SQL library
  5. 9.3Later enhancements
  6. 9.4Installation

10Error handling

  1. 10.1An APEX error handling solution
  2. Oracle constraint violations
  3. A reserved PATO exception
  4. No translation found
  5. 10.2How to raise a custom error?
  6. DATA_API_PKG.RAISE_ERROR
  7. DATA_API_PKG.RAISE_ERROR_OVERLAP
  8. 10.3APEX messages
  9. 10.4How to store APEX messages?
  10. 10.5Conclusion

11Code quality

  1. 11.1Standard Oracle functionality
  2. PL/SQL warnings
  3. PL/Scope
  4. 11.2PATO code quality check

12Advanced Topics

  1. 12.1Collaboration
  2. APEX
  3. Database
  4. 12.2Multiple APEX application systems
  5. 12.3Uploading spreadsheet documents
  6. Using it in another application system
  7. 12.4Translating APEX applications

13Project set-up

  1. 13.1Folder layout
  2. 13.2Root folder
  3. 13.3Maven folder
  4. 13.4Apex folder
  5. Folder <app_X>/src/export
  6. Folder <app_X>/src/translate
  7. 13.5Configuration folder
  8. File env.properties
  9. File flyway-app.conf
  10. File apex.properties
  11. File db.properties
  12. File flyway-db.conf
  13. 13.6Database folder
  14. Folder <schema_X>/src/admin
  15. Folder <schema_X>/src/dml
  16. Folder <schema_X>/src/full
  17. Folder <schema_X>/src/incr
  18. 13.7Conclusion

14Continuous Deployment

  1. 14.1Requirements
  2. Automated
  3. Flexible
  4. Complete
  5. 14.2Install Jenkins
  6. 14.3Configure Jenkins
  7. Manage Plugins
  8. Configure System
  9. Manage Credentials
  10. Manage Nodes and Clouds
  11. 14.4Test the GitHub SSH connection
  12. 14.5Run the Jenkins deployment job
  13. Jenkins Templating Engine
  14. Create the pipeline job
  15. Build the pipeline job
  16. 14.6Conclusion
  17. IIITesting the build plan

15Example project 1, Sample Database Application

  1. 15.1Setting up the project structure
  2. Install the APEX Sample Database Application
  3. Cloning PATO
  4. Create an examples project
  5. The root POM
  6. The database POM
  7. The APEX POM
  8. 15.2Generate scripts
  9. Database
  10. APEX
  11. 15.3Re-install the application
  12. Database
  13. APEX
  14. 15.4Test the installation scripts
  15. 15.5Conclusion

16Example project 2, Incident Tracking

  1. 16.1Install the APEX Sample Database Application
  2. 16.2Modify the project structure
  3. 16.3Modify the Sample Database Application POMs
  4. Create a db/pom.xml
  5. Change the db/sample-database-application/pom.xml
  6. Create a db/incident-tracking/pom.xml
  7. Create an apex/pom.xml
  8. Change the apex/sample-database-application/pom.xml
  9. Create an apex/incident-tracking/pom.xml
  10. 16.4Generate scripts
  11. Database
  12. Load the data
  13. APEX
  14. 16.5Conclusion

17Example projects, Continuous Deployment

  1. 17.1Set up the project structure
  2. 17.2Setting up Jenkins
  3. 17.3Conclusion

Afterword

  1. Appendices

Appendix A - Custom transformations

Appendix B - Jenkins installation

  1. Installation of Jenkins as a service on Linux
  2. General
  3. Install Jenkins
  4. Installation of Jenkins with Docker Compose
  5. Post install actions
  6. Install plugins automatically
  7. Install plugins manually
  8. Admin user
  9. Final steps

Appendix C - PATO and Transferware repositories

Index

Get the free sample chapters

Click the buttons to get the free sample in PDF or EPUB, or read the sample online here

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub