Oracle Database Administration, Oracle Developer Suite, Oracle JDeveloper, Oracle BI Publisher, Oracle Forms/Reports,Oracle SQL Developer

Data Center Consolidation

Data center consolidation is the process of reducing the volume of physical IT assets through highly efficient and scalable technologies. Organizations leverage data center consolidation to reduce operating costs.

Analyse and Solve Serious Hardware and Sofware Problems

Listing several basic hardware and software troubleshooting steps with respect to operating systems, software programs, and computer hardware.

Mission Critical Systems

A mission critical system is a system that is essential to the survival of a business or organization. When a mission critical system fails or is interrupted, business operations are significantly impacted.

The best server hardware to maximize IT performance

Data center hardware advances target new workloads such as big data processing, as well as higher efficiency for existing apps and services. The best server hardware for your data center depends on existing and planned application architectures, data center operations staff skills and of course the IT budget.

Some Tips About FNDLOAD

Data Synchronization Data Synchronization is a process in which some setup data would be synchronized, and this would be more important when you are working in Oracle application development/implementation project. The equally important that ATG data Migration takes place necessary to synchronize the data across databases instance during
· Installations (New descriptive flex field creations etc)
· Upgrades (Apps upgrade etc.)
· Maintenance (Value set changes etc.)

Generic Loader (FNDLOAD) The Generic Loader (FNDLOAD) is a concurrent program that can move Oracle Applications data between database and text file representations. The loader reads a configuration file to determine what data to access. For information on specific configuration files consult the Open Interfaces Guide for your product group.
From an FNDLOAD perspective, there is absolute no limitation on parallel execution.  Parallel upload of concurrent programs and responsibilities should through fine unless upload logic in LCT file restrict the same.

There is no way to limit the download of the value hierarchy data with the existing Flexfield loader logic. 
If this data is removed manually from the .ldt file generated when downloading data, the upload might error out as a result and this is NOT a supported method of using FNDLOAD and the corresponding generated data.

Overview The Generic Loader can download data from an application entity into a portable, editable text file. This file can then be uploaded into any other database to copy the data. Conversion between database store and file format is specified by a configuration file that is read by the loader.

The Generic Loader downloads data from a database according to a configuration (.lct) file, and converts the data into a data file (.ldt file). The Generic Loader can then upload this data to another database using a configuration file.

The loader operates in one of two modes: download or upload. In the download mode, data is downloaded from the database to a text file; in the upload mode, data is uploaded from a text file to the database.

Data structures supported by the loader include master-detail relationships and foreign key reference relationships.

In both downloading and uploading, the structure of the data involved is described by a configuration file. The configuration file describes the structure of the data and also the access methods to use to copy the data into or out of the database. The same configuration file may be used for both uploading and downloading.

When downloading, the Generic Loader creates a second file, called the data file that contains the structured data selected for downloading. The data file has a standard syntax for representing the data that has been downloaded. When uploading, the Generic Loader reads a data file to get the data that it is to upload. In most cases, the data file was produced by a previous download, but may have come from another source. The data file cannot be interpreted without the corresponding configuration file available.

What can be done?
These are the extensive list which can be done through FNDLOAD
· Concurrent Programs, Executables
· Request Groups, Request Sets
· Profile Options
· Key and Descriptive Flexfields
· Menus and Responsibilities
· Forms and Form Functions/Personalizations
· Attachments
· Messages
· Value Sets and Values
· Lookup Types
· User Responsibilities
· Printer Definitions
· FND Dictionary
· Help Configuration
· Document Sequences
· Alerts
· Concurrent Manager Schedules
The FNDLOAD: Concurrent Program – FNDLOAD can be executed as a concurrent program.

Some advantages when using FNDLOAD 1. Because downloaded data is stored in a text file, version administration is possible
2. There is nothing to worry to go to purchase because Investment = 0$
3. No learning curve. This is relief for developer and DBA
4. Fully supported and recommended by Oracle
5. Capture the migrations in a file and use it during installations, clones etc. to migrate in batch
6. Pin-point when something happened and where (database) easily
7. Your AOL data migration process is now simplified and streamlined goal attained

Some disadvantages when using FNDLOAD 1. Applications patching mechanisms use FNDLOAD heavily possibility of negative impact is not zero
2. UPLOAD_MODE=REPLACE only for menus
3. No validation against migrating database/instance sensitive data

Syntax The Generic Loader is a concurrent program named FNDLOAD. The concurrent executable takes the following parameters:

FNDLOAD apps/pwd 0 Y mode configfile datafile entity [ param ...]
where

