In this tutorial, you will use the rich functionalities provided within JDeveloper 11.1.2 to create a web application based on EJB, JPA and JavaServer Faces.
show more or lessRead more...
Purpose Duration Application

In this tutorial, you use Oracle JDeveloper 11g Version 11.1.2.0.0 to build a web application. To build the data model, you use the EJB diagrammer, EJB 3.0 and Java Persistence API (JPA). For the web client side, JavaServer Faces (JSF) is used. A main master-detail page is created with query and edit functionalities in the user interface. A task flow, with a search functionality, is also added as a region to the page.
To see the complete application you will create, click the Download button to download a zip of the final application, and then unzip it in your JDeveloper mywork folder.

120 minutes Download application name.zip
Part 1: Building the Data Model with EJB 3.0
You first build the data model portion of the application. The Java Persistence API (JPA) provides a POJO persistence model for object-relational mapping.
You build the model using EJB/JPA components. Show more or lessRead more...
Step 1: Create a New Application and Projects
Before you create any components, you must first create an application and projects.
  1. Start JDeveloper by selecting Start > All Programs > Oracle Fusion Middleware 11.1.2.0.0 > JDeveloper Studio 11.1.2.0.0

  2. If prompted for a Role, choose Studio Developer (All Features) and click OK.

    Select Role dialog at startup
  3. Close the Tip of the Day window.

    Once loaded, the JDeveloper IDE appears. Show more or lessRead more...
  4. Click the Application Navigator tab to go back to the Application Navigator. Click the New Application icon.

    The New Application link
  5. In the New Gallery, select the Fusion Web Application (ADF) option.

    The New Gallery dialog

    Click OK.

  6. In the Create Application dialog box, enter the Application Name HR_EJB_JPA. Notice that as you enter the application name, the directory name changes automatically. Enter oracle as the Application Package Prefix.

    Step 1 of the  Create Fusion Web Application
    Choosing the Fusion Web Application option creates 2 projects. Show more or lessRead more...

    Click Finish. Wait for JDeveloper to create your application environment.

  7. The Application Navigator displays the two projects created. On the right pane, notice the application overview allowing you to keep track of the steps as you complete them.

    Default application Navigator created for a Fusion Web Application
    There are now 2 projects in your application. Show more or lessRead more...
Step 2: Create the Persistence Model
In this section of the tutorial, you create the persistence model for Departments and Employees using EJB 3.0 entity beans. To create EJB 3.0 entity beans, perform the following steps:
  1. In the Application Navigator, right-click the Model node and select New from the context menu.

    New option from context

  2. In the New Gallery select the All Features tab, then select Business Tier > EJB as the category and double-click the Entities from Tables item.

    This is the New Gallery dialog.

     

  3. In Select EJB Version, select EJB 3.0 -- JPA Entities as the EJB version if not already selected, then Next.

    Step 1 of the Create Entities from Tables

    Click Next to skip the persistence unit definition.

    EJB 3.0 greatly simplifies entity beans and standardizes the POJO persistence model. Show more or lessRead more...
  4. In the Type of Connection page choose the Online Database Connection option. Then click Next.

    Step 3 of the Create Entities from Tables
  5. In the Database Connection Details page, click the Create button Add Button to create a new connection.

    Step 4 of the Create Entities from Tables to define a database connection
  6. Provide the following values to create the database connection to the hr schema. Note that the values provided here as examples may need to be modified to work with your environment. Leave the rest of the properies at their default.

    Option Value
    Connection Name HR
    Username/Password hr / <your hr password>
    Save Password Checkbox checked
    Driver Thin
    Host Name The machine where the schema is installed (e.g. localhost)
    SID

    The database where the HR schema is installed (XE, orcl...)

  7. Click Test Connection to confirm that you can connect.

    Create Database Connection dialog
    Click OK if the connection was successful. Show more or lessRead more...
  8. Back in the Database Connection Details page, click Next.

    Step 4 of the Create Entities from Tables
  9. In the Select Tables page, click Query to retrieve the available objects for the HR schema. Then select DEPARTMENTS and EMPLOYEES and shuttle the selection into the Selected pane using the right arrow button Right Arrow button.

    Step 5  of the Create Entities from Tables

    Click Next.

  10. In this step, make sure the package name is oracle.model.

    Step 6 of the Create Entities from Tables

    Click Next, then Finish.

  11. In the Application Navigator one java class file is created for Departments and one for Employees.

    The Application Navigator
  12. Click the Save All Save All button icon to save your work.

Step 3: Create an EJB Diagram

