1 Reply Latest reply on May 20, 2013 12:36 AM by Matthew Morris

    Forms or Java?

      This thread is not necessarily related to a specific certification, but it's somehow a "poll", or what to choose between the two. Advices are welcome.
      Recently some manager decided to develop the entire database application (which since 2001 was developed in Forms 6i, then migrated to Forms 10) in Java EE. So a "new" technology for me, as I don't know jQuey, Ajax, hibernate, design patterns, etc.; and i really don't like this web programming. Of course, one collegue presented us a mvc architecture, and how to structure the code, but it's too complicated for me, there are a lot of classes and relations and things to know/learn. I can't asimilate such informations... and i told them I don't want to work in Java because I don't LIKE. It's not for me. I liked very much Forms, where all the things were clear for me, and where I can create a master data block and two detail in no more than 5 minutes. In Java, they have been "struggling" about 1 hour for this, using a jqGrid, generating entities (EJB), writing the controller part of MVC, the repository, the add/update/delete methods, the view part (js and jsp files), and this just for one database table (without any detail blocks). Of course, it took so much maybe because we don't have so much experience in this, there are only 3-4 developers who worked before in Java. They googled, found a MVC solution, but I can't imagine our entire huge database application, developed in Java!

      If that simple thing, to build a simple page based on a database table took so much, then not to mention if a table has many references/is reffered in cascade (reffered by B, which B is reffered by C and so on, or it has a composite primary key), the things get complicated. It does not make sense for me to use Java and have such a workload.

      I said to someone that Forms it's easy to use and it's also used for building scalable Internet applications, so why Forms is not suitable? He said "it's an old technology". Really? Forms is so often used in many organizations and it's used to build rapid, scalable applications in an easy manner. And now we have Forms 11 which offer more features.
      It seems to me that this Java web programming it's a vacuity and more time consuming development time than Forms. Yes, it's productive but.. too complicated and many things to learn.

      I have 7 certifications, including SQL Expert, Advanced PL/SQL, Forms 10 (1Z0-141), Forms 11 (1Z0-151), Security Essentials, Implementation specialist and so on.. I like Oracle Databases and I'm planning to be a DBA in the future.
      BUT, my question is what advantages are in developing a web application in Java over Forms?

      I like matthew's responses, so maybe he will give me an adequate response :)

      Edit: the only difference i can see between Forms and Java is that Forms uses an applet, and if the page get refreshed, the applet is reinitialized, and the user must log in again. In Java, the page can be refreshed.

        • 1. Re: Forms or Java?
          Matthew Morris
          I like matthew's responses, so maybe he will give me an adequate response
          I shall endeavor to be adequate. I'll admit to being hindered in that attempt by the fact that is has been years since I developed in Forms, and I use Java rarely. My development environment of choice is Application Express.

          When I first started development, it was to build a Forms application for in-house use by Oracle Support. The initial rollout of the app required everyone to install the client Forms libraries. The app worked great, but my management wanted the app to be Web-accessible. Forms had just created a Web interface at the time. I seriously hope it has improved in the years since, because it was a major resource hog then and performance was a deal-killer. I migrated the app to a fully web-based interface using the Oracle Web Toolkit with mod PL/SQL and have never had a need to use Forms since that time.

          I agree with your co-workers at least in their statement that Forms is old technology -- although I would have stated it more in the sense that use of it definitely seems to be declining in favor of other technologies. I don't see it going away in the near-term future, but I believe that it will become a niche development environment and fade away over time. That said, I agree that it is very easy to use. It is not as flexible as developing an application using Java. However, if you do not find yourself needing any capabilities that it does not have, then flexibility is a non-issue. Unless they have made major changes since the version I worked with (quite likely), it will require more resources than an equivalent Java application and therefore be less scaleable. Again, whether this is a problem depends on the application. If a given Forms app can scale to 1500 users and an equivalent application written in Java could scale to 3000 -- no one cares if you plan to have only 250 users.

          The first Java application developed will tend to be the hardest. This is both because of the learning curve you speak of and also because you have to build everything. If it is built correctly (which is to say with modular code and well-designed classes), then the second will be easier because a good bit of what was developed by the first application will likely be usable by the second. The third will be easier yet, and so forth. What you are seeing is the absolute worst time -- the very first steps of the very first app. Java looks a whole lot worse than a packaged development interfaces when you compare the two development methods at that point in time.

          I can't (and won't) argue one development interface over the other. I'd argue Apex over either... but that's because it is my preferred tool. :) Everyone likes the tools they are most familiar with. Forms has pluses and minuses, as does Java and Apex.