Whenever you create new projects, you must first create an application using the Fusion Web Application (Oracle ADF) template. The system will then automatically create the data model and user interface projects for you. The default names that JDeveloper provides for these projects are Model and ViewController.

After your projects have been created, you must manually add the Applications Core library to the data model project and the Applications Core Tag library to the user interface project.

3.1 Using Technology Scopes

Technology scopes are attributes on the project that can be used to identify the different technologies used for that particular project. These attributes are used only within JDeveloper to assist you as you work. With technology scopes, the choices presented to you in the New Gallery and in the menus and palettes are filtered so that you see only those items that are most relevant to you as you work. Technology scopes have no effect on the data in the project itself.

The JDeveloper online Help has more information.

3.2 Provisioning the Workspace

The application's Enterprise Archive (EAR) will be available for developers to pick up when creating a custom workspace. An administrator that provisions the environment will be responsible for providing developers with the following:

EAR locations for the various applications.

jazn-data for the various applications.

LDAP/credential store that the developer can set up for authentication.

In addition, the Oracle Fusion Applications Customization Application Wizard will create a complete development environment for customizing existing Oracle Fusion applications. See the online Help in the wizard, and "Using JDeveloper for Customizations" in the Oracle Fusion Applications Extensibility Guide.

3.3 Adding the Applications Core Library to Your Data Model Project

Use these directions to add the Applications Core and Applications Core (Attachments Model) libraries to the data model project. The default name, provided by JDeveloper, for this project is Model.

To add the Applications Core and Applications Core (Attachments Model) libraries to a data model project:

The most common use of Applications Core setup UIs is through Oracle Fusion Functional Setup Manager tasks that invoke the UIs running on the Applications Core Setup Java EE application. Applications Core setup UIs are part of the Applications Core (Setup UI) shared library, which is hosted centrally in the Applications Core Setup Java EE application. As a result, developers typically will not need to include the shared library in their own Java EE applications.

3.5.1 What You May Need to Know About Setup UIs in Oracle Fusion Functional Setup Manager

Every Oracle Fusion application registers ADF task flows with the Functional Setup Manager, which provides a single, unified user interface that allows implementers and administrators to configure all applications by creating set up data.

To make these task flows available to developers, implementers or administrators, a developer integrates the desired Applications Core setup UI task flows with Functional Setup Manager. For information about specific task flows, see:

The most common use of setup UIs is through Oracle Fusion Functional Setup Manager tasks. This is true even for product-specific tasks that invoke the task flows with parameters that restrict the results to a single object or set of objects.

3.5.2 How to Integrate Setup UIs into Functional Setup Manager

To determine your requirements, familiarize yourself with these three scenarios and decide which one best fits your needs. The first two patterns are the typical use cases. The third is for approved exceptions only.

Scenario 2 is a product team-specific setup task that invokes a setup taskflow running in the Applications Core Setup Java EE application and passes in product-specific parameters to restrict the objects to only those relevant to this specific task. For example, you want to give your product administrator roles access to a Manage GL Descriptive Flexfields setup task that launches the Manage Descriptive Flexfields setup UI for descriptive flexfields belonging to the GL module only.

Scenario 3 is a product team-specific setup task that invokes a setup taskflow running in the product team's own Java EE application. This scenario is for approved exceptions only. For example, you plan to embed the setup UI within another UI in your own product team's Java EE application. For instance, the Manage Item Categories UI in Product Information Management (PIM) embeds the Manage Extensible Flexfields setup UI.

Follow the instructions in Table 3-1 that are relevant to your scenario to integrate Applications Core setup UIs into Functional Setup Manager.

Product teams should set the value of the Enterprise Application field (in the Application Design Repository) to the appropriate Java EE application for any of their product-specific Functional Setup Manager tasks that use Applications Core setup task flows. Typically, this should be set to the Applications Core Setup Java EE application.

X

X

Ensure product team roles inherit the appropriate Applications Core duty role. The duty roles support securing the setup tasks so only authorized users have access.

X

X

X

If you intend to integrate a product-team specific setup UI and it will run in your product team's own Java EE application, your application will need to include the Applications Core shared library.

X

For any of the duty roles and their associated privileges that your application inherits, include permissions for those privileges in your application's jazn-data.xml file. Permissions make it possible to grant authorized users access to your setup tasks.

X

3.6 Creating a Database Connection

A connection to a valid database is necessary to run most, if not all, applications.

Add the following connection details for the ApplicationDB connection name as shown in Figure 3-3.

Figure 3-3 Create Database Connection Dialog