<apps/pwd> The APPS schema and password in the form username/password[@connect_string]. If connect_string is omitted, it is taken in a platform-specific manner from the environment
using the name TWO_TASK.

< 0 Y > Concurrent program flags.

mode
UPLOAD or DOWNLOAD. UPLOAD causes the datafile to be uploaded to the database. DOWNLOAD causes the loader to fetch rows and write them to the datafile.

<configfile> The configuration file to use (usually with a suffix of .lct, but not enforced or supplied by the loader).

<datafile>
The data file to write (usually with a suffix of .ldt, but not enforced or supplied by the loader). If the data file already exists, it will be overwritten.

<entity>
The entity(ies) to upload or download. When uploading, always upload all entities, so specify a "-" to upload all entities.

< [param] > Zero or more additional parameters are used to provide bind values in the access SQL (both UPLOAD and DOWNLOAD). Each parameter is in the form NAME=VALUE. NAME should not conflict with an attribute name for the entities being loaded.

Modes of Operation This is important because it would drive the whole flow, and it always be either Upload or Download.

Example of download FNDLOAD apps/pwd 0 Y DOWNLOAD ${FND_TOP}/patch/115/import/afcpprog.lct myfile.ldt \ PROGRAM CONCURRENT_PROGRAM_NAME= concurrent_program_short_name> APPLICATION_SHORT_NAME=<application_short_name>

Example of Upload FNDLOAD apps/pwd 0 Y UPLOAD ${FND_TOP}/patch/115/import/afcpprog.lct myfile.ldt - CUSTOM_MODE=FORCE undocumented parameter

What are FNDLOAD Options? · Application level OR single entity level download
o (Example) Download all the profile options of Inventory or just the INV: Default Primary UOM
· Entire OR Partial upload of a data file
o (Example) Upload the entire myfile.ldt or just a single entity indicated by - and mode UPLOAD or UPLOAD_PARTIAL
o Entity name required for UPLOAD_PARTIAL mode
· Custom mode force update
o To override Oracle’s upload algorithm and update the custom AOL data regardless, use CUSTOM_MODE= FORCE
o UPLOAD_MODE=REPLACE (only for menus)
· Support for NLS uploads
o NLS data uploads for translated columns are supported, use UPLOAD_MODE=NLS (No space before and after = sign)
· Control FNDLOAD download of valuesets and values
o FNDLOAD parameter P_VSET_DOWNLOAD_CHILDREN, value 'N' does not download flex data from VSET_SECURITY_RULE, VSET_ROLLUP_GROUP, and VSET_VALUE

Where is Configuration File Located By default Oracle delivers most of configuration files that can be used to download certain entities.
· Configuration files with extension .lct
o On Unix - all the configuration files are in $FND_TOP/patch/115/import directory
o On Unix Oracle also places the original configuration files in $FND_TOP/admin/import directory
· Data files with extension .ldt
FNDLOAD File Structure
· The configuration files (.lct) are delivered and maintained by Oracle.
· It has entity definitions, parent-child relationships and user input parameters identified by :NAME.
· Downloading a parent automatically downloads all children - (Example) Concurrent Program download.
· The data files (.ldt) have both entity definition and the data.
· It also shows the version and the location of the configuration file (.lct) that was used.
· Without the configuration file, a data file is useless.
· Without the data file, a configuration file is meaningless.

FNDLOAD Files · Key files: .lct and .ldt
· FNDLOAD must be run as the apps user not as applsys or any other user, otherwise an Ora-6550 error will be received.
· Both are easily readable, editable and portable.
· Do not modify Oracle .lct files.
· Use a favorite editor to manipulate only the .ldt files but be cautious about data type, length, delimiter placements etc.
· Use the log file outputs or .ldt file contents creatively for quick file comparisons and answer questions as: (Why can this be accessed? What is that profile option name, value and level? What is the value set used for that DFF segment attribute10 etc.)
· Partial string searches (which value set has Priority something in its where clause, etc)

Some sample examples

1 - Printer Styles
FNDLOAD apps/pwd@seeddb 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcppstl.lct file_name.ldt STYLE PRINTER_STYLE_NAME=”printer style name”

2 - Lookups
FNDLOAD apps/pwd@seeddb 0 Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct file_name.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME=”prod” LOOKUP_TYPE=”lookup name”

3 - Descriptive Flexfield with all of specific Contexts
FNDLOAD apps/pwd@seeddb 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt DESC_FLEX P_LEVEL=:COL_ALL:REF_ALL:CTX_ONE:SEG_ALL? APPLICATION_SHORT_NAME=”prod” DESCRIPTIVE_FLEXFIELD_NAME=”desc flex name” P_CONTEXT_CODE=”context name”

