Archive for February, 2006

Oracle Application Express Roadmap

At the end of january, Oracle announced that Oracle HTML DB was renamed to Oracle Application Express. At the same time they published a roadmap for the next year. This confirms the inside information I had that Oracle takes Application Express serious and keeps developing this development tool.

Oracle Application Express has a short name, Apex, which is synonym for summit. I’m not sure if they want to promote the product with the short name or the long name.

The roadmap mentions release version 2.2 during the spring of 2006. This release brings some minor updates, like added user interface themes and improved distribution and deployment options. I have not found a releasedate yet.

More interesting, however, is the announcement of version 3.0 by the end of 2006. The list of enhancements is promising:

  • improved graphical layout tools for form and page design (I have high expectations of this)
  • Microsoft Access migration assistant (hey, HTML DB has been Oracle’s answer for MS Access from day one!!)
  • improvements of master-detail functionality
  • Print formatiing to Adobe PDF and other ouptut, enhanced charting possibilities.
  • More quick start applications (though I’m wondering who really uses those templates!!)

The upcoming release 2.2 wil be supported on database 9.2.0.3 and newer. The current release (2.0) also runs on Oracle 10g Express Edition.

Jonathan Lewis Seminar “Optimising Oracle Performance by Design”

Last week I visited the Oaktable Seminar "Performance by Design" by Jonathan Lewis, held in Utrecht. I would like to share some of the topics of the seminar which I found particularly interesting.  .... Read the rest of this entry »

Optimising Oracle (Performance by Design) – Day 1

