Friday, June 21, 2013

Where Oracle ADF Fits In???

In my previous blog I described What is Oracle ADF and What is its architecture…
In present blog I have described in which scenario You should use Oracle ADF
There may be various Integration Scenario where ADF is well suited:
  • Waht to have start from scratch development of your application in which you want to have rich UI, Charts,Google Maps,Task Flows etc
  • Want to create UI layer only and integrate with existing service layer
  • Want to have composite layer as you are integrating with 2 or more application (SOA scenario – can be 2 or more independent components) – Using ADF you can achieve Composite behavior at Application Module level (aggregate multiple View Object), ADF business component level or can have custom composite layer (in case application existing architecture uses Service Bus, composite web services)
  • Want to have rich internet UI as well as advanced feature like – “UI Customization at Runtime” (Integrate with WebCenter), “MDS Integration”, “Security – ADF Security Authentication”, “Responding to Application Events”, “Customize the Application Look and Feel with Skins”, “Partial Page Rendering (PPR) on a JSF Page” etc.
  • Want to Integrate SFDC Cloud/Anyother cloud with your application, ADF fits very well.
  • Want to integrate your application with Oracle EBS R12…
  • Want to have Mobile Application functionality as well considering future of the application (Mobile application developed in Oracle ADF can be deployed in iOS,Android and all other popular mobile service platforms).
When to Use (Recommendation)
Fast Development: Want to build application within no time. This case will be best suited for small projects where you want to build application quickly and looking for end to end framework or build new UI and integrate existing service layer. Reason for saying this is once you understand ADF architecture/layers, can focus on ADF feature you want to explore.
Migration: To migrate existing application choosing ADF as option needs to be evaluated. ADF provide number of rich internet UI patterns and help in rapid UI development, so migrating application for UI scenario should be large (in terms of no of UI screens). In large application effort can be drastically minimized after identifying common usability pattern. As development scenario we can have 4 scenario stated above CRUDQ [Create, Read, Update and Search/Query]. For better usability (similar look and feel), Business Analyst/Usability Team can define similar look and feel. ADF have lot of inbuilt Usablity Pattern for CRUDQ, which can decrease development time drastically. Migration for small application just for UI might not be good idea (unless you have requirement to extend application in near future).
Rich Internet and Advanced Features: Rich Internet Feature, “UI Customization at Runtime” (Integrate with WebCenter), “MDS Integration”, “Security – ADF Security Authentication”, “Responding to Application Events”, “Customize the Application Look and Feel with Skins”, “Partial Page Rendering (PPR) on a JSF Page”.
Integration: Integrate your application into a SOA by firing events from your business components, invoke BPEL or create Human Work Flows


References: http://shishirkumarblog.wordpress.com, http://www.oracle.com/technetwork/developer-tools/jdev/overview/index-100269.html

Thursday, June 13, 2013

Oracle ADF With my spectacles

HI All, My name is Rohit Majithia and I am working with Jade Global Software pvt ltd as Sr. Consultant.
My motivation for writing this article is simple: I have worked with ADF. I have developed Java Web applications with a range of other frameworks and libraries. I have been part of ferocious debates about which tools, IDEs, frameworks and technologies to use in projects. I have seen the struggle of many Java developers to find their way in rapidly evolving Java frameworks and to become productive.
I have also worked in JSF and Spring frame works. From my  experience I can say ADF is best among all the frame works available (Though it is paid one  except ADF Essentials  ).
Please exeuse me if you find content of my article is copied from somewhere. What my idea is to go through most of available contents on internet and pick best of the contents available.
This article will first explain in brief what ADF is and its architecture.
In further articles I will also discuss when and why  you should use ADF applications, where ADF applications fits in etc.

Introduction
Java EE is a standard, robust, scalable, and secure platform that forms the basis for
many of today’s enterprise applications. Java EE provides a set of specifications for
building multi-tier applications using the JavaTM language. In the past, there was a direct
correlation between the robust nature of an application to the complexity required to
achieve it. However, with the advent of the Oracle ADF framework, you are able to
provide the implementation of extremely rich Java EE applications, adhering to standard
patterns and practices with greatly reduced effort.

Additionally, the increased need for organizations to build composite applications that
utilize Service Oriented Architecture (SOA) principles has forced developers to create
applications that are extremely agile. Implementing these best practices in agile
applications usually involves writing a significant amount of infrastructure code, adding
another obstacle for developers building their first Java EE application.

What is ADF

In computing, Oracle Application Development Framework, usually called Oracle ADF, provides a commercial Java framework for building enterprise applications. It provides visual and declarative approaches to Java EE development. It supports rapid application development based on ready-to-use design patterns, metadata-driven and visual tools.


Oracle Application Development Framework (Oracle ADF) is an innovative, yet mature Java EE
development framework available from Oracle and directly supported and enabled by
Oracle JDeveloper 11g.

Oracle ADF Architecture:

Oracle ADF lets developers choose the technology they prefer to use when implementing each
of the layers. The diagram below shows the various options available for developers when
building Oracle ADF applications. The glue that integrates the various components of Java EE
applications and makes development so flexible is the Oracle ADF model layer. EJB, Web
Services, JavaBeans, JPA/EclipseLink/TopLink objects and many others can all be used as
Business Services for the Oracle ADF Model. View layers can include Web based interfaces
implemented with JSF, Desktop Swing applications and MS Office front ends, as well as
interfaces for mobile devices.


Oracle ADF is based on the Model-View-Controller (MVC) design pattern. An MVC application
is separated into:
1) a model layer that handles interaction with data-sources and runs the
business logic,
2) a view layer that handles the application user interface, and
3) a controller that
manages the application flow and acts as the interface between the Model and the View layers.



The Business Services layer - provides access to data from various sources and handles
business logic.
The Model layer - provides an abstraction layer on top of the Business Services layer, enabling
the View and Controller layers to work with different implementations of Business Services in
a consistent way.
The Controller layer - provides a mechanism to control the flow of the Web application.
The View layer - provides the user interface of the application.

                http://technology.amis.nl

                 http://docs.oracle.com