4 - Multiple Flexfields
Use a combination of APPLICATION_SHORT_NAME and DESCRIPTIVE_FLEXFIELD_NAME names ie. APPLICATION_SHORT_NAME=PER >> will download all PER flexfields DESCRIPTIVE_FLEXFIELD_NAME=PER_% >> will download all flexfields that start with 'PER_'.
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct
file_name.ldt DESC_FLEX DESCRIPTIVE_FLEXFIELD_NAME="PER_%"

5 - Key Flexfield Structures
FNDLOAD apps/pwd@seeddb 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt KEY_FLEX P_LEVEL=:COL_ALL:FQL_ALL:SQL_ALL:STR_ONE:WFP_ALL:SHA_ALL:CVR_ALL:SEG_ALL? APPLICATION_SHORT_NAME=”prod” ID_FLEX_CODE=”key flex code” P_STRUCTURE_CODE=”structure name”
Note: in 11i it is P_STRUCTURE_CODE, in R12 it was renamed to ID_FLEX_STRUCTURE_CODE


6 - Concurrent Programs
FNDLOAD apps/pwd@seeddb 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct file_name.ldt PROGRAM APPLICATION_SHORT_NAME=”prod” CONCURRENT_PROGRAM_NAME=”concurrent name”
7 - Value Sets
FNDLOAD apps/pwd@seeddb 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt VALUE_SET FLEX_VALUE_SET_NAME=”value set name”

8 - Value Sets with values
FNDLOAD apps/pwd@seeddb 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt VALUE_SET_VALUE FLEX_VALUE_SET_NAME=”value set name”

9 - Profile Options
FNDLOAD apps/pwd@seeddb 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct file_name.ldt PROFILE PROFILE_NAME=”profile option” APPLICATION_SHORT_NAME=”prod” 

10 - Request Group
FNDLOAD apps/pwd@seeddb 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct file_name.ldt REQUEST_GROUP REQUEST_GROUP_NAME=”request group” APPLICATION_SHORT_NAME=”prod”

11 - Request Sets
FNDLOAD apps/pwd@seeddb 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct file_name.ldt REQ_SET APPLICATION_SHORT_NAME=”prod” REQUEST_SET_NAME=”request set”

12 - Responsibilities 
FNDLOAD apps/pwd@seeddb 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct file_name.ldt FND_RESPONSIBILITY RESP_KEY=”responsibility"

13 - Responsibilities with all Security Groups
FNDLOAD apps/<PASSWORD> 0 Y DOWNLOAD FND_TOP/patch/115/import/afscursp.lct <USER>.ldt
FND_USER USER_NAME="<USER>" SECURITY_GROUP=% DATA_GROUP_NAME=%

14 - Menu (Please refer to Appendix B within the Oracle E-Business Suite System Administrator's
Guide - Configuration the for loaders on more information.)
FNDLOAD apps/ pwd@seeddb 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct file_name.ldt MENU MENU_NAME=”menu_name”

15 - Forms/Functions/Personalizations: Refer to the System Administrator's Guide on dependencies
FNDLOAD <userid>/<password> 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct
<filename.ldt> FND_FORM_CUSTOM_RULES form_name=<form name>
OR
FNDLOAD <userid>/<password> 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct file_name.ldt FUNCTION FUNCTION_NAME=<function_name>
OR
FNDLOAD <userid>/<password> 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct file_name.ldt FORM FORM_NAME=<form_name>
OR
FNDLOAD <userid>/<password> 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct <filename.ldt> FND_FORM_CUSTOM_RULES function_name=<function name>

16 - User/Responsibilities 
FNDLOAD apps/ pwd@seeddb 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct file_name.ldt FND_USER

17 - Alert
FNDLOAD apps/pwd 0 Y DOWNLOAD
$ALR_TOP/patch/115/import/alr.lct my_file.ldt ALR_ALERTS
APPLICATION_SHORT_NAME=FND ALERT_NAME=Alert name to downloa

18 - Blob
With Release 12.1.1, FNDLOAD supports BLOB data (upload / download ) to better serve content-rich applications.
FNDLOAD apps/pwd 0 Y mode configfile datafile entity [ param ... ]

 19 - Overwrite custom definitions
FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/.lct $
XX_TOP/import/.ldt CUSTOM_MODE=FORCE

