Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Vesterli hot and_not_whitepaper_wildcard_2013


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Vesterli hot and_not_whitepaper_wildcard_2013

  1. 1. © Sten Vesterli 2012 @stenvesterli,, 1 What’s Hot and What’s Not – An Overview of Oracle Development Tools Sten Vesterli Twitter: @stenvesterli Email: Website: Blog: Introduction An Oracle developer used to have it easy – no matter what the requirements, you had one tool at your disposal: Oracle Forms. With Oracle Forms no longer the primary development tool within Oracle, many developers in the Oracle world are wondering which tool to use. This choice boils down to three main Oracle options and two non-Oracle options: • Oracle Forms • Oracle Application Development Framework (ADF) • Oracle Application Express (APEX) • Microsoft .NET • Open Source The Non-Oracle Options If your organization has made a strategic decision to go with “the red stack” and use Oracle databases and middleware, your default position should be to use one of the Oracle development tools. However, if you have a heterogeneous environment where Oracle software is not predominant, it makes sense to look at the non-Oracle development tools. Microsoft .NET The fact that you might be running Microsoft Windows as your preferred operating system shouldn’t affect your choice of development tool – but if your organization uses Microsoft SQL Server and Microsoft SharePoint extensively, you should definitely consider using .NET. With Visual Studio, Microsoft offers a good integrated development environment, and you will have access to a large pool of developers. Applications built with .NET tend to contain large amounts of code, much of which is auto-generated or copy/pasted “boilerplate” code. Whether you consider this to be a problem depends on your development philosophy.
  2. 2. What’s Hot and What’s Not Wildcard 2013 © Sten Vesterli 2013 2 If you need to build a pure client/server application that does not depend on a web server or other middleware – for example if you are building an application that must work offline – you should probably go for .NET Open Source In academic environments and public institutions, there is often a strong preference for open source development tools and frameworks. While these are initially cheaper (= free), you need to consider the total cost of the development project, including any external resources you’ll need. A typical problem with open source frameworks is the high “churn rate” – the number of people leaving one framework for “the next big thing”. This generally makes open source frameworks unsuitable for mission-critical or enterprise-wide strategic projects. If you decide to use open source for this type of project, you need to hire or train several developers in the entire framework to ensure that you have access to the necessary skills even if the original open source developers have left the framework project. The Oracle Options As already mentioned, an organization with a strategic focus on Oracle software should use one of the Oracle development tools. Oracle Forms Organizations with a long history with Oracle products will often have many applications built with Oracle Forms. According to the official Oracle “Statement of Direction”, Oracle has no plans to discontinue support of Oracle Forms, and an Oracle Forms 12c product is planned to be a part of Oracle Fusion Middleware 12c. This means there is no urgent need for anybody to move away from Oracle Forms. In cases where your existing Oracle Forms application do not meet business needs and a major development effort is needed, you should consider re- developing at least the new parts of your application in Oracle ADF or possibly Oracle APEX. Your existing Forms application can co-exist with a new application in various ways: All versions of Forms can share data via the database, and newer version of Oracle Forms can also be integrated into web applications. If your requirements are purely visual – your users consider the look and feel dated – you can often successfully give your application a visual makeover without leaving Oracle Forms. Switching to a white background, using graphical buttons and cleaning up cluttered screens can go a long way towards making your users happy without having to change the underlying technology. In some places, existing Oracle Forms-based applications have not been upgraded to supported versions of Oracle Forms. In these cases – especially if you are on a client/server version of Forms – the effort needed to upgrade
  3. 3. What’s Hot and What’s Not Wildcard 2013 © Sten Vesterli 2013 3 Oracle Forms and the application built with it might make it more attractive to re-develop the application. In effect, you will now need to spend the time and money you have saved over the years by not keeping up with supported versions of the Oracle Forms product. Currently, more developers are leaving Oracle Forms than are learning it. This means that in the long run (over 5-8 years), you will be facing a shortage of skilled Oracle Forms developers. For this reason, new application should not be built based on Oracle Forms Oracle Application Express (APEX) An easy-to-use alternative development tool from Oracle is Oracle Application Express, commonly known as APEX. This tool is a no-cost option for the Oracle database, i.e. you don’t have to pay extra if you have licensed an Oracle database. It’s even included with the free, community- supported Oracle Express Edition database, so you can start building applications with Oracle having a cent in license cost. The primary APEX development environment is a web browser – you build your application by going through various wizards that allow you to define which tables you want to work with and how you want your data presented to the user. This approach makes it very fast and easy to build applications that follow the many pre-defined paths that the wizards support. However, this approach means that the user interface tends to be defined by the underlying data structure: One table = one screen. For real-life applications, however, you’ll often want more than the wizards give you. In this case, you can extend your applications by writing additional business logic in PL/SQL, and by incorporating your own JavaScript code in the user interface. From version 4.x, APEX also supports plug-ins – custom components that you can download from various sources (also non-Oracle) and use in your applications. Oracle APEX fits well with an iterative, prototype-driven development approach, because all development happens directly on the server. This means that a developer can authorize a business user to work with the development code without any deployment step, and any change made by the developer is immediately visible to the business user. However, Oracle APEX also supports a more traditional development approach where the application is packaged and deployed from a development through a test environment and on to a production environment. Oracle APEX comes with a number of pre-built packaged applications that you can use as-is or use as a starting point for building your own applications. Oracle Application Development Framework (ADF) For building large-scale enterprise applications, Oracle has developed Oracle Application Development Framework (ADF) and the associated
  4. 4. What’s Hot and What’s Not Wildcard 2013 © Sten Vesterli 2013 4 development tool Oracle JDeveloper. This is the tool used internally at Oracle by the more than 5000 developers involved with building Oracle’s next-generation ERP suite, Oracle Fusion Applications. An ADF application separates data and presentation cleanly, connecting the two using a standard binding mechanism. This means that the same data source can be used by various front-end technologies, and that a developer building an ADF front-end application can use the same programming constructs to consume data from various data sources. This decoupling also means that the user interface is not tied to the data structure. Although many different combinations of data and presentation are thus possible, in practice most ADF applications use ADF Business Components in the data layer and ADF Faces in the application front-end. This is the approach used by Oracle for Fusion Applications and is also the approach best documented and supported. ADF Business Components (ADF BC) handle the data logic, including all necessary object-relational mapping to make data in the database available to the Java objects in the front end. JDeveloper wizards make it easy to define data components, including validation, lookup values and master- detail relationships without programming. Business logic beyond what the wizards can handle is implemented by adding Java code, augmenting and/or overriding the default handling provided by the ADF Business Components framework. ADF Faces handle the front-end presentation of data to the user in a web browser. ADF Faces is based on JavaServer Faces (JSF) and contains a very large number of sophisticated, cross-browser compatible UI components, including many data visualization components. Working in JDeveloper, an application developer can simply drag elements from the ADF BC layer onto a web page. JDeveloper will then add a user interface component to the page and automatically bind it to the ADF BC data control. This allows a developer to build applications without having to write any Java code. For user interface logic beyond what JDeveloper can automatically provide, the developer writes Java code in backing beans as in other forms of JSF applications. JDeveloper and the ADF framework are well suited for development of large applications by big teams. JDeveloper offers good integration with version control and issue tracking software, and the ADF framework offers the concepts of bounded task flows and ADF libraries to allow a large application to be developed in self-contained modules by separate teams. These modules can then be combined into one final application – or even multiple applications each using a different combination of modules.
  5. 5. What’s Hot and What’s Not Wildcard 2013 © Sten Vesterli 2013 5 Conclusion If you need to develop a stand-alone client application that must work without connection to a network, Oracle is not offering you an appropriate tool. In this case, consider using .NET. In all other cases, there is no technical reason to use or switch to a non- Oracle development tool. If you are already using Oracle Forms, you can continue to do so for a long time. Only in situations where new or changed requirements provide the rationale and budget for a major change should you start building parts of your application in another tool. For new development, use Application Express for small or medium sized applications due to the faster speed of development. If you have experienced Forms or PL/SQL programmers on your team, they will be productive immediately because custom business logic in APEX is implemented using PL/SQL. For large applications or applications with sophisticated UI requirements, you should use Oracle Application Development Framework. Experienced Java programmers will quickly become productive ADF, while you must expect it to take several months for Forms and PL/SQL programmers to become familiar with this way of development. In large-scale application development, the productivity of ADF will make up for this ramp-up time. Furthermore, because Oracle has built their next-generation ERP system on this technology, you can be sure it will be around for the next 20 years.