Connection Name: The value for the connection name must be ApplicationDB.

Connection Type: Choose Oracle (JDBC).

Username and Password: Enter the database username and password.

Deploy Password: Select this checkbox.

Host Name: This is the default host name if the database is on the same machine as JDeveloper. If the database is on another machine, type the name (or IP address) of the computer where the database is located.

JDBC Port: This is the default value for the port used to access the database. If you do not know this value, check with your database administrator.

SID: This is the default value for the SID that is used to connect to the database. If you do not know this value, check with your database administrator.

Click Test Connection. (Database listener Port). If the database is available and the connection details are correct, the message Success! is displayed. If not, review and correct the information that you entered.

ECSF provides developers a set of tools and a framework to quickly and efficiently integrate Oracle Secure Enterprise Search (SES) into enterprise applications to expose business objects for full text search.

Developers use ECSF to integrate search functionality in Oracle Fusion applications by defining searchable objects and searchable attributes. Defining searchable objects and searchable attributes enables the corresponding view objects and view object attributes for search, and creates the necessary metadata for ECSF. However, before you can define searchable objects and searchable attributes, you must add the Search navigation tab to the overview editor in JDeveloper.

3.8 Overriding the Default Resource Bundle

In an Oracle Fusion application, strings are not hard-coded; they are placed in resource bundles. An application can have multiple resource bundles.

However, you may need to change a specific string in all places where that string appears without having to change it on a per-instance (page/ADF BC object) basis. For instance, you may need to change "worker" to "employee," "activity" to "task," or "expenditure" to "cost." The method to use is the override resource bundle.

Oracle Enterprise Scheduler Service applications, also known as Oracle Enterprise Scheduler Service hosting applications, are deployed to an Oracle Enterprise Scheduler Service-configured runtime or cluster that has been pre-deployed with the base ESSAPP infrastructure Java EE application. Following standards, Oracle Enterprise Scheduler Service workspaces exist one per product family and are responsible for containing these supporting projects:

Oracle Enterprise Scheduler Service projects for containing Job, Job Set, Incompatibility and Schedule Metadata as well as source files for any Java Job implementation.

3.10.1 How to Create the SuperEss Project

In Oracle Fusion Applications, all Oracle Enterprise Scheduler Service workspaces must contain a SuperEss project that contains the EJB deployment descriptors to register the hosted application with the ESSAPP base application, and to register both the MetadataService and RuntimeService EJBs. This technique avoids having multiple projects with conflicting deployment descriptors in a single deployment archive (EAR).

RuntimeService and MetadataService beans are hosted by the ADF UI application and the Oracle Enterprise Scheduler Service hosting application.

If you are creating a new Oracle Enterprise Scheduler Service workspace or your Oracle Enterprise Scheduler Service workspace does not already have a SuperEss project, create one using these steps:

In JDeveloper, create the SuperEss project by creating a new Generic Project named SuperEss.

3.10.2 How to Build the EAR/MAR Profiles

Oracle Enterprise Scheduler Service-hosted applications are built into EAR files and deployed as Java EE applications. The EAR archive must contain the SuperEss EJB JAR, the MAR archive containing all Oracle Enterprise Scheduler Service metadata, and all the Job and Job-related classfiles using JARs in the APP-INF/lib directory. Follow these steps to create the appropriate deployment profiles.

3.10.2.1 Deploying a Project-level Metadata Archive (MAR)

Note:

Oracle Enterprise Scheduler Service is used in the instructions because it is the primary, but not only, use case.

To simplify patching of Oracle Enterprise Scheduler Service metadata artifacts and align with code-level patching, it is essential to have project-level deployment artifacts. To support this requirement, EARs with multiple MAR files can be deployed. This section describes what must be done to properly build Oracle Enterprise Scheduler Service workspaces to support project-level MARs.

3.10.2.1.1 How to Enable Your Workspace for Project-level MAR Deployment

In contrast to standard MAR deployment, in which a single .mar file is created as a metadata aggregate from contributors defined from one or more projects in the workspace, this approach focuses on the creation of a JAR-based deployment profile in each project where the target file is named with a .mar extension. The resultant .mar files are then deployed into the workspace's jlib folder, which is added to the top-level directory of the EAR by the EAR deployment profile.

Follow these steps to implement the project-level MAR deployment.

Prepare the Workspace EAR deployment profile.

Open your Oracle Enterprise Scheduler Service Workspace in JDeveloper.

3.10.2.2 Building the EAR Profile