20 - Load an NLS Language
FNDLOAD <APPS USR>/<APPS PWD> 0 Y UPLOAD <controlfile.lct> <datafile.ldt> \
- UPLOAD_MODE=NLS CUSTOM_MODE=FORCE WARNINGS=TRUE

21 - Migrate the role registration process from one instance to another
a. Please navigate to the path: $FND_TOP /patch/115/import/US/umxrgsvc.ldt

b. The following command can be used to download:
FNDLOAD apps/<PASSWD>@(instance name) O Y DOWNLOAD $FND_TOP/patch/115/import/umxrgsvc.lct umxrgsvc.ldt UMX_REG_SERVICES REG_SERVICE_CODE UMX

c. The following command can be used to upload:
FNDLOAD apps/<PASSWD>@(instance name) O Y UPLOAD $FND_TOP/patch/115/import/umxrgsvc.lct umxrgsvc.ldt UMX_REG_SERVICES REG_SERVICE_CODE UMX

22 - Transfer Custom Messages to another Instance
a. Download the message from the source instance.
FNDLOAD apps/apps 0 Y DOWNLOAD @FND:patch/115/import/afmdmsg.lct password.ldt FND_NEW_MESSAGES APPLICATION_SHORT_NAME=FND MESSAGE_NAME=PASSWORD-INVALID-NO-SPEC-CHAR

b. Move the custom LDT file (password.ldt) over to the destination instance.

c. Upload the custom message to the destination instance.
FNDLOAD apps/apps 0 Y UPLOAD @FND:patch/115/import/afmdmsg.lct password.ldt FND_NEW_MESSAGES APPLICATION_SHORT_NAME=FND CUSTOM_MODE=FORCE

23 - Download UMX Roles and Role Assignment data from one instance and upload to another.

To download from one instance:
FNDLOAD <username/pwd@sid> 0 Y DOWNLOAD $FND_TOP/patch/115/import/afrole.lct
umxroles.ldt WF_ROLE ORIG_SYSTEM=UMX%

To upload to another instance:
FNDLOAD <username/pwd@sid> 0 Y UPLOAD $FND_TOP/patch/115/import/afrole.lct
umxroles.ldt

ADF Frequently Asked Questions

Concepts and Architecture

What is ADF?

Oracle ADF is an end-to-end development framework, built on top of the Enterprise Java platform, offering unparalleled productivity to application developers. The framework provides integrated infrastructure solutions for the various layers of the application and an easy way to develop on top of them.
ADF includes a set of over a 150 standards-based Java Server Faces (JSF) components with built-in Ajax functionality. Oracle ADF simplifies Java EE development 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. Oracle ADF provides these infrastructure implementations as part of the framework.
To recognize a set of runtime services is not enough, Oracle ADF is also focused on the development experience to provide a visual and declarative approach to Java EE development through the Oracle JDeveloper 11g development tool.

What is the ADF Architecture?

The Oracle ADF is based on the Model-View-Controller (MVC) design Pattern. The following figure shows the bigger picture for ADF :

The architecture has four layers:
1. The Business Services layer - provides access to data from various sources and handles business logic.
2. 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.
3. The Controller layer - provides a mechanism to control the flow of the Web application.
4. The View layer - provides the user interface of the application.
It's worth noting though that ADF is actually much bigger than the above diagram depicts - it allows you to use other technologies as well, if needed. For example you can use EJB/JPA for persistence, Web Services as sources of data etc.

What is the MVC Architecture? How?

 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.
3) A Controller that manages the application flow and acts as the interface between the Model and the View layers.

The Oracle ADF architecture is based on four layers:
1. The Business Services layer - provides access to data from various sources and handles business logic.
2. 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.
3. The Controller layer - provides a mechanism to control the flow of the Web application.
4. The View layer - provides the user interface of the application.

Oracle ADF lets developers choose the technology they prefer to use when implementing each of the layers.  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.

What are ADF UI Components? What is ADF Faces?

The ADF UI components are user-interface components with built-in functionality that  are configurable, reusable elements that provide user interfaces such as a simple button or a complex data table.
ADF Faces is a large set of over a 150 UI components built on top of the standard JSF APIs that leverage the latest technologies, including partial page rendering and Ajax, to provide a rich, interactive user interface.

What are ADF Business Services/Business Components?

