Tag Archives: Enterprise Application Development


Docker: what, why & how

Who are better suited to explain what Docker is then the creators of Docker themselves?

So here is how they describe Docker on their site: Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications. Consisting of Docker Engine, a portable, lightweight runtime and packaging tool, and Docker Hub, a cloud service for sharing applications and automating workflows, Docker enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments. As a result, IT can ship faster and run the same app, unchanged, on laptops, data center VMs, and any cloud.[1]

Containers vs. Virtual Machines

Now, how do containers differ from virtual machines and why should we prefer containers? As depicted in the image below, in the case of virtual machines, multiple guest OS’s are ran on top of the host OS using a (type 2) hypervisor. Every guest OS includes all necessary binaries and libraries.

In the case of containers, multiple containers are ran on top of the corresponding images on top of the host OS using a container engine*. All necessary binaries and libraries are included in the image and all containers created on top of a image will have these available.

This means that a container solution use far less disk space since there are not multiple full blown OS’s necessary. In addition even the binaries and libraries are shared between multiple containers created of the same image.

Another advantage of not having guest OS’s is boot time. The boot time of a virtual machine is for a significant part the boot time of the guest OS. While for containers the “boot” time is mainly the time it takes your application to start up.

container vs virtual machine

On the left a typical virtual machine setup is shown, including multiple guest OS’s on top of a hypervisor. On the right a similar container setup is shown, including multiple containers on top of two images (i.e. a MySQL and an App image) , using a container engine. [5]

Why use Docker?

Reproducible environment

  • Run tests in the same (or a very similar) environment as production.
  • Same environment e.g. every container has all the needed environment variables.
  • Update the environment once and ship the update to all team members e.g. via a Docker image or GIT (Dockerfile, etc.).
  • Automated deployments can be facilitated using Docker images.

Disposable environment

  • Run tests without the, normally necessary, clean-up afterwards, which saves time.
  • An environment to develop/experiment in for which it does not matter if it breaks.

Isolated environments

  • Run one application per environment i.e., no interference of (Oracle) products required by multiple applications.
  • Easily change where applications are hosted i.e. no tedious initial setup.
  • Save hosting costs by hosting multiple applications on the same machine.
  • Each container has its own filesystem. This allows you to run multiple applications that use the same filesystem location, which would otherwise interfere with each other.

Low resource usage

  • Especially in the case of a Linux host environment, since resources of the host operating system are reused. However, also on Windows/MacOSX with e.g. the Boot2Docker virtual machine, since it is very light weight.
  • Every container (instance) is only a small layer on top the image (blueprint).

Have the same resources available for all developers

  • Oracle offers official Oracle Linux Docker images, available on the Docker Hub [2].
  • Also, there are Docker images for Oracle WebLogic [3] and Oracle Coherence [4] which one could use and reduce the number of (difficult) installations.

Perform difficult tasks with only a few commands

  • Please, see the next section.

How to use Docker

First, one needs to describe how the Docker image should be build, i.e. specify the base image (e.g. Oracle Linux 6); environment variables; binaries and libraries that need to be installed; and configuration. This is done by means of a Dockerfile.

Next, the Docker image can be build using the build command, like this: docker build -t image-name /path/to/build-context/. In this case the build-context directory would contain the Dockerfile.

Finally, to create and run a Docker container use the run command, like this: docker run -p 8080:8080 -v /path/on/host:/mount-point/inside/container --name container-name image-name. The previous command uses the earlier created image called: image-name and creates a container called container-name. Additionally, port 8080 inside the container is forwarded to port 8080 on the host and a directory, called /path/on/host, on the host is mounted inside the container on the mount-point called /mount-point/inside/container.



* Docker container technology is, currently, based on the Linux OS. Docker containers can be run on Windows/MacOSX with e.g. the Boot2Docker virtual machine, which itself is very light weight.

QAFE 2013… Gearing up for 2014

The end of a truly dynamic year is near.

This was a year of growth, learning and worldwide exposure for QAFE.

Oracle OpenWorld confirmed that people are still looking for ways to solve their Oracle Forms issues, which allowed us to showcase QAFE in about 80 demos in just 3 days. And we determined a new solution direction for customers that follow an Oracle and ADF strategy.

Meantime our workforce doubled in size, we had more revenue than expected; I had not imagined that QAFE would grow to be so big, so quickly!

Looking forward to 2014. It will be a year of further expansion, searching for new partners and future proofing even more customers by delivering the best solutions.

I want to thank you all for your support and I can’t wait to see what 2014 brings.


Have a great year!

Rokesh Jankie

The Rise of Single Page Applications (SPA) in your Enterprise: Fast and easy with QAFE!

