2 Introduction to Simplified Application Framework Development

This chapter provides an overview of Oracle Application Development Framework (Oracle ADF) and the JD Edwards EnterpriseOne-specific tools and environment required to support the development of ADF enterprise applications (also simply referred to as ADF applications) for EnterpriseOne.

This chapter contains the following topics:

2.1 About the Runtime Architecture for EnterpriseOne ADF Enterprise Applications

EnterpriseOne ADF applications expose a light interface to manage EnterpriseOne data. The Application Interface Services (AIS) Server provides a JSON over REST interface to EnterpriseOne applications and forms through the EnterpriseOne HTML Server. The AIS Server exposes this interface to enable communication between ADF applications and EnterpriseOne. The data displayed in an ADF application is retrieved by making calls to AIS.

The AIS Server includes support for JSON representation of Form Service Requests so ADF applications can easily consume responses the AIS server is providing. The AIS Server submits these ADF application requests to the EnterpriseOne HTML Server.

The AIS Server maintains sessions when ADF applications make requests. You can configure the session timeouts for the AIS Server through Server Manager.

The following illustration shows how the AIS Server functions as the interface between ADF applications and the EnterpriseOne HTML Server.

Figure 2-1 Runtime Architecture for EnterpriseOne ADF Enterprise Applications

Description of Figure 2-1 follows
Description of "Figure 2-1 Runtime Architecture for EnterpriseOne ADF Enterprise Applications"

The following list describes the above graphic:

  1. When user logs into EnterpriseOne, a connection is established between the AIS, JAS, and ADF Servers, identified by a handshake id.

  2. When an ADF application task is launched, JAS sends a request to the JDEADFContainer web app to start the ADF application, passing the handshake id.

  3. The ADF application uses the handshake id to access the AIS token created for the current session and executes AIS service calls.

  4. AIS validates the token for each request, forwards the requests to JAS to fulfill, and returns the responses to the ADF application.

2.2 About Oracle ADF

Oracle ADF is a solution that enables you to create web applications that run using JD Edwards data. EnterpriseOne web enterprise applications are built using Oracle ADF.

You should gain a thorough understanding of Oracle ADF before reading further. See the Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.

2.3 Developing Custom Simplified Applications with ADF for EnterpriseOne

If you have customized EnterpriseOne applications to meet your specific business requirements, you can extend the functionality of the ADF applications to interact with the customized EnterpriseOne applications. ADF enables you to retrieve data from custom EnterpriseOne applications by using existing business logic within your EnterpriseOne applications.

Before you develop custom ADF applications, you should plan all aspects of the process. The "Introduction to Building Fusion Web Applications with Oracle ADF" chapter in the Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework describes the architecture and key functionality of Oracle Application Development Framework (Oracle ADF) when used to build a web application that uses ADF Business Components, ADF Model, ADF Controller, and ADF Faces rich client, along with high-level development practices.

EnterpriseOne is utilizing ADF Task Flows to support Simplified EnterpriseOne applications.

These activities include gathering requirements, designing, developing, deploying, testing and debugging, securing, enabling access to the server-side data, redeploying, retesting and debugging, and publishing. As you perform these activities, make sure to consider the following tasks when building EnterpriseOne ADF applications with ADF:

  • Designing. Determine which forms in EnterpriseOne the ADF application will access data from. If there are multiple forms, consider creating a batch request to gather data from multiple forms.

  • Developing. Use the JD Edwards EnterpriseOne AIS Client API, AIS Client Class, and JDE ADF Helpers to help expedite the development of your ADF application. Refer to Appendix A, "Creating a Sample ADF Application" in this guide for an example of how to develop a custom ADF application for EnterpriseOne using these utilities.

2.3.1 JDE ADF Helpers

Oracle provides additional tools referred to as JDE ADF Helpers that help simplify the development of ADF enterprise applications. JDE ADF Helpers include:

  • AIS_Client.jar

    The AIS_Client.jar contains the AIS Client Java API, which provides Java methods to support communication with the JD Edwards EnterpriseOne Application Interface Services (AIS) Server.

  • AIS Client Class Generator

    The AIS Client Class Generator is a JDeveloper extension that enables you to generate foundational classes that are required to consume EnterpriseOne data returned by AIS.

  • E1UserSession.jar

    The E1UserSession.jar exposes classes that E1 ADF applications use to access both the LoginEnvironment object for the AIS server and additional features provided by the EnterpriseOne ADF Container web application. The LoginEnvironment object is especially important, because it's required for all AIS service requests within the ADF application.

2.3.2 The Data Model

The data model for EnterpriseOne ADF applications includes a data control class for executing AIS services and foundation classes that hold data returned in the AIS responses. These foundation classes are specific to the EnterpriseOne application forms accessed by an ADF application and are created by the AIS Client Class Generator. You typically include the form classes in the Model project with the data control class.

2.3.3 Form Service Requests (FSR)

AIS Server calls are used to retrieve data from forms in the EnterpriseOne web client. These calls are referred to as form service requests. ADF applications use form service requests to interact with EnterpriseOne web client forms. Form service requests, formatted as REST service calls that use POST, contain form service events or commands that invoke actions on an EnterpriseOne form.

By sending an ordered list of commands, a form service request can replicate the actions taken by an EnterpriseOne web client user, including populating fields, pressing buttons, and other actions. The form service request enables you to perform various operations on a single form. The URL for the form service request is:

http://<aisserver>:<port>/jderest/formservice

2.3.4 EnterpriseOne Rest Services Interface

The following illustration shows JSON input and output over HTTP Post:

Figure 2-2 AIS Client and Server Communication

Description of Figure 2-2 follows
Description of "Figure 2-2 AIS Client and Server Communication"

This illustration shows the communication from the client (which can be an ADF application or other AIS client) to the ADF Server, to the AIS Server, and the AIS Server's communication with the EnterpriseOne HTML server, where the EnterpriseOne forms run and the data is gathered. All client communication to AIS uses JSON formatted strings.

You can make REST calls directly to the AIS Server without using the JDE ADF Framework APIs. Use a REST service testing tool to call AIS services directly by sending JSON text to the URL for the service. All services are accessed using URLs with this format: http://<aisserver>:port/jderest/<uri>, where uri is the path to the various types of services such as formservice, file, defaultconfig, and poservice.

2.4 Sample Application

This guide includes an appendix that provides step-by-step instructions on how to create a sample EnterpriseOne ADF application. As you read about the JDE ADF Helpers and other features in this guide, you can refer to the steps in this appendix to see an example of how the features are used in the development of an ADF application.