ADF Business Services manages interaction with persistence data. The Business Services layer provides access to data from various sources and handles business logic.
The Business Services in Oracle ADF can be implemented in any of the following options: as simple Java classes, EJB, Web services, JPA objects, and Oracle ADF Business Components. In addition, data can be consumed directly from files (XML or CSV) as well as REST.
ADF Business Components are "building-blocks" that provide the most productive way to create, deploy, and maintain a business service. ADF Business Components dramatically simplifies the development, delivery, and customization of enterprise J2EE business applications by providing you with a set of intelligent software building-blocks that save development time by making many of the most typical development task declarative. They provide a foundation of Java classes that allow your business-tier application components to leverage the functionality provided in the following areas ,Simplifying Data Access , Enforcing Business Domain Validation and Business Logic, Supporting Sophisticated UIs with Multipage Units of Work, Implementing Best Practice, High-Performance Service-Oriented Architecture, and Streamlining Application Customization .

What are ADF Bindings?

The ADF binding layer can be considered as the interface between data and data access. It provides a standard interface to the data there by giving a consistent data access. The binding layer provides a consistent interface to the data regardless of where it comes from there by giving freedom to the end users to implement their UI's based on the binding layer.  Oracle ADF Model implements the two concepts that enable decoupling the user interface technology from the business service implementation: data controls and declarative bindings.
Data controls abstract the implementation technology of a business service by using standard metadata interfaces to describe the service's operations and data collections, including information about the properties, methods, and types involved. In an application that uses business components, a data control is automatically created when you create an application module, and it contains all the functionality of the application module. Developers can then use the representation of the data control displayed in JDeveloper's Data Controls panel to create UI components that are automatically bound to the application module. At runtime, the ADF Model layer reads the information describing the data controls and bindings from appropriate XML files and implements the two-way connection between the user interface and the business service.
Declarative bindings abstract the details of accessing data from data collections in a data control and of invoking its operations. There are three basic kinds of declarative binding objects:

Iterator bindings: Simplify the building of user interfaces that allow scrolling and paging through collections of data and drilling-down from summary to detail information.

Value bindings: Used by UI components that display data. Value bindings range from the most basic variety that work with a simple text field to more sophisticated list and tree bindings that support the additional needs of list, table, and tree UI controls.

Action bindings: Used by UI components like hyperlinks or buttons to invoke built-in or custom operations on data collections or a data control without writing code.

What is MDS? How does ADF use it?

Oracle Metadata Services (MDS) allows the end user to customize their Web application to tailor the UI to meet their individual needs and desires without programing changes to the base application.
Customization and personalization are dynamic structure and property changes to the metadata of application documents like views, bindings and task flow definition files. Modifications that, for example, are applied as customization to a page or a page fragment include the addition, removal or property changes of UI components.
An application that is customized with MDS consists of a base application and one or many customization layers that hold the modifications that are applied at runtime. A customization layer is defined by a set of metadata documents that are stored in a metadata store on the file system or the MDS database repository.
Oracle MDS  for Oracle Fusion web applications and all runtime changes of a component that are performed by the application user, such as reordering of table columns are transient and only last until the page is next refreshed.  To configure component changes to last longer, application developers need to enable change persistence in Oracle ADF Faces. Change persistence is a component level framework in ADF Faces that tracks UI changes by the application user or programmatically applied by the application developer in response to a user action. This allows these changes to persist for the duration of the application user session. Oracle MDS can then be used to further extend the change persistence behavior to persist changes across application restarts. This enhanced behavior is enabled through a simple options dialog shown in Figure 4. Under the covers, these options make changes to the web.xml and the adf-config.xml configuration files for the application.
To know more about building Customizable Oracle ADF Business Applications with Oracle MDS, see http://www.oracle.com/technetwork/developer-tools/jdev/adfmds-128339.pdf

What is Partial Page Rendering in ADF Faces?

AJAX (Asynchronous JavaScript and XML) is a web development technique for creating interactive web applications, where web pages appear more responsive by exchanging small amounts of data with the server behind the scenes, without the whole web page being rerendered. The effect is to improve a web page's interactivity, speed, and usability.

With ADF Faces, the feature that delivers the AJAX partial page render behavior is called partial page rendering (PPR). PPR allows certain components on a page to be rerendered without the need to rerender the entire page. For example, an output component can display what a user has chosen or entered in an input component, or a command link or button can cause another component on the page to be rerendered, without the whole page rerendering.
See Oracle Fusion Middleware Web User Interface Developer's Guide for Oracle Application Development Framework 11g Release 1 (11.1.1)  Chapter 7 Rerendering Partial Page Content{http://download.oracle.com/docs/cd/E14571_01/web.1111/b31973/af_ppr.htm#ADFUI386}

What is an Application Module?