A couple of years ago plugin technologies like Adobe Flex and Microsoft Silverlight were popular. Nowadays we see that HTML5 technology and corresponding Javascript libraries are showing the most amazing things in the Web! Things we could never imagine before.

The pace with which new Web Application frameworks are appearing has never been higher. It feels like every two weeks there is something new, cool and better.

The mindset of QAFE is to be independent of this trend, yet be able to use all new technologies.

That is why we liked reading this article on the Rise of Single Page Applications (which QAFE is from day one when we started with it), showing the mindset of how modern applications are being built and the reasons to do so.

To have a good idea of where we are with the web, this video of Pamela Fox (ex-Googler, now at Coursera) is a great intro:

(check out around 07m:00s for the explanation of what happened with the web).

When we started QAFE in 2007 we anticipated this happening: the day that Single Page Applications were going to be the standard for Web Applications. And the good news today is that with QAFE we made it accessible to everyone!

In a matter of minutes you’ll have a Single Page Application running in your browser.

Consider that most Enterprises have Oracle Forms applications: Wouldn’t it be great if that technology stack was modernized to a Single Page Application architecture, in such a way that even more is possible with that application! Imagine the other opportunities when this part of your application stack is modernized.

To Summarize: Want to have Single Page Applications in your Enterprise (and modernize your legacy stack) or in the Cloud, QAFE can help you out. If you’re a developer, please see

All questions, thoughts, ideas are most welcome.

Note: Even though page-oriented frameworks can use AJAX, they are have a totally different mindset, approach and architecture compared to Single Page Applications. See the article on the Rise of Single Page Applications.

QAFE 2013: The roller coaster ride continues!

First of all, the QAFE Team wishes you the best for 2013 and that your dreams will come true. We know what that feels like, because 2012 was like a dream come true for us.

To summarize 2012 for QAFE: It was a roller coaster ride! We’ve been to the Middle East, USA, South America and the Caribbean.

We have met many new (and potential) customers world wide and we opened a brand new office in Silicon Valley.

The 3 years of investments before 2012 were needed to make the impact we wanted to make in 2012. In the meantime, the products became more mature thanks to your feedback!

The focus for 2013 will be on scaling and overall quality. We want to make sure our customers not only get the best software products, but the best service as well.

Our mantra in case you didn’t know:

– Retain your investments made in the past;
– Reuse your technological skills and knowledge;
– Be future proof, don’t switch too much on your technology stack;
– Focus on your business: that’s your real driver!

For 2013 a much more mature development team and even stronger product line up are ready to continue this roller coaster ride in an even higher pace.

Feel free to join this amazing ride with us! As we closely watch markets trends and listen to customer feedback to continuously improve and evolve.

To get in contact with us, please use this form.

Breaking news -> QAFE release 2.2, get it today!

As of today QAFE Platform 2.2 is available for download! The new release provides a number of new and enhanced features for an even greater productivity boost. And, best of all: we integrated QAFE Forms for Oracle Forms modernization into this particular release.

Why is this breaking news?

It is the *first time* in the history of Oracle Forms that a modernization Proof of Concept will not cost you 20, 30 or 40K. Our brand new wizard will do the job for you, free of charge.

So here’s your chance: download the new version. Simply upload a form and see what happens!

Go to for instant access to a free PoC!

How QAFE helps Oracle Developers to enter the world of Modern Web Applications!

As mentioned in this article, Oracle is not giving up on PL/SQL.

“PL/SQL is absolutely not going to go away. It’s critical technology in so many parts of the Oracle technology stack. And even if it weren’t, there are literally millions of lines of PL/SQL code out there that have been running in mission-critical applications for decades. So, I think that everybody should be quite confident that PL/SQL is not only going to stick around, but it will be enhanced. The PL/SQL team is still working hard at making it the best possible database programming language.”


Most developers love having all the logic in *one* programming language. Java or .NET (or other languages, but I’m focussing on the mainstream for Enterprises). As a result many applications perform poorly, because it doesn’t make sense to get the information from the datasource first and then start filtering in memory. The memory usage on the server side becomes huge, especially if millions of users are to use your application.

In QAFE we like to think best of breed: use the best technology for the correct purpose. As the Oracle database is here to stay, we have to use the power of that technology to the fullest. That is why QAFE works seamlessly with PL/SQL, allowing PL/SQL developers to be more productive and reuse his/her skills. While offering an easy transition to Java and SOA, in order to write Web2.0 applications and integrate with other databases and Java logic in a transparent way.

P.S. Good to see that Oracle is also implementing new features like Function Result Cache, a much needed feature in Enterprise Applications (QAFE already implemented this for all databases of course).

P.P.S. Would you like to know more about modernizing Oracle Forms with QAFE? Simply fill out this form and we will contact you.

New QAFE Spring release, get 2.1 today!