From 21
February till 23 February the OakTable seminar Optimising Oracle (Performance
by Design) by Jonathan Lewis was held. The seminar had been organised by Lex de
Haan, who recently died, and his wife, Juliette Nuijten, from Naturaljoin (http://www.naturaljoin.nl). Despite his
death the seminar continued, just as Lex wanted. Naturaljoin will continue to
organise seminars. There were 82 attendants, an all-time high record for Naturaljoin.

 

The guest
speaker was Jonathan Lewis, an independent consultant who has written a few
Oracle books, including Cost-based Oracle fundamentals (part one in a volume of
three). Jonathan is a very good speaker with lots of humour and details. This
was a big plus since not all the stuff was always that interesting for all the
people. His motto is: don’t believe it because it is written in the book; just
learn how to discover, because Oracle keeps changing (even with patch
releases).

.... Read the rest of this entry »

Introduction to Blackbox testing of Web Applications using Selenium

After my visit tot JavaPolis, in December 2005, I wrote a brief article on Selenium, a tool for testing Web Applications. For one of our internal Knowledge Center Sessions (next Tuesday), I have created a presentation and accompanying workshop on Selenium. It turns out to be a very handy tool for functional , blackbox tests on HTML applications, without any dependency on the implementation of the Web Application: PHP, .NET, Java/J2EE, static HTML – it does not matter, since Selenium tests from the browser end. In this article, I will share some of my findings.

.... Read the rest of this entry »

Oak Table Seminar – Optimizing Oracle Performance by Design by Jonathan Lewis (day 2)

This week I followed the Seminar Optimizing
Oracle Performance by Design by Jonathan Lewis in which he talked about locks,
application overhead,
trouble shooting waiting and trouble
shooting working on day 2.


Session 1 of the day about locking Jonathan start
telling us that Oracle has no structure which is a list of all row locks
currently active in the system, or by user.
The row is simple locked if its lock byte
points to an entry in the ILT (interested transaction list) and that
transaction is still active. .... Read the rest of this entry »

How we provide part of the Birkbeck University of London Curriculum – Component-Based Software Development on EJB 3.0

While I was reviewing today’s statistics of our weblog, I noticed a referrer in our top 10 that had guided 24 readers to one of our articles. 

 

I was curious as to what this might be, so I checked out the URL. It turned out that one of the sessions in a course in Component Based Softweare Development makes use of a series of four articles that I have written on EJB 3.0 Persistence:.... Read the rest of this entry »

Getting started with the EJB 3.0 Query Language (EJBQL 3.0) using GlassFish reference implementation

This article is the sequel to EJB 3.0 Persistence – Introducing EJBQL 3.0, an introduction to EJB QL
from an historical, strategic and functional perspective. In this post
I want to show you the goods: what does the EJB QL code look like with
EJB 3.0 Persistence for doing Native Queries, for aggregations and
subqueries, for projections and inheritance. We will take a quick look
around with the main features in EJB QL 3.0 and the way to use them in
code. Note that all code is J2SE – so out of container – and makes use
of the GlassFish Reference Implementation of EJB 3.0 Persistence. It
should be effortless – only a small change in the persistence.xml file
- to switch the code to the Hibernate or TopLink implementation of EJB
3.0.

I will use JDeveloper 10.1.3 EA as my IDE – that is not very
relevant by the way, since all code and the libraries in my Classpath
are portable and standard – nothing is Oracle or JDeveloper specific. I
only mention it because it gives you some background for the
screenshots. It also means that you can import the entire application
workspace that you can download under Resources into a JDeveloper
installation. If you do not use an IDE or at least another IDE, you can
of course use the source files but you have to create your own project
in your own IDE.

The case we will work with is the AMIS Library
System or ALS. It consists of only five tables – Books, Authors,
Publishers, Copies (of Books) and the intersection table Authorships.
We have been looking at (a subset of) this same system in a previous
article: EJB 3.0 Persistence – ManyToMany relations or the objectification of the intersection table..... Read the rest of this entry »

JUnit 4.0 released – Annotations based TestCase definitions

Last week, release 4.0 of JUnit was published. You may have seen some of the announcements. The JUnit homepage (http://www.junit.org/index.htm)does not reflect this fact at the time of writing, but the 4.0 Jar is available for download at SourceForge (http://sourceforge.net/project/showfiles.php?group_id=15278). I found a very good article for getting started with this JUnit release: JUnit 4.0 in 10 minutes by Gunjan Doshi (Instrumental Services Inc. ). It very conscisely explains what is new about this release and how it will influence the way we use JUnit.

Some important conclusions:

  • JUnit 4.0 requires JDK 5.0 as it uses annotations to specify which classes are TestCases (no extension of TestCase is required) and which methods are in fact UnitTests (the method name does not need to begin with test)
  • This release makes writing tests a little easier and little more flexible (no more mandatory TestCase superclass for example)
  • Old (pre 4.0) JUnit Tests can still be run with the 4.0 Runner
  • The current generation of IDEs does not know about the JUnit 4.0 style of annotating classes, hence we will need an Adapter until they are up to speed (the adapter is part of the JUnit 4.0 release)

Getting started with Unit Testing of JDBC based DAOs with the Spring Framework (introducing DBUnit)

For one of our Java projects, I wanted to help a colleague getting
started with unit testing. Due to high time pressure, there was a real
risk that – and we know it should not happen that way – unit tests
might be pushed backwards in time. The project is using the Spring
Framework in different places: Spring Core (IoC Container), Spring
JDBC/Spring DAO, Spring MVC in the WebTier and Spring with Acegi for
the security of the application. The unit testing initially has to deal
with the DAOs. These Data Access Objects are developed using Spring
JDBC though we consider – if we have another resource available -
moving to Spring Hibernate at some later point in time. To allow a
smooth transition, all DAO implementation classes are hidden behind DAO
interfaces; the Business Service that presents data services to the web
application is itself injected with the DAOs by the Spring Container.
We can replace the current JDBC based DAO Implementation Classes later
on with Spring Hibernate based implementations that implement the same
interface, leaving the Business Service none the wiser about this
switch.

So how to unit test these Spring JDBC driven DAO implementations?.... Read the rest of this entry »

Third AJAX article published by IBM

Recently, IBM released two articles about AJAX on their website, called Mastering AJAX, Part 1: Introduction to Ajax and Mastering AJAX, Part 2: Make asynchronous requests with JavaScript and Ajax. Now, the third article has been released, called Mastering AJAX, Part 3: Advanced Requests and Responses in Ajax.

In this third article, author Brett McLaughlin focuses on some of the problems you may encounter sending requests to your web server. Different browsers may respond differently to responses sent by web servers triggered by HttpRequests. The rest of the article focuses on checking for error messages sent to you by your web server and indentifying the cause of these messages. Absolutely worth checking out if you’d like to create an advanced AJAX application and need a means to debug it.