Jump to ratings and reviews
Rate this book

Oracle APEX Best Practices

Rate this book
Make the most of Oracle Apex with this guide to best practices. It will help you look at the bigger picture when building applications and take more elements into account such as security and performance. Overview This book is filled with best practices on how to make the most of Oracle APEX. Developers beginning with application development as well as those who are experienced will benefit from this book. You will need to have basic knowledge of SQL and PL/SQL to follow the examples in this book. Have you ever wanted to create real-world database applications? In this book you're not only getting APEX best practices, but will also take into account the total environment of an APEX application and benefit from it. "Oracle APEX Best Practices" will guide you through the development of real-world applications. It will give you a broader view of APEX. The various aspects include setting up APEX environment, testing and debugging, security, and getting the best out of SQL and PL/SQL. In six distinct chapters you will learn about different features of Oracle APEX as well as SQL and PL/SQL. Do you maximize the capabilities of Oracle APEX? Do you use all the power that SQL and PL/SQL have to offer? Do you want to learn how to build a secure, fully functional application? Then this is the book you'll need. "Oracle Best Practices" is where practical development begins!

298 pages, Paperback

First published August 1, 2012

6 people want to read

About the author

Alex Nuijten

5 books

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
4 (80%)
4 stars
1 (20%)
3 stars
0 (0%)
2 stars
0 (0%)
1 star
0 (0%)
Displaying 1 - 2 of 2 reviews
7 reviews1 follower
January 23, 2013
Front page - title & byline to the point; three author contribution - nice to keep things balanced.  I'd probably buy it without looking at the contents. Sometimes it's a shame not to still discover these books for the first time on shelves.

Ubiquitous scenic photograph included - that I'm sure the authors had no influence on ;-)


Chapter 1, Prepare and Build

Not just your obligatory first chapter on setting up APEX - it covers plenty of best practices just in this first chapter. It doesn't go into a huge level of detail - it's not going to be the one-stop-shop for all information, but awareness is key. For this reason it is actually quite a large chapter!

Some highlights:
web server choices; multiple application framework; page design ideas based on table configuration


Chapter 2, Leveraging the database

Instrumentation is what every application should have - the APEX team includes some by default, and the database data dictionary views are also considered instrumentation. This chapter first covers Tyler Muth's logger package - although I would have liked to have read some use case scenarios to really seal the deal.

It then breaks down how to speed up your lookup tables with hash clusters and/or index organised tables - don't sound too scared. It does scratch the surface and explains it fairly well, but I recommend further research.

I think analytic functions are a little like learning to ride a bike. The authors do fairly well in explaining what they're all about, then provide some good examples - especially a cool one combining row_number() and pivot, and another on the essential string aggregate listagg(). In the caveat section, they show an example of analytic overkill - using row_number() to identify duplicates when "group by" will do. However, there is an advantage in using analytics if you need to identify the primary keys as well.

The authors then cover group by features such as grouping & rollup/cube.
Quality goes on with describing how to use scheduled jobs to encapsulate longer running jobs the user does not need to wait for; then looks at another favourite of mine - pipelined functions.
The chapter finishes with a look at ordsys for image processing & context indexing for document content searching just like google.

Best. chapter. ever.

To illustrate how useful & ubiquitous this chapter is, I already used most of these features in a recent APEX project - instrumentation, pipelining, analytics, ordsys, jobs.

Some highlights (I think I knew what these were going to be just by reading the summary):
instrumentation, analytical functions, grouping, pipelined functions, image proccesing, context indexing


Chapter 3, Printing

The most common question with the least definitive answer.

It quickly turned into a reference manual installation guide, but why not? - it explains the process well. There are good nuggets of information in this chapter, just depends on what you're looking for: BI Publisher, Apache FOP, Oracle Reports, Cocoon, JasperReports & two plug-ins, Reports to PDF & Embedded PDF.

My only complaint - there was only a brief note on the 32k limit for report columns. This means images you source dynamically from the database must be less than 22k + message fluff. This is what I experienced in 4.1, and it would have been nice to have dedicated paragraph on the matter - but there is plenty on the web!

I spoke too soon!! Writing this as I went along, I came to a brilliant summary of the 32K limit.

Some highlights:
incorporating images, Print API, suggested alternatives


Chapter 4, Security

Good intro, and great quote to start "Oracle Application Express is secure, but developers can make it insecure"

It covers functional settings, wide-ranging technical aspects - The first half covers administration aspects that you won't find in my APEX Security presentation - they didn't really have the sizzle a presentation needs ;-)

The second half covers the tools a developer needs to be aware of. It has great coverage for cross site scripting (XSS). For added humour, the authors referenced an XKCD comic to illustrate SQL injection. A few authorisation aspects not normally covered were in there. A couple of third party suggestions added to the end.

Some highlights:
VPD, APEX Listener, XSS


Chapter 5, Debugging & Troubleshooting

Starts with good detail on debugging in APEX. Later some browser extensions are mentioned - but I prefer the inspection tools native to Chrome.
It has only a small section on error handling, but really covers or at least mentions everything an APEX developer should be aware of.

Some highlights:
remote debugging, JavaScript console wrapper


Chapter 6, Deploy and Maintain

Another topic that probably needs more good published content, and the authors again do a good job.

Given the quality of the other chapters, I was looking forward to a deeper discussion regarding application IDs, particularly related to Interactice Reports.
They cover feedback well, but miss migrating it between environments.
They also mention my favourite APEX activity report though - Weighted Page Performance.
In regard to pro-active monitoring, I think error handling should have been be covered - with this we could log errors and actively notify the development team before the user picks up the phone to support.

Some highlights:
Version control, Feedback