An application module is an ADF Business Components component that encapsulates the business service methods and UI-aware data model for a logical unit of work related to an end-user task.

The application module is the "work unit" container that includes instances of the reusable view objects required for the use case in question, related through metadata to the underlying entity objects in your reusable business domain layer whose information the use case is presenting or modifying. 

What version of JavaServer Faces does ADF 11g require?

ADF 11.1.2 and later uses JSF version 2.0.  JDeveloper provides full support for developing user interfaces with JSF and facelets technology in accordance with the JSF 2.0 specification found at http://jcp.org/aboutJava/communityprocess/final/jsr314/index.html.
All other ADF 11g versions prior to 11.1.2 use JSF 1.2.

Development, Deployment and Runtime

Is there any guidance for Forms customer migrating to ADF?

Yes, the white paper Case Study: Redeveloping an Oracle Forms application using Oracle JDeveloper 11g and Oracle ADF 11g gives guidance on migrating a Forms application to ADF :
There is also a ODTUG Technical Journal Article:  Migrating Oracle Forms to Fusion: Myth or Magic Bullet?

Do I need to know Java to learn and work with ADF?

Yes, you need to have an understanding of  the basic concepts of Java. The JDeveloper declarative development approach  reduces the learning curve for developers familiar with 4GL-style tools. You can learn and build simple applications with ADF without an extensive knowledge of Java but more complex applications require knowledge of Java to take advantage of all the rich capabilities provided by ADF.

How flexible is ADF? Can I override code in ADF? 

Yes, ADF generate code can be overriden to customize and extend it for your needs without changing the core ADF source code.  However, if you wish, you can also requested ADF source code via Oracle support.

Can I request the source code for ADF?

Yes, supported customers can request a copy of the source code from Oracle Support. See Note 971256.1 How to Request the ADF Libraries Source Code .

How can Oracle JDeveloper enhance my ADF Development experience? 

Many of the other Java EE frameworks lack strong integrated support by development tools. Oracle JDeveloper provides visual aids and a declarative approach to minimize the need to write framework code, making it a perfect tool for building Oracle ADF-based applications. This declarative development approach also reduces the learning curve for developers familiar with 4GL-style tools.

Can I upgrade a 10.1.3 ADF application to 11g?

Yes, upgrade from 10.1.3 production releases to 11g is supported as a one way upgrade. Note that any usage of the ADF Faces JSF components (10.1.3) are automatically migrated to using the Apache MyFaces Trinidad components as part of this upgrade process. For more information on the migration process please consult this page on OTN. Once an application has been upgraded it can no longer be deployed to a Java Enterprise Edition 1.4 Application server such as Oracle Application Server 10.1.3.

If I upgrade my 10.1.3 ADF application to 11g will I get the new ADF Faces Rich Client components?

No, upgraded ADF applications undergo a like-for-like migration to the Apache MyFaces Trinidad components and retain the same functionality as the application in 10.1.3. Taking advantage of new ADF 11g features such as the Rich Client Components and ADF Task Flows requires a degree of redesign for the application to fully exploit the new capabilities that are present in this release.

Can I deploy my ADF 11g application to Oracle Application Server 10.1.3 (or earlier)?

No, Oracle AS 10.1.3 only supports version 1.4 of the Java Enterprise Edition standard. ADF 11g applications require a 1.5 compatible server such as Oracle WebLogic 10gR3. See the section on licensing for the implications of this if you are currently not licensed for a suite that includes WebLogic.
25. How do I install the ADF Runtime into a stand-alone WebLogic server?
Running the JDeveloper installer on the target application server will provide the option to install just the ADF runtime libraries into an existing WebLogic home. You can then configure your domain to use this library. For more information consult the install guide.
26. What Browsers are supported for running ADF Faces Rich Client 11g applications?
The list of supported browsers is here. Please consult the installation guide in the JDeveloper documentation set for the latest support information.

Where can I deploy & run my ADF Applications? 

ADF 11g applications require a Java Enterprise Edition 5 container The  Application severs supported and Certified to run ADF version 11 include weblogic 10.3.x  and IBM WebSphere 7 (Please see the certification matrix for exact versions)

Download and Additional Resources

Where can I download ADF?

The JDeveloper with ADF can be download from Oracle JDeveloper page on OTN: Latest JDeveloper/ADF version
A runtime version of ADF can be download from the Oracle Application Development Framework page on OTN: Downloads for Oracle ADF

What is a good place to start on learning ADF? 

The Oracle Application Development Framework page on OTN has links to ADF Insider Basics - Recorded Sessions, Online Demos, Step-by-Step Tutorials and Oracle ADF Insider Essentials.

