Archive for November, 2007

Custom authentication in Apex (part 1)

Another word for authentication is acces control.
Authentication is the mechanism to verify the user’s identity and
provide access to a system or application based on the credentials
entered by the user. Authorization, on the other hand, says something about the degree of access granted to resources.

For
authentication, different methods exist in Apex. The most basic one is
‘no authentication’,  which is not desirable in most cases. No
authentication means ‘everyone can enter’. Not good.

The two other out-of-the-box authentication methods are Application Express and database authentication.
The first is a built-in mechanism which is customizable to a certain
degree. The second just uses the accounts present in the database to
authenticate. Mind you, only to authenticate. Any query or DML against
the database will go through the APEX_PUBLIC_USER and the schema
defined in your application. So you are not logged in to the underlying database with that database user!
Only in the application itself. There is another way, which uses the
OID or another LDAP mechanism. This is outside the scope of this post.

In fact, the only difference between the configuration of Apex and database authentication is the keyword in the Authentication Function field. If you enter -BUILTIN- here. Apex will be using Application Express authentication. Change it to -DBACCOUNT-
and Apex uses the database authentication. So the authentication
functions are built-in, but the schemes are not. They’re just
pre-configured, and that might be confusing.

More
interesting, however, is custom authentication. What you do here, is
use a database function which is called in the logon process. This
function handles the authentication for you, and returns true or false.
Because you define the function, you can be as flexible as you like: 
create your own table with application users, where you store usernames
and passwords, but also the number of invalid logins, login policies,
the users’ department and any other kind of information you might need.
Need auditing? No problem! Hook on to an existing authentication
process? Can do!

 
By now I hope you are pretty curious how this all works in detail. I’ll tell you all about it in Part 2 of this blog. Stay tuned!

and now we present… 11g and Apex on Ubuntu

Thanks to a completed messed-up Windows (I managed to demolish my network connections beyond repair) and a helpful tutorial from Dizwell’s blog (thank you oh so very much!) I installed Ubuntu 7.10 (codenamed Gutsy Gibbon) on my laptop, and afterwards, Oracle 11g. I probably wouldn’t have made without Google and especially Dizwell’s tutorial, but in the end it was quite easy. Mind you, Oracle does not support Ubuntu as platform for it’s products, and over 30 MB of additional linux-sources are necessary for Oracle 11g to work, as well as setting a range of variables and symbolic links. The script linked on Dizwell’s blog does it all for you!

Only thing I really had to set my teeth in was finding a way to enable Apex in this configuration..... Read the rest of this entry »

AMIS Query – on developing Web Applications with Oracle development technology: ADF and Application Express side by side (with Dimitri Gielis and Lucas Jellema)

AMIS is proud to announce an AMIS Query on Monday 17th December 2007: Developing Web Applications with Oracle development technology: ADF and Application Express, side by side.

There are many development tools that can be used to develop Web Applications. Two popular Oracle development environments are Application Development Framework (ADF) and Application Express (APEX)..... Read the rest of this entry »

KC “Kennismaken met Application Express” – Presentation available for download

On Thursday the 22nd of November 2007 Patrick Sinke and I did a presentation and a small workshop about Oracle Application Express. We gave an introduction of this Oracle Development Tool and showed how basic reports, forms and graphs can be build in only a couple of minutes. The demo’s are history but the slides (in Dutch) with a basic overview of the APEX Architecture and guidelines to get started with Application Express are available for download now: 20071122 Kennis maken met APEX v1.ppt.

Tuesday, session@AMIS: Report from Oracle Open World 2007: trends, news, analysis, demos

Last week we had Oracle Open World 2007, a week of sessions, key notes, news, debates, rumours, demonstrations, previews on the latest and greatest from Oracle. AMIS had a team of four presenting, watching, learning at OOW and together with fellow Oracle ACE Director Lonneke Dikmans, they will present their findings.

Tuesday, 27th November, from 16.30 (4.30pm) until 21.00 (9pm), this five person show will enlighten you as to what happened last week and how it will influence many of use over the coming years. The session is held in Nieuwegein, in the AMIS office, and will be in Dutch. If you care to join us, please register at: http://www.amis.nl/ (to ensure we arrange dinner and a seat for you).

Integrating Seam with Maven, Netbeans and GlassFish

The application that resulted from my previous article on Maven, Netbeans and GlassFish uses Hibernate for JPA and Facelets for JSF. This is an ideal situation to make the move to Seam. In the past few weeks I have spent some time on using Seam in GlassFish applications but I haven’t been very successful. However, the jpa example that is shipped with the Seam 2.0.0 GA distribution shows that working with Seam on Glassfish can be very simple. I just built the GlassFish war suing ant and deployed that war to GlassFish. The application just ran without any problems at all! Today I finally managed to build a Seam application for GlassFish. Moving that application to Maven then was very easy. This article will tell you how to do it.

I will assume that you have followed the instructions for
creating a Maven enabled Hibernate/Facelets application in Netbeans. If you haven’t then that’s no problem. This article should provide you with enough hints to enable Seam on any Enterprise Application created with Netbeans.

.... Read the rest of this entry »

OOW 2007: (most) presentations available for download

Most of the presentations for the sessions presented at Oracle Open World 2007, last week in San Francisco, can be downloaded from the Content Catalog  at: http://www28.cplan.com/cc176/catalog.jsp. You will need to use the username/password combination cboracle/oraclec6 to download presentations. At http://www.oracle.com/openworld/2007/keynotes.html are all the keynotes, of which the one by Ed Abbo is probably the most interesting one.

Combining Hibernate and Facelets with Maven, Netbeans and GlassFish

Over the past weeks I have been exploring the possibilities of Maven, Netbeans and GlassFish. Two of my previous blog entries explain the basics of using Maven in Netbeans and how to deploy to GlassFish. By default, GlassFish uses Toplink Essentials for JPA. Also, Netbeans by default uses jsp files for web pages. In this article I will explain how to use Hibernate for JPA and Facelets for JSF.

.... Read the rest of this entry »

Opening and extracting Zip files in java – It’s there for a while, but I just found out

A while ago I found out that it was possible to open Zip files with Java. Just open a regular java.io.File and pass it to the java.util.zip.ZipFile constructor.
It is possible for a long time (at least since version 1.3), but I didn’t expect this kind of functionality in an SDK. I was looking for a library to do it when a javadoc page from Sun showed up.

.... Read the rest of this entry »

ADF Faces 11g: Reloading the Matrix – using the Pivot Table component

In the past months I have written several times about the Matrix component I developed for ADF Faces to be used in several of our projects. Yesterday I demonstrated this component in my presentation at OOW 2007 on ADF Faces. This morning I decided to take a look at the new PivotTable component that is available in ADF Faces 11g. I am curious to see what it can do, what it looks like, how difficult it is to set up and how my work compares to it.

In this article I will present some of my conclusions and demonstrate how you can quickly setup a ‘pivot table’ or matrix in your ADF Faces (11g) application..... Read the rest of this entry »