Appendix, Database cloud service and APEX 4.2

The appendix, while probably vestigial in humans, here includes some interesting supplementary information on the Oracle Cloud Service, RESTful web services & a super quick mention of the data load feature in SQL Workshop.


Summary

Buy this book. Perfect information if you are intermediate to advanced, but what should be a required read for all APEX technologists. Kudos to the authors & publisher.
8 reviews
January 25, 2013
Wie bei jedem Buch über APEX beginnt auch dieses mit einem Kapitel über die Geschichte von Apex. Nicht unerwähnt bleibt dabei die stetige Weiterentwicklung durch Oracle und die damit verbundene Stärkung als Entwicklungsumgebung, die auch in Zukunft einen festen Bestandteil im Umfeld der Webanwendungen haben wird. Nach der Geschichtsstunde werden in knappen, aber leicht verständlichen Schritten die verschiedenen Installationsmöglichkeiten aufgezählt und erklärt. Anschließend beschreibt die Einführung ein paar Datenbankgrundlagen, das Einrichten eines Workspaces, die wichtige Seite 0 einer Applikation, die Struktur von “Multiple Applications” und natürlich, wie eine Anwendung erzeugt wird.

In Kapitel 2 geht es allein um die Datenbank. Man wird in die funktionsweise von Lookup Tabellen eingeführt und lernt etwas zu Analytischen und Aggregat Funktionen, bevor das Kapitel 3 wichtige Informationen zum Drucken bereitstellt. Gerade das Thema “Drucken” war in den ersten APEX Versionen schwierig, oder teuer, oder beides. In den jüngsten Versionen hat APEX eine Menge dazugelernt, und auf dem Softwaremarkt gibt es die eine oder andere Erweiterung, die APEX beim Drucken und Reporten unterstützt.

Kapitel 4 behandelt das sehr wichtige Thema “Sicherheit”. Es geht unter anderem um die Absicherung der Datenbank selbst, in Form von VPD – Virtual Private Database, als auch die Absicherung der APEX Anwendungen. VPD ist ein Feature der Enterprise Edition von Oracle. Bei der Absicherung von APEX Anwendungen werden so wichtige Dinge wie SQL Injections, URL tampering und verschiedene Browserattacken behandelt. Ebenso wird erwähnt, wie der HTTP Server, das Embedded PL/SQL Gateway und der Oracle APEX Listener abgesichert werden. Nicht vergessen wurde die sichere Behandlung von Application Items, um am Ende des Kapitels auf Tools einzugehen, die die Sicherheit der Anwendung überprüfen können.

Was ist fast genauso wichtig, wie das Thema “Sicherheit”? In Kapitel 5 geht es um Debugging und Fehlerbehandlung. Es werden nicht nur die in APEX vorhandenen Möglichkeiten besprochen, sondern auch auf die Firefox Erweiterung “Firebug” eingegangen. Ich selbst verwende diese Erweiterung sehr gerne, um z.B. beim entwickeln mit APEX und AJAX genauer hinschauen zu können.

Im letzten Kapitel geht es dann, wie sollte es anders sein, um das Bereitstellen einer APEX Anwendung. Dabei geht das Kapitel auf jede mögliche Art ein, eine Anwendung zu veröffentlichen. Ein sehr wichtiger Punkt, der in diesem Kapitel ebenfalls behandelt wird, ist das Thema “Versionskontrolle”. Gerade wenn man mit mehreren Entwicklern an einer Anwendung arbeitet, ist es immer gut, verschiedene Versionsstände zur Kontrolle zu behalten. Und noch ein Feature, welches ich seit einiger Zeit sehr gerne verwende, wird erklärt. Es geht darum, in einer erstellen Anwendung die Möglichkeit einzurichten, Feedback abzugeben und zu behandeln. Die Anwender einer Anwendung bekommen so ein Hilfsmittel an die Hand, dem Entwickler sehr schnell und ohne viel Aufwand Feedback zu geben. Das Kapitel 6 wird abgerundet mit einem Einblick in den Bereich “Monitor Activity” einer APEX Umgebung. Dort gibt es verschiedene Einblicke in die Performance einer Anwendung.

Als Anhang gibt es eine kurze Einführung in die Oracle Cloud und welche Rolle APEX darin spielt. Leider ist dies nur ein kurzer Anriss, was aber daran liegen kann, dass diese Features gerade erst seit ein paar Wochen öffentlich verfügbar sind und das Buch einen gewissen Vorlauf hat. Dafür enthält der Anhang noch eine Erklärung der “RESTful web services“. Abgerundet wird das Buch von einem umfangreichen Index am Ende.

Zusammenfassung

Das Buch ist nichts für APEX Anfänger. Wer Grundlagen und leichte Beispiele für die Entwicklung von APEX Anwendungen sucht, ist hier falsch. Dafür gibt es besser passende Bücher. Das Buch möchte häufig auftauchende Fragen klären und Tipps für die Praxis geben. Und das gelingt ihm ganz gut. Die Themen, die es behandelt, werden ausführlich erklärt. Man muss das Buch nicht von Anfang bis Ende durchlesen, sondern kann dort einsteigen, wo man Fragen hat, die es zu klären gibt. Ich hätte mir noch etwas mehr Inhalt zum Thema APEX und Oracle Cloud gewünscht. Weshalb dies so kurz gekommen ist, habe ich im Text oben beschrieben.

Wenn noch jemand Fragen zum Buch hat, so können diese in den Kommentaren gestellt werden. Ich werde dann versuchen, diese zu beantworten.

Buchlink
Displaying 1 - 2 of 2 reviews

Can't find what you're looking for?

Get help and learn more about the design.