An EJB diagram is a way to create and visualize entities, java beans and relationships between these components. To create an EJB diagram perform the following steps:

  1. Right click the Model node in the Application Navigator and select New.

    The New option from context
  2. In the New Gallery select Business Tier > EJB as the category and double click EJB Diagram (JPA/EJB 3.0).

    The New Gallery

     

  3. In the Create EJB Diagram dialog, change the default name for the diagram (EJB Diagram1) to HR EJB Diagram.The default Package name should be oracle.model.

     The Create EJB Diagram dialog

    Click OK.

  4. On the Associate Diagram With Persistence Unit dialog, click OK to accept the proposed Persistence Unit (Model.jpr).

    Associate Diagram With Persistence Unit dialog
  5. A new empty diagram opens in the diagram editor.

    New empty diagram b
    Modeling EJB/JPA components on a diagram can be useful for the developer. Show more or lessRead more...
  6. Select the Departments and Employees entities from the Application Navigator and then drag and drop them onto the diagram.

    Drag and Drop EJBs onto the diagram surface
  7. The diagram displays the EJB components that you just created from the Departments and Employees tables. Zoom in if necessary and reorganize the layout of the diagram to have both entities horizontally aligned. You can tidy the diagram by selecting relationships and using the Straighten lines option from the context menu.

    EJB diagram  with entities
  8. Click the Save All Save All button icon to save your work.

Step 4: Create a Session Bean to Expose for the Client Application
A session facade presents client objects with a unified interface to the underlying EJBs (Enterprise JavaBeans). The client interacts only with the facade, which resides on the server and invokes the appropriate EJB methods. Show more or less Read more...

In this step, you create a session bean that implements a method to find employees and departments records.

  1. In the Component Palette, select the EJB Components library and open the EJB Nodes.

    Component Palette
  2. Select the Session Bean Session Bean button component and then drag and drop it onto the diagram.

    Drag and drop Session Bean onto the EJB diagram

    The Create Session Bean Wizard opens. (If necessary, click Next on the Welcome step.)

  3. In the EJB Name and Options step, set the EJB Name to HRFacade and make sure that the following values are properly set:

    Property Value
    EJB Name HRFacade
    Session Type Stateless
    Transaction Type Container
    Generate Session Facade Method (Checked)
    Entity Implementation JPA Entities
    Persistence Unit Model

    This is Step 2 of the Create Session Bean wizard.

    Click Next.

    There are two types of session bean, Stateful and Stateless. Show more or less Read more...
  4. In the Session Facade step, any entities in this project appear as a node in the tree control. You can select the checkbox to include all entity methods this entity exposes, or expand the nodes and select a subset of methods.
    Expand the Employees and Departments nodes and select all methods for each entity.

    This is Step 3 of the Create Session Bean wizard.

    Click Next.

  5. In the Class Definition step, make sure that the full name for Bean Class is oracle.model.HRFacadeBean, and then click Next.

    This is Step 4 of the Create Session Bean wizard.
  6. In the following step, ensure that both Remote and Local interface implementations are selected. The remote interface is used for client applications that run in a separate virtual machine, such as Java clients, whereas a local interface is used for client applications that run in the same virtual machine, such as Web clients.

    This is Step 5 of the Create Session Bean wizard.

    Click Next to review the summary of the created classes and then Finish.

  7. The diagram should now look like the following:

    The EJB diagram
  8. The Application Navigator should look like this:

    The Application Navigator

    The session bean is made up of three files: HRFacadeBean - contains the session bean code. HRFacade - describes the capabilities of the bean for remote clients and HRFacadeLocal describes the capabilities for the local client.

  9. Click the Save All The Save All icon icon to save your work.

Step 5: Create ADF Data Controls from EJB Session Beans

You now expose the EJB as a data control for the Oracle ADF framework. This simplifies the way that you bind user interfaces to the EJB. To learn more about the ADF Framework visit: http://oracle.com/technology/products/adf
To create ADF data controls from EJB Session Beans, perform the following steps:
  1. Right-click the HRFacadeBean node in the Application Navigator and select Create Data Control from the context menu.

    The context menu
  2. In the Choose EJB Interface dialog, select Local, and click OK.

    Choose EJB Interface dialog.

    Click the Save All icon Save All icon to save your work.

  3. The Application Navigator should now look like this:

    The Application Navigator
    A number of things happen in your project when you create a data control. Show more or less Read more...
  4. Expand the Data Controls accordion to review the components that have been created and are now available for the UI.

    The Data Controls pane
  5. Notice the Data Control Registry displaying the available data controls.

    The Data Control Registry
  6. Expand the HRFacadeLocal node. Selecting the departmentsFindAll node provides details in the right hand side about the data control.

    The Data Control Registry
    The overview editor for the DataControls.dcx file provides a view of the master-detail hierarchies of your data model as well as methods from the session facade.Show more or less Read more...
  7. You can collapse the Model project node and right-click any of the tabs to close all open tabs.

    Context menu
Bookmark Print Expand all | Hide all
Back to top
Copyright © 2011, Oracle and/or its affiliates. All rights reserved.