Thursday, August 20, 2015

Expert Oracle Application Express (second edition) available

During my holiday Apress released the second edition of Expert Oracle Application Express.
In the second edition we not only updated the content to APEX 5.0, but there're some new chapters in too from new authors. In total you get 14 chapters from 14 different authors.
I believe it's a very nice book with great content and it's for a good cause. Roel describes it very nicely in his blog post "the goal is to raise as much money as we can for the funds that support the relatives of two of the greatest Oracle APEX Development Team members who passed away a few years ago: Carl Backstrom and Scott Spadafore."

You can get it from the Apress website or from Amazon. Happy reading :)


Ravi de Silva said...

Dimitry, since you are an APEX Guru, can you pls answer my queries below:

We are evaluating the possibility of developing a Point of Sale (POS) system for a local supermarket chain using Oracle APEX. The DB is going to be Oracle 11g R2 standard Edition One.

We are new to APEX and need to know whether we can achieve the following:

A POS system should look like this:

i.e. The system should occupy the full screen. Windows taskbar not visible. As you can see it is like a desktop application. i.e. Not like a web-application where the application is embedded inside a web-page. In that scenario the web URL will be present at the top, like shown below:

Our questions are:

(1.) Can we create an APEX application, which, when you click an icon in the desktop, will point to a URL. URL will open in a web-page. But like Oracle Forms runs in the web, it will open the application in a separate window outside the web-page and maximize to fit the full area of the screen??? Is this possible, or will an APEX application always display with a web-page URL at the top (like the 2nd image above)???

(2.) Can we use Javascript inside APEX to do things like displaying alert dialog boxes, clocks, dynamic drop-down menus and date validations??

(3.) Is an APEX application deployed inside the 11g SE1 DB??? i.e. We cannot separate the Application from the DB machine??? Does that mean we need a very powerful machine, because both the application and DB are in one machine?

(4.) How are reports generated in APEX?? Can you create the report output as a PDF and display in the client web-browsers???

(5.) Can we create rich UI components like buttons with graphics, round buttons, which are used in POS systems? Are these types built into APEX???

Dimitri Gielis said...

Hi Ravi,

I could say "Sure you can develop a POS in APEX", but why don't you build a quick POC and see if it works for you?
That is what I would do...

Here're the answer to your questions:
1) You can run an APEX app in full screen, like any other web app, but it depends the browser how to make it full screen.

2) Sure you can use JavaScript. APEX can do everything you would be able to develop in an HTML5 website/webapp.
The only difference is that APEX comes with many things declarative (out-of-the-box features for modal, drop-downs etc) but if some you don't like or they are not available, you can build those yourself as an APEX plugin, or do a custom integration of the JavaScript etc.

3) An APEX app consists out of meta-data which is stored inside the Oracle Database. When you request a page, this meta-data is used to generate the HTML, JavaScript etc. You would still need a webserver e.g. Tomcat with for example ORDS (Oracle REST Data Services), but you are right that typically an APEX app is scaled on the database tier.
APEX itself is only a marginal overhead, all the tuning is most of the times done in your own queries and procedures.
I can't answer which type of machine you need, it all depends how many transactions and requests you will do at a point in time, but typically you could start with a low budget machine, which Oracle runs good on and see how things go.
Next I would do some scalability tests to see what your breakpoint is.

4) Reports... APEX comes standard with XLS-FO integration, but many people find that hard. The other Oracle alternative is BI Publisher, but this comes with a serious license cost. Many people want more additional reporting capabilities, so we at APEX R&D build APEX Office Print (AOP) - which allows you to create your template in Word, Excel or Powerpoint and merge it with your data through an APEX plugin. The output can be the same as your template (Word, Excel, Powerpoint) or it can be PDF, HTML5, ... Although I might be biased, in my opinion it's one of the easiest solutions to do printing in APEX.

5) APEX 5 comes with the Universal Theme (UT) which has many UI Components and options, but if you prefer a different look and feel you could adapt UT or build your own theme.

Hope that helps,