In my group (non information technology), there is a requirement to create a web page & our own db.
I wanted to go java / JSP route as I come as a java developer. But the Info tech group that was contacted have only Oracle forms developers.
So when the only tool you have is a hammer, all problems look like a nail to you. I can develop it alone in Java/Struts Framework but I need convinving arguments to push them back.
If Oracle forms application can provide a thin client & can be used as a web URL without downloading any oracle forms client, it will be OK.
Can some one compare Oracleforms Vs java?? Will appreciate your advice.
A. Gavin Woods
Joined: May 30, 2012
Just to confirm, this is a new application your team is looking to develop and not migrating existing applications? When it comes to new application development, while there are pros and cons to every option, developing applications on java heavily outweighs developing applications on Forms. If we're talking about migrating forms apps to java, that is a different story I do have some pro's con's for you below. To give you a little background, my company (PITSS) specializes in Oracle Forms Modernization and ADF Development, so this is a common question I hear all the time.
Its interesting your organization is considering on using the forms developers for the application development. However, even if your team has forms developers and you persue java, the transition difficulty from Forms to Java development can be significantly lessened with developing java applications via JDeveloper and ADF Framework than simply moving to IDE and frameworks like Eclipse and J2EE etc. Oracle offers classes just to transition Forms Developers to JDeveloper and ADF.
New Development on Java: Pros:
Can utilize the Model-View-Controller methodology of writing your applications for improved performance, lower maintenance, and object re-usability
Take advantage of latest web standards
Lowest Amount Administration spent on End-Client Deployment - Java web apps browser requirements are very low
Can develop more functional and slicker user interfaces
Large Support Community
Large Development Community
Large Technology Base - Large number of libraries/classes and integration with various development technologies empowers developers to fullfill almost any usecase
Decreased Application Server resource usage
Increased Training Costs with bringing Forms Developers up to speed
Application Development Costs can be larger vs developing Forms applications
Decreased Application performance for "power users" could be noticable vs using Forms applications
New Development on Forms Pros:
Rapid Application Development - familiar development environment for existing developers
No Training Required - lower development/training costs
Increased performance for "power users"
Increased End-Client Deployment/Administration - Forms applications are more picky on what browsers and JRE versions are deployed on end-client's machines
Increased application server resource usage
Can not utilize Model View Controller methodology
Increased Maintenance Costs
Limited technology base - applications are written in pl/sql and the Forms framework itself has limitations on functionality and user-interface design
Application objects are not as re-usable as java application objects are
I hope this helps. If you have any other questions, let me know. Feel free to contact my team via contact form at http://www.pitss.com. I hope your project goes well
I was an Oracle Forms developer for 20 years, before working on J2EE systems in recent years, and I've written web applications with other tools as well, so I can understand where your colleagues are coming from. Gavin has given a good summary of the pros/cons, but as somebody who has seen both sides of this debate, here's my view.
From what you say, your company has mostly Oracle Forms people, plus one Java developer (you). This means that if they decide to use Java, there is only one person (you) who will understand the new application initially, and only one person (you) who can develop the middle/presentation tiers. This is obviously not a desirable situation for them, unless they want to convert to using Java generally, in which case this would be a good place to start. But I'm assuming that as they have a great deal of existing code in Forms, they would probably not be in any rush to switch to Java right now.
The other problem with Java (for ex-Forms developers) is that it is insanely complicated and slow to create even a simple data-oriented application in Java, compared to how easily/quickly this can be done in Forms. So when you say it will take e.g. a couple of days to implement a particular screen and its underlying functionality, they will laugh and say "We can do that in half a day in Forms!", because Forms really is much more productive as a RAD tool than any pure Java approach that I've ever seen (although Grails is pretty good if you only need vanilla functionality). Admittedly, ADF is not bad, but it's Oracle-specific and still requires a lot of re-skilling by your Forms developers before they can do anything much with it.
So from their perspective, Java is slow/expensive to implement and unmaintainable in the short/medium term, because it's a new technology for them and may not be especially useful for them if most of their systems will continue to be Oracle-based. Why should they choose Java?
However, there is a third option that might be suitable here: Oracle Application Express (APEX). This is a free web application development tool that is available with all recent versions of Oracle, is very easy to learn, especially for Forms developers, and is well integrated into the Oracle RDBMS so they can re-use all their stored PL/SQL code really easily. It basically works by using a set of Oracle packages to generate HTML etc and serve web pages directly from the database. This sounds clunky (and it was in earlier versions) but the latest version is pretty good and has lots of support for adding functionality or fancy design elements via things like jQuery or CSS. The application development interface is browser-based, there is no client software and no separate application server, and your application is stored as data in the database, so it can be deployed easily via a generated SQL script into your target database. There is plenty of support for caching, various security schemes, and lots more besides.
There is also a Java EE "listener" for Oracle APEX, which can be installed in a servlet engine or JEE server so you can access your APEX application using the same JEE server that supports other applications. I built a small but fully functional APEX application with around 25 screens to query/maintain data in about a dozen tables in 4 weeks from scratch, learning APEX as I went, which was comparable with how long it probably would have taken me with Oracle Forms. Meanwhile, my Java colleagues were struggling to deliver one or two screens (with underlying functionality) per week on the main JEE application we were working on.
I wouldn't recommend Oracle APEX to a pure Java shop, and I certainly wouldn't recommend Forms for new applications these days unless you have a real need to maintain your existing investment in Forms e.g. legacy code, available skills etc.
But APEX may be the ideal RAD choice for a site that is already committed to Oracle and has lots of experienced Oracle Forms developers. There is even a tool to convert Forms applications into Oracle APEX, which I haven't used, although I think it would still require a lot of re-work to finish the application in APEX. Oracle has put a lot of work into APEX recently, I think because they recognise that there are a lot of places out there who have used Forms for 20 years and who are happy to remain "tied" to Oracle, but who also want a better alternative upgrade path for developing their web applications in future than the nightmare of re-writing everything in JEE. APEX is increasingly becoming a serious option for people wanting to bring their Forms applications into the 21st century.
You can download the latest version of Oracle APEX and install it in any Oracle database (e.g. the free Oracle XE database), but the easiest way to get started with APEX is to sign up for a free account on Oracle's hosted APEX instance, which will allow you to try building your own apps on their sample data schemaas as well as giving you access to a couple of free sample APEX applications so you can see how it works. There are some tutorials etc on the Oracle website, as well as some excellent books if you decide you want to explore it a little further.
I suggest you sit down with one of your Forms developer colleagues and try APEX out - you might be pleasantly surprised.