Friday, November 7, 2008

From Oracle Forms to APEX

Oracle Forms have a legacy of well over a decade in Oracle application development. The main reason for their popularity is their tight integration with the Oracle Database. The application development can be enormously fast when using them alongside Oracle Database. But like I said in my earlier post that the problem with Oracle development tools is that they are not up to the mark. Same applies for Forms and Reports Developer. Since 6i nothing has been done to improve them. Although Oracle has incepted a web interface starting from 9i but that does not seem to be much. It uses Java in the form of JInitiator which hangs more and works fewer. I have done quite an extensive development using Forms and Reports Developer for well over two years and still doing to a great extent. I also had to manage Oracle Application Server which is hosting applications built using these two tools. So, quite a relationship: to say the least. But as the matter of fact now a day I am sick and tired of this platform.

It seems that Oracle has also backed down from these tools or at least I haven't heard anything about these tools from Oracle news sources for a very long time. Instead Oracle is supporting a shift from Forms to Oracle ADF and JDeveloper. But problem for me is that I hate anything that has anything to do with Java. So this migration is not in my concerns. However I have made a shift and the shift is from Forms to APEX. Oracle Application Express (simply APEX) formally known as HTML DB is a web based RAD tool to build application that use Oracle Database has their data source. I used the word RAD because in my opinion application development is faster as compared to Oracle Forms and in turn to any tool used with Oracle Database. The biggest pleasure for me is less effort on interface designing and yet better attractive interface. Also according to my users it is easy to use and HTML makes it run much better in browser then Forms applications.

The thing that made me think of making this transition was PL/SQL. It is common in both. All of your knowledge of PL/SQL applies to one hundred percent here. But beware of the coding style of yours, don't repeat Forms style coding here. The problem with them is that they will not give any errors at compile time but results will not be as you might expect. For example if you have to write a small trigger in Forms to return values of an item you will be quite habitual in typing as:

Return: bind_variable;

No Begin … End block and still it is perfectly ok to write like this. It is also ok in APEX as well as for as compilation goes but it will not work. You need to rewrite it like below to work properly:

Begin

Return: bind_variable;

End;

Now it will work. In more than one ways Oracle APEX is appreciable and one must do that although it has no comparison with big Giants like .Net and J2EE.

Monday, November 3, 2008

Internet Explorer-8

When it comes to Internet browsing Mozilla Firefox is the dominant force. Mostly because almost every new feature usually first appears in Firefox and then in others. It has some amazing features and add-ones that simply rock. Your browsing experience gets a whole new turn and you feel much more fun and joy. Usually these features seem to be more prominent in office rather than at home because you are much busier in office. I was, I am and will always be a great fan of Firefox because it's a love lost for me. My IT department says that you can only use Microsoft products on your PC because they are safe. Highly arguable point especially when it comes to choosing between Firefox and IE. When they first time removed Firefox I got annoyed and felt like in no man's land. I missed a lot of things among which the most important was off-course tabs. To get tabs I downloaded Internet Explorer 7 and installed it and uninstalled it after three hours. I don't know what extra features it provides but it simply fails in providing the most basic service I.e. Fast Browsing. It can't even handle Oracle Applications that run through JInitiator. I am not a fan of Java but all I know is that it has no problems with IE-6 but I tried all the things that I knew but failed to make it run on IE-7. Where is Internet Explorer-8 (topic)?

For two months I used IE-6 without any liking and disliking until one day I saw Internet Explorer-8 beta download on Microsoft website. It must be tabbed so I just jumped to it. After using it for a little while I came to realize that it has same problem while running JInitiator. For my amazement and pleasure there was a solution for the problem. The name of the solution is Compatibility View. To understand it first we need to know that what Microsoft was doing before IE-8 and what they have changed in IE-8.

The biggest complain about IE for many years was, it is not adherent to the W3C standards. So the websites designed according to W3C standards displayed shabby in IE and websites were need to designed separately for IE to target the audience that use Microsoft and IE. Starting from IE-8 Microsoft has finally changed the scheme of things; IE-8 is completely adherent to the W3C standards. Done, but what about the websites that were designed specifically for IE? Those websites will run OK on prior releases of IE but will not run properly on IE-8. This is where Compatibility View comes into play. You can turn on Compatibility View for a website that does not display well on IE-8 and IE-8 will display the website to its best using Compatibility View. You had to do this only once and after that IE-8 will recognize it automatically. So that's it I turned on Compatibility View for JInitiator websites and now they work fine until I try to close them; they never get close gracefully and you had to use Task Manager's kill process weapon. Can't figure out why this is happening.

Another very interesting feature of IE-8 is Suggested Sites. Turn Suggested Sites on to get a list of websites that are related to your current browsing session. Another one is that you can bookmark a page as well as individual paragraphs and lines inside a page. Another one is tab colors. The related tabs (a tab opened from a link in another tab) are colored same. It helps a lot in tab tracking. I think these features are new and others will be following it soon. Furthermore IE-8 now saves a session for you if you accidently lost the session due to power outage and gives you the option of reopening it next you start IE (similar to one in Firefox). And last but not in any mean least is that it is light in use while you are switching between tabs unlike its predecessor i.e. IE-7.