The EAR profile pulls together all of the previously-created EJB and MAR profiles to build the Oracle Enterprise Scheduler Service-hosted application. All the Oracle Enterprise Scheduler Service workspace projects should have ADF library JAR deployment profiles, and those with Job-supporting implementation classes should be deployed to a directory that can be added to the Oracle Enterprise Scheduler Service EAR's contributor list.

To create the EAR profile, follow these steps:

Open the Application Properties and select the Deployment panel.

Click New to create a new deployment, choose EAR File as the profile type, and provide a unique name.

In the Application Assembly, choose the SuperESS EJB-JAR profile and nothing else.

Select the File Groups menu entry and click New, giving the name APP-INF/lib and assigning the target directory to ess workspace root path/jlib.

Under the APP-INF/lib File Group's contributors, add the directory that holds all of the Job-supporting Implementation classes (not data model projects with ADF Business Components for parameter view objects or parameter task flows).

Select the File Groups menu entry and click New, giving the name MAR Group and leave the target directory empty. Under the MAR Group's contributors, add the directory that holds all the project level mar files (such as Ess/jlib).

Click OK.

Note that the EAR profile should contain only the SuperEss EJB JAR, the MAR, and the JAR files for the Job implementation classes. The Oracle Enterprise Scheduler Service hosting application's EAR file must not contain JARs, descriptors or other artifacts for UI, data model or services functionality. Should your application contain projects with servlet or UI task flows for development testing, they must be bundled into a separate, UI-specific, set of EAR/MAR deployment profiles.

When deploying an Oracle Enterprise Scheduler Service hosting application, the target managed server must have the ESSAPP base application pre-deployed and configured to run against a working Oracle Enterprise Scheduler Service database schema.

For deployment from JDeveloper, you will need to create an Application Server connection in the JDeveloper resources palette before or as part of the deployment activity using the New Connection feature. Once your Oracle Enterprise Scheduler Service application is ready for deployment, including all requisite project and application-level profiles, you can initiate deployment by following these steps:

Click Deploy > <ear profile name> from the Application menu.

Choose Deploy to Application Server and click Next.

If no application servers are defined, or the one to which you wish to deploy is not defined, click Add an Application Server. Otherwise, select the server. Do not click Next yet.

De-select the Deploy to all server instances in the domain option, because certain libraries needed for deployment of the Oracle Enterprise Scheduler Service hosting application will not be targeted to all the managed servers, and deployment will fail.

Click Next.

Choose the appropriate managed server and click Next.

Click Finish to begin deployment.

JDeveloper will build the EJB JAR and the MAR, and bundle those archives, along with the JAR files, in the APP-INF/lib contributor location. This packaged archive will be sent to the managed server for deployment. During deployment, the Oracle Enterprise Scheduler Service hosting application will register itself through the ESSAPP base application using the ESSAppEndpoint descriptor in your ejb-jar.xml file.

Before you can deploy your web project, you need to complete a number of preliminary steps. These include setting up your web project and configuring your user interface project; creating the SuperESS project; creating the appropriate deployment profiles; and creating and setting up Oracle WebLogic Server.

3.11.1 How to Set Up Your Web Project

When you choose the Oracle Fusion Applications Developer role when starting JDeveloper, many settings default automatically for you. However, there are still certain options that you need to set manually to configure your project.

This section discusses the specific options that need to be set manually to configure your user interface project. The default name for the project that JDeveloper provides is ViewController.

3.11.1.1 Configuring Your User Interface Project

This section describes how to configure your user interface project in JDeveloper.

3.11.2 How to Create the SuperEss Project in the ADF UI Workspace

3.11.3 How to Deploy Your Web Project

Deployment is the process of packaging application files and artifacts and transferring them to a target application server to be run. During application development using JDeveloper, developers can test the application using Integrated WebLogic Server that is built into the JDeveloper installation, or they can use JDeveloper to directly deploy to a standalone application server.

After the application has been developed, administrators can deploy it to production application servers.

Note:

This section assumes that you are deploying a web project to Standalone WebLogic Server. Creating deployment profiles is not necessary if you are running the project in Integrated WebLogic Server from within JDeveloper. In this case, JDeveloper, behind the scenes, creates an in-memory deployment profile.

Create a Web Application Archive (WAR) deployment profile. To create the WAR deployment profile, see "How to Create Deployment Profiles" in the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.

Once you have defined the WAR, create an EAR deployment profile that includes the WAR profile, for the application. To create an EAR deployment profile, see "Creating an Application-Level EAR Deployment Profile" in the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.