Are there any code examples for ADF?

The Oracle JDeveloper  Code Samples page on OTN has many sample ADF applications.

Where can I find sample applications for ADF?

The Fusion Order Demo is a comprehensive integrated sample that showcases many of the key features of the ADF framework . Many other samples are also available from OTN.

How can I stay up-to-date with ADF news?

The best places to keep up to date with the latest news on ADF are :

·         Oracle Application Development Framework page on OTN. It also has links to recent blog entries for ADF and  points to Oracle ADF Books and Trainings

·         Like us on the  Oracle JDeveloper Facebook page

·         Follow us on Oracle JDeveloper Twitter

·         ADF blogs from Oracle Product Management etc :

o    Grant Ronald's Blog, Oracle ADF PM

o    Didier's Blog, Oracle ADF Support Blog

o    The GroundBlog, byDuncan Mills, OracleADF Product Management

o    ADF Code Corner, by Frank Nimphius, ADF PM

o    Dive into ADF, by Steve Muench Senior Architect, Oracle

o    ADF Adventures, Juan Camilo Ruiz, Oracle ADF PM

o    Oracle ADF Mobile, Oracle PM

o    ADF Unleashed, by the Oracle ADF Community

o    JDeveloper PMs Blog

o    ADF Redefined, Oracle Fusion Development

o    Oracle Fusion Middleware Security, by the Oracle A-Team

Where can I get help with ADF issues?

JDeveloper 11g comes with a large and comprehensive set of documentation covering both the development environment and the frameworks. Additionally the product includes a set of cue cards on the product help menu which will step you through features in an interactive manner.

Getting Started with Oracle JDeveloper and ADF

1. Learn the Java language
Learn the Java language (at least the syntax) you need to have an understanding of the basic concepts of Java. The JDeveloper declarative development approach reduces the learning curve for developers familiar with 4GL-style tools. You can learn and build simple applications with ADF without an extensive knowledge of Java but more complex applications require knowledge of Java to take advantage of all the rich capabilities provided by ADF. So at one point or another you will need to code - so start by picking up your favorite "Java for dummies in 7 days with no previous knowledge" type of book and learn the basics of the language. Other references are: 
Thinking in Java by Bruce Eckel ISBN 0-13:659723-8
Sun's online tutorials
While you are learning the basics of the language - you can use JDeveloper as your coding/running/debugging environment it can also help you with code template code completion and syntax error highlighting. To understand how to do these use the Introduction to the IDE Tutorial.

2. Start learning ADF
Self learning
The place to begin is with the Reviewer's Guide on OTN.  Start by reading the data sheets to understand what the framework does, and watch a demo to understand what is the purpose of ADF, also an excellent book is "Quick Start Guide to Oracle Fusion Development"  by Grant Ronald. Next start with the tutorial  Developing Rich Web Applications With Oracle ADFwhich will take you about 2-3 hours to complete - and will give you an impression of the development process and if you actually read the explanation in it and not just follow the step-by-step instructions you will also understand what you are doing and not just how you are doing things. You can deepen your knowledge with two other tutorials: An ADF Faces focused tutorial and one about ADF TaskFlows. There are many other tutorials that you can follow here.


Instructor Led training
If you prefer instructor led type training. Please see the following page in OTN Java/ADF course list. You'll see a basic Java course to help you learn the language, and another course which is called "Oracle Fusion Middleware 11g: Build Applications with ADF I" - this is the ADF basics course.
Take advantage of ondemand courses on OTN such as Virtual Developer Day - Rich Enterprise Application Development with Oracle ADF.
3. ADF familiarization
A must do step, whether you took the instructor lead courses or choose self-learning, read through the Fusion Developer Guide .  After you played a bit with JDeveloper and ADF, this book will give you the inside scoop on what ADF does and how it does it.  It's a big book but it is worth reading it before you start doing any serious development - having the knowledge before you start to code will save you a lot of hours later on. Note that there are additional developer guides  that focus on the ADF Faces, Mobile and Desktop parts.  Another option for good books that will teach you ADF are:
  • "Quick Start Guide to Oracle Fusion Development" by Ronald Grant and the
  • "Oracle JDeveloper 11g Handbook" by Duncan Mills ,Peter Koletzke and Dr Avrom Roy-Faderman

At this stage you should have quite a good foundation that will let you start developing your application.
Once you are done with these books, you might want to go to the next level of knowledge which is covered in Oracle Press's "Oracle Fusion Developer Guide" by Frank Nimphius and Lynn Munsinger. 


