2 Introduction to Mobile Enterprise Application Development

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

This chapter contains the following topics:

2.1 About the Runtime Architecture for EnterpriseOne Mobile Enterprise Applications

EnterpriseOne mobile enterprise applications require a light interface to manage EnterpriseOne data from mobile devices. 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 mobile applications and EnterpriseOne.

The AIS Server includes support for JSON representation of Form Service Requests so mobile applications can easily format requests. The AIS Server submits these mobile application requests to the EnterpriseOne HTML Server.

The AIS Server maintains sessions for mobile applications. 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 mobile applications and the EnterpriseOne HTML Server.

Figure 2-1 Runtime Architecture for Mobile Enterprise Applications

Description of Figure 2-1 follows
Description of ''Figure 2-1 Runtime Architecture for Mobile Enterprise Applications''

2.2 About Oracle Mobile Application Framework

Oracle Mobile Application Framework (MAF) is a solution that enables you to create mobile applications that run natively on both iOS and Android phones and tablets. EnterpriseOne mobile enterprise applications are built using Oracle MAF.

You should gain a thorough understanding of Oracle MAF before reading further. See the Oracle® Mobile Application Framework Developing Mobile Applications with Oracle Mobile Application Framework Guide, which you can access here:

https://docs.oracle.com/middleware/maf220/mobile/develop-maf/toc.htm

2.3 Understanding Developing Custom Mobile Enterprise Applications for EnterpriseOne

While Oracle provides many out-of-the-box EnterpriseOne mobile enterprise applications, the applications may not meet your specific business requirements. Therefore, Oracle provides a mobile application framework with tools that enable you to develop custom mobile applications for EnterpriseOne.

Also, if you have customized EnterpriseOne applications to meet your specific business requirements, you can extend the functionality of the mobile applications to interact with the customized EnterpriseOne applications. The mobile application framework enables you to extend data from custom EnterpriseOne applications to custom mobile applications by using existing business logic within your EnterpriseOne applications.

Before you develop custom mobile applications, you should plan all aspects of the process. The "About Developing Applications with Oracle Mobile Application Framework" section in the Oracle Fusion Middleware Developing Mobile Applications with Oracle Mobile Application Framework Guide provides a high-level description of activities that you should perform when building a MAF application. 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. When developing custom EnterpriseOne mobile applications, pay special attention to the following activities:

  • Designing. Determine which forms in EnterpriseOne the mobile 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 Mobile Framework APIs, Login Module, and JDE Mobile Helpers to help expedite the development of your mobile application. Refer to Appendix A, "Creating a Sample Mobile Application" in this guide for an example of how to develop a custom mobile application for EnterpriseOne using these utilities.

  • Securing. The Login Module handles the authentication of EnterpriseOne mobile enterprise application users.

  • Publishing. This is an important aspect of your deployment plan, as it typically involves publishing to an enterprise server, Apple App Store, or Google Play.

2.3.1 JDE Mobile Helpers

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

  • JDEMobileFramework.jar

    This JAR file contains the JD Edwards EnterpriseOne Mobile Framework APIs, a set of classes and API methods that enable the mobile application to manage (create, read, update, delete) data in EnterpriseOne through REST services.

  • AIS Client Class Generator

    The AIS Client Class Generator is a JDeveloper extension that enables you to generate Application Controller foundational classes that are required by EnterpriseOne mobile applications.

  • Login.jar

    The Login.jar provides a configuration page, login page, and a springboard. The springboard contains links to Legal Terms or the End User License Agreement (EULA), About information, and the Logout.

  • about.properties

    This file is for configuring information displayed on the About page, including the application name, application version, and the application ID (which is part of enabling the application with EnterpriseOne application security). If you enable the springboard, you should provide these values so that they will appear on the about page.

  • Resource Bundle

    The Resource Bundle contains text resources for the pages provided in the Login.jar.

  • Javascript (JS) files and CSS files

    The Javascript and CSS files are dependencies of the JDEMobileFramwork.jar and the Login.jar. The Javascript provides an animated icon to show that the mobile application is processing while service calls are made. The CSS provides an extension to the styling skin provided by Oracle MAF. It enables you to make adjustments to the style of the configuration, login, and springboard pages of your mobile application.

2.3.2 The Data Model

The data model for developing mobile enterprise applications includes foundation classes that hold the data retrieved from AIS services. These classes are specific to the EnterpriseOne applications accessed by a mobile enterprise application. In JDeveloper, you can include the classes in the Application Controller or the View Controller.

You use the AIS Client Class Generator to generate classes for the Application Controller and View Controller. To generate data classes for a form, in the AIS Client Class Generator, you define the service request information by identifying the form and the CRUD (create, read, update, delete) operation that you want the application form to perform.

See "Using the AIS Client Class Generator" in the JD Edwards EnterpriseOne Application Interface Services Server Reference Guide for more information.

2.3.3 Form Service Requests

AIS Server calls are used to retrieve data from forms in the EnterpriseOne web client. These calls are referred to as form service requests. Mobile 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 a mobile device or other AIS client) 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 uses JSON formatted strings.

You can make REST calls directly to the AIS Server without using the JDE Mobile 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. For a list of all services that are available on the AIS Server, see Working with the EnterpriseOne REST Services Interface in this guide.

2.4 Sample Application

This guide includes an appendix that provides step-by-step instructions on how to create a sample EnterpriseOne mobile application. As you read about the JDE Mobile 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 a mobile application.

2.5 Mobile Application Archives

Oracle provides mobile applications archives, which you can use to create your own iOS and Android artifacts. This enables you to integrate and control mobile applications internally within your company rather than connecting to a public application store.

You can create your own iOS or Android artifact by generating the mobile application from a mobile application archive (MAA), customizing it, and then publishing it as your own "new" mobile application.

2.6 Oracle Mobile Cloud Service Support in Mobile Application Archives

You can also use an MAA to create a mobile application that can be configured to work with Oracle Mobile Cloud Service. Oracle Mobile Cloud Service is a cloud-based service that provides a unified hub for developing, deploying, maintaining, monitoring, and analyzing your mobile applications and the resources that they rely on. For more information Oracle Mobile Cloud Service, see the Oracle Mobile Cloud Service Guide available at:

http://docs.oracle.com/cloud/latest/mobilecs_gs/MCSUA/title.htm