Ora_Case_Study_Oracle Application Development Framework
1. ORACLE APPLICATION DEVELOPMENT FRAMEWORK:
“A CUTTING-EDGE TECHNOLOGY FOR RAPID APPLICATION
DEVELOPMENT.”
Contents
Oracle Application Development Framework:.............................................................................................1
“A cutting-edge technology for rapid application development.”...............................................................1
Contents......................................................................................................................................................1
1
2. I. Team Members-
1. Neha Singh
2. Divya Khemka
3. Yogita Gupta
4. Diptee Patil
II. Executive Summary-
Rapid Application Development (RAD) is in accord to the current software development
era. This is attributed to the rapidly changing business environments which require
businesses to respond to new opportunities and competition. Because of the changing
environment, it is often impossible to at a stable, consistent set of system requirements.
Therefore, conventional approach such as the waterfall model of development is
impractical and an approach revolving around rapid application development is the need
of hour.
Under this purview, Oracle Application Development Framework, usually called Oracle
ADF, provides a approach for building enterprise applications which supports rapid
application development based on ready-to-use design patterns, metadata-driven and
visual tools. It not only simplifies Java EE development by minimizing the need to write
code but also provides the infrastructure implementations as part of the framework.
Be it retail banking or mobile banking Oracle ADF is being used in Oracle Banking
Flexcube Product suite. Currently, In Oracle BPD, a number of such projects are
undertaken which aim at scrapping old, heavy weight technology frameworks and
building user friendly modules using Oracle ADF. This is helping out developers by
minimizing the need to write code that implements the application’s infrastructure
allowing the developers to focus on the features of the actual application with its inbuilt
tools and also allowing business requirements to be met in a rapid application
development model.
III. Detailed Outlook-
A detail insight which explains (RAD) which is in accord to the current software
development era is demonstrated with help of following diagram.
2
3. • The Rapid Application Development methodology was developed to respond to the need
to deliver systems very fast.
• It begins with system planning and systems analysis phases of the Systems
Development Life Cycle (SDLC).
• Next, users interact with systems analysts and develop models and prototypes that
represent all system processes, inputs, and outputs. In RAD, users continue to
participate and can still suggest changes or improvements as actual screens or reports
are developed. Further, tasks of programming and application development, coding,
unit-integration and system testing are continued.
• Lastly steps include, data conversion, testing, changeover to the new system, and user
training. Compared with traditional methods, the entire process is compressed. As a
result, the new system is built, delivered, and placed in operation much sooner.
To support this rapid application development model, Oracle ADF supports following key
features:
• A visual editor for HTML, JSP, and uiXML pages that lets design the application's web
pages interactively.
• An application navigator that helps developers see all of their application sources in a
uniform package organization, and that simplifies the view of components with multiple
implementation files and deployment descriptors to reduce clutter and improve usability
for large application projects
• Capability to configure the Technology Scope of your projects so the environment can
tailor its dialogs to present only the options that are relevant to the chosen technology
decisions.
• Database modeler that allows to design, visualizes, and document database schemas.
3
4. • A UML use diagrammer that helps to capture application requirements, and an
enhanced UML modeling support that allows to design all EJB's, Web Services, and all
key ADF business components visually.
• A data binding palette that allows consistent drag and drop data binding for all client
display types.
All of these new design time features, combined with a new drag and drop approach to
organize windows more easily, to make this a premier Rapid Application Development
tool for J2EE developers.
Scenario demonstrating ADF in Development environment:
1. Retail Banking Branch Application :
Currently, Oracle Flexcube Banking product comprises of components: Branch Com+
components and Host Java application. The UI is built in technologies– JackBe, JavaScript.
Also, branch only runs on Internet Explorer and requires settings to run COM components.
A new approach to scrap obsolete technologies and revamp Branch UI is taken, with the help
Oracle ADF and is based on following considerations-
• To enable support of Branch from all browsers and no specific browser setting is
required.
• To migrate all COM+ components into Java, so that it can be hosted on Oracle Linux
Servers.
• To provide three java virtual machines which will separately host Branch ADF designed
UI, Java Branch and Java applications.
• To build and host Branch in Oracle Suite, including Oracle ADF and Linux servers. This
will further help in selling more Oracle owned products.
• Removing all obsolete third party technologies (JackBe, Com+) will help in reducing cost
in extending licenses and providing an overall better product solution.
• ADF being helpful in providing support to rapid application development provides every
developer to readily focus on business cases individually and use inbuilt tools to create
code modules with standard which is consistent throughout.
Following changes were incorporated:
• A Unified Request Structure from Client to JAVA Branch which used to be either
XML or JSON based prior.
4
5. • Usage of Jackson APIs for conversion of JSON string to JAVA DTO.
• Usage of JAXB APIs for conversion of Host DTO to Host XML.
• Usage of Adaptor Design Pattern for calling across different components in JAVA
Branch.
Overall, with help of ADF, we can expect projected approximation gain in
illustrated matrix:
• A gain in parameters such as – Code Maintainability, UI ease in access, Components
Management, Product life which is more than 50%, after Oracle ADF implementation.
• While license cost is reduced to 0% and we could also gain around 20% in performance.
Presenting User Interface, created for the revamped branch dashboard, as below :- .
5
6. And the Old branch dashboard screen:
2. Flexcube Private Banking:
Oracle ADF also supports for Mobile application which is intended to provide private mobile
banking solution, which user can directly access anytime and anywhere. ADF Faces supports
JSF components to implement ALTA UI. Also, Oracle ADF Mobile enables developers to build
and extend enterprise applications for iOS and Android from a single code base. Based on a
hybrid mobile architecture, ADF Mobile supports access to native device services, enables
offline applications and protects enterprise investments from future technology shifts. This BPD
project is in its initial stage but it intends to provide mobile application to allow user access
banking services.
Rapid Application Development using ADF Mobile Features:
6
7. ADF Mobile enables rapid and declarative development of rich, on-device mobile applications.
Developers only need to write an application once and then they can deploy the same
application across multiple leading smart phone platforms such as Apple iOS. ADF Mobile-
based applications are built using the ADF Mobile extension in Oracle JDeveloper.
Key benefits of ADF Mobile for on-device mobile application development are:
• Oracle Application Development Framework (ADF) Mobile provides a natural extension
of enterprise/internet applications to mobile clients by providing tools, services, and
infrastructure to protect against technology shifts.
• An application built with ADF Mobile framework installs on a smart device, renders user
interface via HTML5, and has access to device services. Therefore, the programming
model is primarily web-based, which offers consistency with other enterprise applications
as well as easier migration to new platforms. But the application has access to device
services, enabling a richer experience for users than a browser alone can offer.
• Developers can extend their server application to a mobile client by picking a subset of
business components from their enterprise application and enabling them to run on the
mobile device.
• ADF Mobile applications are consistent in application performance in wide variety of
mobile user scenarios It ensures consistent application performance regardless of
network conditions. ADF Mobile provides a flexible architecture and enables developers
to construct user interfaces using the technology that most suits their needs be it –
HTML 5, JavaScript, or any another native code.
Conclusion
Oracle ADF enables developers not only to develop JAVA EE application but also to
extend the reach of their enterprise applications to mobile devices. By supporting a
visual and declarative development paradigm, ADF dramatically lower the learning curve
typically associated with UI application development be it Web based or Mobile based
application.
7
8. IV. Bibliographic Sketch-
Neha Singh: Application Developer
I am currently working for Payment Module, which is one of the most important activities
in retail banking operation. I have worked for IMPS module development which serves
as a 24*7 payment solution and which provides different options for payment (P2P, P2A,
P2U). I am actively managing functionalities for RTGS and NEFT payments also. I am
using J2EE and JMS technologies in my current project. I have a good learning curve
and I have learnt Portal technology, Middleware tools, Java frameworks like Struts with
my prior experience in IT. I like to spend time in reading different forums and publishing
my thoughts in my free time.
Yogita Gupta: Associate Application Developer
This is Yogita, a technocrat working as Associate Application Developer in Oracle
Financial Services Software Limited. During my entire period I gained experience in bug
fixing, testing of FCPB 12.0.1, 12.0.2 projects. I have also worked on Apache, Ant, Struts
and IDE- Eclipse (develop or debug application) platforms. Also, I have done browser
testing and bug fixing for various cross platform compatibility issues. Currently, I am
working on ADF- an Oracle developed technology in which we are developing a new
project following Oracle Alta standards for UI designing which will be compatible for both
mobile and desktop. Writing is my passion. My vision of writing is to uplift the society
from its orthodox approach towards positivistic life and to fulfill the gap of disparity.
Writing satires is my hobby and pointing defects of society is my vision. I have already
expressed my thoughts on my blog and in different media.
Divya Khemka : Application Developer
I am working in banking sector from past 3 years and currently handling the migration
and development work of flexcube screens to ADF screens. This technology has made
developers and users life much easier as compared to the old one. I like to take up
challenges in my profession and to actively participate in various events. I also like to
travel and explore new places in my free time and also spend time with my family.
Diptee Patil: Associate Application Developer
I am working in flexcube vercon team since last 2 years. I have worked on server
administration and deployment related activities. I like to take up new challenges.
8
9. V. Appendix
IMPS: Immediate Payment Service
BPD: Banking Products Division
P2P: Pear to Pear
P2A: Pear to Account
P2U: Pear to Aadhar
ADF: Application Development Framework
MMID: Mobile Money Identifier
9
10. V. Appendix
IMPS: Immediate Payment Service
BPD: Banking Products Division
P2P: Pear to Pear
P2A: Pear to Account
P2U: Pear to Aadhar
ADF: Application Development Framework
MMID: Mobile Money Identifier
9