More Related Content
Similar to Vesterli hot and_not_whitepaper_wildcard_2013
Similar to Vesterli hot and_not_whitepaper_wildcard_2013 (20)
More from Andrejs Vorobjovs
More from Andrejs Vorobjovs (20)
Vesterli hot and_not_whitepaper_wildcard_2013
- 1. © Sten Vesterli 2012
@stenvesterli, sten@vesterli.com, www.vesterli.com
1
What’s Hot and What’s Not
– An Overview of Oracle Development Tools
Sten Vesterli
Twitter: @stenvesterli
Email: sten@vesterli.com
Website: www.oratoolwatch.com
Blog: www.vesterli.com
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. What’s Hot and What’s Not Wildcard 2013
© Sten Vesterli 2013
sten@vesterli.com
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. What’s Hot and What’s Not Wildcard 2013
© Sten Vesterli 2013
sten@vesterli.com
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. What’s Hot and What’s Not Wildcard 2013
© Sten Vesterli 2013
sten@vesterli.com
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. What’s Hot and What’s Not Wildcard 2013
© Sten Vesterli 2013
sten@vesterli.com
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.