What better way to celebrate spring than with a fresh QAFE release! Get the new edition for free here and discover all the new and enhanced features.

QAFE 2.1 Release Notes

Features QAFE Platform

  • Performance enhancement startup of QAFE
  • Data grouping in visual design (on top of visual grouping by means of named panels)
  • Introduction of Timer Events: to execute event when a timer expires
  • Cleaning up code and making code base smaller. Less dependency on thirdparty libraries.
  • Defaulting to Java 6.
  • WebService support directly to business-actions.
  • QAFE Connector Pack: Oracle Policy Automation connector.
  • Tested and verified against Oracle WebCenter.
  • Use of Less for styling applications (the C++ of CSS).
  • Upgrade of the default style.
  • Several Stability and Performance fixes

Features QAFE QAML Builder

  • QAFE One Click Application: Create Master-Detail (Detail, Detail..) screens in seconds!
  • Service Enabling for QAFE from Database and Java.
  • Visual design of event flow.
  • Visual design of Business Action flow.
  • Verification with Oracle Eclipse Enterprise Pack.
  • QAML Application Overview.
  • Integration of the QAML Generator functionality, so that QAML Builder is one complete environment.

Features QAFE Forms Modernization

  • Handling of ORA- error messaging (supporting wildcards).
  • Introduction of QAFE Oracle Forms Statistics to get insight in the complexity of forms.
  • Handling Forms 4.5 also by pre-analyses.
  • Many more improvements on layout and processing of data.
  • Validation of SQL Code against database before processing to correct layer in QAFE.

If you’ve downloaded earlier versions of QAFE, 2.1 is the release you will want to download today, simply go to for instant access!

How QAFE complies with Gartners recommendations for Oracle Forms Modernization and Migration

Recently Gartner published this recommendation for Oracle Forms Modernization and Migration. Key Findings and Recommendations learn that Application Development organizations should:

1. Update to a supported version to gain advantages in centralized management and deployment.

2. Modernize and integrate SOA and other middleware best practices and infrastructures (specifically Oracle’s Fusion Middleware stack and Java development tools).

3. Migrate next-generation development projects to industry-dominant technologies (for example, Java, Microsoft .NET and open-source software) to align with industry best practices in the future.

With QAFE you effectively tackle the second and third recommendation. QAFE not only supports a Service Oriented Architecture, it offers great tools to get an instant overview of your Architecture. On top of which – point 3 – QAFE is industry-dominant in more than one way: it helps you to go cloud on basically any given platform, while being able to render applications to any given web technology.

This makes QAFE an instantly deployable, future-proof platform for your entire Enterprise Applications Development roadmap. With Oracle Forms, to quote Gartner’s bottom line “as a supporting player, bridging the gap between older deployed systems that need to integrate and interoperate with newer platforms and application architectures”.

To address Gartner’s first recommendation in closing: Update to a supported version to gain advantages in centralized management and deployment. In our demo center in The Netherlands we have QAFE running on an Oracle Exalogic Elastic Cloud, integrated with Oracle WebCenter, Oracle Policy Automation and Oracle NoSQL: proving that QAFE and Oracle are what Oracle calls ‘Engineered to work together’.

So whether you you decide to move ahead with Oracle in centralized management, or you prefer to reinvigorate Oracle Forms on an other platform, QAFE has got your back. Call us anytime for a demonstration, +31 70 319 5000, or use this contact form for more information on Oracle Forms Modernization via email.

QAFE Platform 2.0 is here!

Great news: as of today QAFE Platform 2.0 is available for download! The new release provides a number of new and enhanced features for an even even greater productivity boost. Also, besides the fact that we made improvements on the QAFE Platform itself, this new version introduces the new QAML Builder which makes it really easy for any developer to create Modern Enterprise Applications.

The enhanced QAML Builder now allows you to graphically edit the event-handling and business-actions ánd lets you directly zoom-in to the native logic (Java or Database). Furthermore, the QAML Builder follows the Maven build standards, so that the result will be a Web Application ready for any JEE WebContainer implementation (Google App Engine or the known app servers).

Release notes:

QAFE 2.0

  • Cluster Awareness for AppEngine Edition using native MemCache
  • Performance optimizations
  • Several improvements on UI components (datagrid, slider)
  • Improvement on style processing
  • Stability fixes

QAML Builder 1.3

  • Fully graphically design and create the application: Events, Business Actions and Services
  • Integration with the QAML Generator 1.3
  • Embedded appserver
  • Maven based, so fully extendable
  • Prebuilt Eclipse Environment containing all necessary plugins

QAML Generator 1.3

  • Database services can be combined
  • Stability fixes

If you’ve downloaded earlier versions of QAFE, 2.0 is the release you will want to download today (request a new Trial License file via If you haven’t downloaded QAFE yet, simply go to for instant access!