Tuesday, December 23, 2008

Make your own Enterprise Software - NO Coding - for FREE

Rapid Application Development platforms like MS Access and FileMaker Pro have allowed non-programmers to create simple database driven applications with drag and drop editors for ages now but there were always limitations to what you could do. The biggest limitation was I feel their inability to handle a multi-user environment. With the popularity of the internet and companies looking into having web-based client/server applications, these tools feel short.

A couple of weeks back I talked about Oracle Application Express which allows you to create web-based applications without any coding using an Oracle XE database for free with the only limitation being that the database size can be a maximum of 4 GB. You are restricted to the Oracle XE database and the options available for creating your web application are very minimalistic.

This week I came across the free
WaveMaker Visual Ajax Studio. Now this is a complete Drag Drop development environment which allows non-programmers to visually design and create a web application:
  • with AJAX capabilities (uses Dojo)
  • using any database (Postgres, MySQL, Oracle, MS SQL Server etc.)
  • based on Enterprise Java capabilities (uses Spring, Hibernate, Web services)
  • deployable to any Java based server
  • that works on all major browsers (Internet Explorer, Firefox, Safari)
  • which is secure (using LDAP, Active Directory, POJOs etc.)

[Wavemake IDE running on Safari]

Since its based on open source technologies and is open source itself, you never have to worry about the product to go out of existence or costing you an arm and a leg in the future. Similar commercial products in the past have been dumped by their companies leaving the customers who have based their software on the platform in the lurch. This cannot happen with open source software.

Since its based on Java and can be deployed to any Java server, it can take advantage of Java Enterprise features. It can also make use of Grid and Cloud technologies.

Definitely consider using it for your next Enterprise ready software development project.

Monday, December 22, 2008

Run Multiple Operating Systems and Servers on a Single Machine - For FREE

Virtualization allows you to run multiple operating systems simultaneously on a single physical machine. This can allow you to use a software that was meant for UNIX on Windows. It can allow you to test that operating system you have been hearing about (e.g. run Linux or Mac OSX on top of your Windows). You can also use it to run multiple servers (Linux, Mac OSX, UNIX, Windows) simultaneously on the same machine. Today's hardware is powerful enough to achieve this.

VMware has been selling hardware virtualization software for over a decade now. They are currently giving away their VMware Server and VMware Player products for free. The Server can be used to create and run multiple operating systems. The Player can be used to only run an existing VMware image. They also have a huge repository of free ready-to-use servers and operating systems called the Virtual Appliance Marketplace where you can download any server you like and run it using the Player or Server product.

[Windows running inside Linux]

[Windows running inside Mac OSX]

There are various other free alternatives available (e.g. Qemu, Virtual Box) but I like VMware for its products' maturity. Non-free software like Parallels (Mac only) and MS Virtual PC (Windows only) do not come close to VMware's performance and available options.

Personally I only use virtualization to test and learn to use new operating systems and software. I am against the use of server virtualization due to its overhead and performance issues. It might make sense to use it:
  • for people stuck with using legacy software
  • for software QA and testing (use a clean machine everytime you test)
  • if you want to run a server on a Cloud or Grid where your server does not have the capability to use the Cloud's/Grid's power but the host operating system does.

Thursday, December 4, 2008

Free Oracle Development Tools

When you hear of Oracle, software with high price tags come to mind but in the last couple of years Oracle has been distributing some of their software out for free with no strings attached.

You can use the famous Oracle database engine for free, called Oracle XE (download here). Whats the catch? It only allows you a maximum of 4GB for your database size, which is ok for most small and medium sized business' applications.

Oracle also gives you their Oracle Application Express (Oracle APEX) for free (download here). It allows a non-developer to automatically create a small/simple web-based application that can have data entry forms, reports, charts etc. It can only use Oracle databases though but you can use the Oracle XE database.


Another good free (please read below) tool is Oracle JDeveloper aimed at Java developers (download here).

A couple of years ago the above tools would cost you an arm and a leg. Due to immense competition from Open Source products and free offerings from companies like IBM, Microsoft etc., Oracle has also chosen to give out some of its applications out for free.

But do note that each one of their free software is designed to work with their own propriety technologies. This means that if in the future you needed more than 4GB for your database you will have to buy a license for a standard or enterprise version of Oracle database. The JDeveloper tools also rely heavily on Oracle based technologies like Oracle ADF. Chances are that you will have to buy a license for the Oracle Server when the time comes to deploy your application.

They are still trying to tie you into their products and make you dependant on Oracle. I do still recommend the use of
Oracle Application Express for small businesses. It will make their lives easy as it allows them to create small applications themselves.

Edited 23 Jan 2009: Although JDeveloper is free to download and use, its license is not meant for commercial use of an application built using JDeveloper. You will need to get commercial licenses from Oracle to distibute or sell commercial software.