4. Where to get help with additional Questions
 Once you do serious development you are sure to run into questions that weren't answered in your previous reading, see the My Oracle Support Community Forum or JDeveloper and ADF discussion forum which comes into the picture as the source for the community knowledge.  Also you can check with the Oracle JDeveloper Facebook page or on Oracle JDeveloper Twitter .
If there is still a question create a Service Request via My Oracle Support.


ADF blogs from Oracle Product Management etc :

Add to these the annual Oracle Develop conference which runs as part of Oracle Open World, and the other technical conferences such as ODTUG and IOUG and you have your learning experience complete.

Book References
  • Beginning Programming with Java For Dummies by Barry Burd  ISBN-13: 978-0764588747
  • Thinking in Java by Bruce Eckel ISBN 0-13:659723-8
  • Quick Start Guide to Oracle Fusion Development by Ronald Grant  ISBN-13: 978-0-07-174428-7
  • Oracle JDeveloper 11g Handbook  by Duncan Mills ,Peter Koletzke and Dr Avrom Roy-Faderman  ISBN-13: 978-0071602389
  • Oracle Fusion Developer Guide  by Frank Nimphius and Lynn Munsinger ISBN-13: 978-0071622547
  • Oracle ADF Real World Developer's Guide by Jobinesh Purushothaman ISBN-13: 978-1949684828


Using Office 365 in Workflow Notification mailer in Test environments

Using Office 365 in Workflow Notification mailer in Test environments

Steps1- Configure the mail server and email sender

    1.      Login using ‘SYSADMIN user and go to responsibility 'System Administration' > Oracle     Applications Manager > Click on Workflow


   2.      Screen displayed as Notification mailer Down
 

   3.      Click on 'Service Components'

  
 4.      Select Workflow Notification Mailer and click on Edit.

   
Set the following parameters
   a)    Outbound EMail Account (SMTP)
Server Name: 'smtp.office365.com'
Username: 'mailer@Company.com'
Password: 'password'
Connection Security: 'STARTTLS'

        b)    Inbound EMail Account (IMAP)
Server Name: 'outlook.office365.com'
Username:'mailer@Company.com'
Password:'password'
Reply-To Address: 'mailer@Company.com'
Connection Security:'SSL/TLS'

         5.      Click on button 'Advanced'
          
         
          6.      Press 'Next'
   

    7.      Press 'Next'
               
      
          8.      Press 'Next'
             

      9.       Update from field to ‘Workflow Mailer Test Environment’ and click on finish.
         
      
          
           10.  Click on finish

       Steps2 - Configure the override address 
          Override email address is very imported in test environment. all the emails will be redirected to  this email. Following are the steps to set it up from back end.
      
          1.      Run the below sql statement

       SELECT fscv.parameter_value
       FROM fnd_svc_comp_params_tl fscp, fnd_svc_comp_param_vals fscv
       WHERE     fscp.display_name = 'Test Address'
       AND fscp.parameter_id = fscv.parameter_id; 
           
             Query will result with value     ‘NONE’ if override is not set earlier.

         2.      Now run the below sql update statement and commit

    UPDATE fnd_svc_comp_param_vals fscpv
    SET fscpv.PARAMETER_VALUE = 'erp.test02@company.com' --(Email        address to which all emails will be redirected)
    WHERE fscpv.parameter_id IN (SELECT fscp.parameter_id
    FROM fnd_svc_comp_params_tl fscp
    WHERE fscp.display_name = 'Test Address');

         3.      Now run the below SQL again to verify that the override email address has been set as required.
      SELECT fscv.parameter_value
      FROM fnd_svc_comp_params_tl fscp, fnd_svc_comp_param_vals fscv
      WHERE     fscp.display_name = 'Test Address'
    AND fscp.parameter_id = fscv.parameter_id;
           Query will result with value 'erp.test02@company.com'.

   4.      Start the workflow mailer from 'System Administration' > Oracle Applications Manager >  Click on Workflow

 Select Workflow Notification mailer and Click on   Select ‘Start’ from drop down list and Press on Go button. 
  

   5.      Workflow notification mailer should start and the status should be 'Running'.


      Steps3 - Test the setup
        
       1.      Click on 'Workflow Notification Mailer'.
       
  
  2.      Click on ‘Test Mailer’

        
       3.      Select user with email address set and click 'Accept' button. Email address which has been set to  override will receive two email. 
      The emails should not be sent to the actual email address that is set for the user which selected above. Now test environment has been configured to test workflow mailer server.