Top Banner
ADF Mobile: Environment & Development Process Ma Ping [email protected]
33

ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Jul 21, 2018

Download

Documents

ledat
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

ADF Mobile:

Environment &

Development Process

Ma Ping

[email protected]

Page 2: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Overview

Topics covered in this lesson include:

• Introduction

• Platform Support

• Setup Development Environment

• Configuring for iOS Platform

• Configuring for Android Platform

• Form Factors

• Roadmap for Mobile Development

• Application & Project Artifacts

Page 3: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Oracle’s Mobile Approach

ORACLE MOBILE APPS

ORACLE APPLICATION DEVELOPMENT FRAMEWORK

ISV / CUSTOM APPS

• One common

platform for both

desktop-based and

mobile enterprise

applications

• Extend enterprise

applications

and data to mobile

clients

• Support multiple

channels and

platforms

Page 4: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Oracle ADF Mobile

• One framework, two delivery channel:

• Mobile browser

• On-device rich mobile application

• Build once, and deploy to many mobile platforms

• Deliver mobile-optimized user experience

• Mobile-enable enterprise middleware and apps

• Enhance developer productivity

• Support remote and on-device content and interactions

Page 5: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Hybrid Mobile Application Platform

• Thin Native Framework on each platform• Allows for native application install

• Allows for device interaction

• HTML/JavaScript frontend

• PhoneGap integration

• Java technology

• SQLite integration

• Encryption Extension

• Access Control and Security

Page 6: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

ADF Mobile Architecture

Page 7: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Supported Platforms

• ADF Mobile runs on mobile devices powered by iOS

and Android platforms

• iOS

• Develop and Deploy on a Mac

• Requires Xcode and iOS SDK

• Android

• Development and Deployment are supported

in either a Mac, Windows PC, or Linux

• Requires Android SDK

• Download SDKs for the latest

supported Android OS

Page 8: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

JDeveloper Setup & Configuration

1. Install the ADF Development Environment

• Oracle JDeveloper (Studio Edition) 11.1.2.3 or above

• ADF Mobile extension (Help – Check for Updates)

• Verify ADF Mobile Installed

2. Install and Configure Deployment

Environment• iOS Simulator to be used, xcodebuild and iTunes

• Android SDK and Platform locations

3. Define Forms Factors

• Specify devices to be used

• Define device size and resolution

Page 9: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Installing ADF Mobile Extension

In Studio Edition:

1. Select Help, then

Check for Updates

2. Select ADF Mobile

update

3. Restart JDeveloper

Check whether or not ADF Mobile was successfully added

to JDeveloper:

1. Navigate to the New Gallery

2. In the Categories pane, expand the Applications node

and make sure it contains ADF Mobile Application

Page 10: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

iOS Development Environment

For developing iOS Mobile Apps:

• Requires a Mac

• 4 GB Minimum/8 GB of RAM recommended

• Intel Duo Core/i5 processor or above

• Mac OS 10.6.8 (Snow Leopard) (or above)

• XCode 4.2+ and iOS SDK 5.0+ (or above)

• JDeveloper 11gR2 update 3 or above

• ADF Mobile Extension

• To deploy to device:

• Join an Apple iOS Developer Program

Page 11: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

iOS Developer Programs

• Free Program

• Anyone with an Apple ID can register as a developer for free

• Allows developer to download older versions of Xcode

• Standard Program

• Charge $99 USD or equivalent fee per year

• All of the free program features, plus

• Deploy to devices registered as development devices

• Distribute iOS application through the Apple AppStore

• Enterprise Program

• Charge $299 USD or equivalent per year

• All features of the standard program, except direct

distribution is allowed to any devices within an enterprise

Page 12: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Setup an iOS Platform

1. Set up certificates and provisioning profiles in the

Apple Developer Portal

2. Install certificates and profiles to the development

Mac

3. Install Xcode and iOS SDK with Simulator

4. Configure JDeveloper for iOS Development

• iOS SDK location

• iTunes location

• Certificate name

• Provisioning Profile location

Page 13: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Android Development

Environment

For developing Android Mobile Apps

• PC, Mac, or Linux

• 4GB Minimum/8 GB RAM Recommended

• Intel Duo Core/i5 processor or above

• OS requirement depends on Android SDK and

JDeveloper support

• Android SDK 4.x

• Although ADF Mobile Runtime supports

devices running lower versions of Android,

only 4.x or above Emulators are supported

• JDeveloper 11gR2 update 3

• ADF Mobile Extension

Page 14: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Setup an Android Platform

1. Install the Android SDK Manager

2. Download Android SDK Tools and API Packages

3. Configure Android emulator with SDK API level 15

or above

4. Generate Private Key and Key Store for building

in release mode

5. Configure JDeveloper for Android Development

• SDK location

• Platform location

• Release Mode Key Store Location

Page 15: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Platforms and Form Factors

• A form factor is a specific device configuration.

• Identified by a name that you specify

• Form factors defined in preferences

• Resolution denoted by number of pixels

• Switch between form factors to see how page is rendered

• View multiple form factors using the split screen view

• Available for both iOS and Android platforms

Page 16: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Roadmap for Mobile Development

1. Identify Application Requirements based on Use Cases

2. Design Application: Client & Server sides

3. Define Application and Features

4. Create Client-side Data Access Layers with Stub Data Objects

and Data Controls

5. Develop Task Flow and UI Backed by Stub Data

6. Deploy, Test, & Refine to Ensure Optimal User Experiences

6. Develop Server-side Data Services in Parallel

7. Configure and Enable Security

8. Connect to Server-side Data Services

9. Test in Simulators and Devices, and Optimize for Performance

10. Deploy to Production Environment

Page 17: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Roadmap for Mobile Development

1. Identify Application Requirements based on Use

Cases

• What business processes will the mobile users want to perform?

• Where will mobile users be performing these actions?

• On-the-go, in front of the customers, at service site, etc.

• Will there be network connectivities?

• What data will mobile users need to access?

• Are there any device services that will assist in user performing these tasks?

• Response time requirement – data entry/rapid response, search, push notifications, etc.

Page 18: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Roadmap for Mobile Development

2. Design Application: Client and Server sides

• Determine target device form factors (tablet vs. phone)

• Partition application functionality into features

• Create mobile application wireframes to determine page flow,

user interaction requirements, and data requirement

• Tablet and phone typically would have separate

application wireframes

• Refine wireframe with mobile users in iterations

• Determine application data access patterns (online vs. offline):

• If online, determine and optimize frequency of data

retrieval vs. amount of data retrieved.

• If offline, determine synchronized data set

Page 19: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Roadmap for Mobile Development

3. Define Application and Features

• Create new ADF Mobile application and default projects

• Determine Features that need to be created

• Create Features and define

• Icons

• Lifecycle Event Code

• Constraints

• Content

• Pull in Feature Archives as needed

• Add preferences

Page 20: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Roadmap for Mobile Development

4. Create Client Side Data Access Layer with Stub Data

Objects and Data Controls

• Create Web Services/XML Data Control and skip the

following, if Data Control alone meets data requirement

• Create Data Objects (POJOs) that correspond to client-side

data model

• Objects and Attributes

• Hierarchical relationship between data objects

• Create Factory Objects (POJOs) that instantiate and

populate the Data Objects

• Initially populate with stub data locally

• Create Bean Data Control based on POJOs

Page 21: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Roadmap for Mobile Development

5. Develop Task Flow, and UI backed by Stub Data

• Add application feature content (AMX, Local/Remote HTML)

• Define/develop application and feature lifecycle event code

• For Local or Remote HTML Features

• Configure URL endpoints, constraints, additional

white-listed URLs, preferences, and security

• For each AMX Feature

• Create ADF Mobile Task Flow

• Create AMX Pages and user interface with Bean

Data Controls with Stub Data

Page 22: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Roadmap for Mobile Development

6. Deploy, Test, and Refine Mobile Application to Ensure Optimal User Experiences

• Create deployment profiles for the different mobile platforms

• Deploy to simulator or devices in Debug mode for Java and JavaScript debugging

• Deploy to devices in Release mode for performance testing and user testing

• Refine user interface and data access patterns based on test results

• Ease of use/meeting use cases and requirement

• Streamline number of user clicks

• Optimize the amount of data displayed and retrieved for each user operation

Page 23: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Roadmap for Mobile Development

7. Develop Server-Side Data Services in Parallel

• Expose server data for mobile consumption

• For example, define Service Interface for ADF BC

• Implement data delivery and integration mechanisms

• For example, to integrate with Oracle EBS, may need to create new SOA app using Oracle Application Connector

• Optimize for mobile data delivery

• For example, using SOA Suite and Oracle ESB to expose data as REST services

• Set up network infrastructure to expose data

• May need to set up a server in DMZ for direct internet access

Page 24: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Roadmap for Mobile Development

8. Configure and Enable Security

• Test out server connectivity and services without security first if possible

• Server side:

• Configure Web Services security policies

• Setting up login Server such as Oracle Mobile and Social Access Services

• Set up Access Control Server

• Client (ADF Mobile app) side:

• Specify Authentication and Access Control URLs

• Configure for SSL and register (Private) SSL Cert

• Create custom login screen as needed

Page 25: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Roadmap for Mobile Development

9. Connect to Server-Side Data Services

• Create Web Services Data Control (for SOAP) or URL Data Control (for XML)

• Create URL connection for the REST/JSON service

• Add or modify the “Factory” Objects in the data services layer on the client side to invoke server-side services

• For SOAP and XML, use invokeDataControlMethod APIs

• For JSON, use RestServiceAdapter APIs

• Add code to populate local database from server-side data to support offline-capable use cases

• Configure OWSM policies for SOAP-based web services in the WS data control

Page 26: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Roadmap for Mobile Development

10. Retest in Simulators and Devices, and Optimize for Overall Application Performance

• Enable debugging and test in simulator for data access and display

• Obtain and configure certificates, provisioning profiles, and keys, for on-device deployment

• Generate application binary in device native format (e.g. ipa or apk), and deploy to test device

• Test for application functionality and features, such as integration to device services

• Test for application performance with actual calls to server-side services

• Optimize client and server side code as needed

Page 27: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Roadmap for Mobile Development

11. Deploy to Production Environment

• Determine distribution mechanism

• App Stores (Apple AppStore, Google Play, etc.)

• Enterprise Internal Distribution

• Distribution through App Store:

• Obtain App Store account

• Submit application for review/distribution

• Distribution within an Enterprise:

• Over-the-air via web server

• Through third party app provisioning and enterprise store front server

• Setup Configuration Server as needed

Page 28: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Default ADF Mobile Project Files

Application Controller

• Contains application life-cycle event code (Startup -

shutdown)

• Houses application-wide resources

• Device Data Controls

View Controller

• Houses the feature level resources

• Task flows, Views, Web Services Data Controls,

and Java Beans

• Describes resources at the application feature level

• May contain one or more features

• Deploys to a Feature Archive

• An App may contain one or more ViewController projects

Page 29: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Mobile App Configuration Files

• adfmf-application.xml: Defines application

parameters such as name, application-level navigation

such as springboard and navigation bar, feature

configuration, application-level preferences, login page,

authentication/access control server, and white listing

• connections.xml: Defines all connections in the ADF

Mobile application

• cvm.properties.xml: Use this file to configure JVM

Memory allotment, enable/configure Java and JavaScript

debugging

• logging.properties: Configure logging level and

format

• connections.xml: Defines all services and login

connections in the ADF Mobile application

Page 30: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Application Controller Files

• adfmf-skins.xml: Defines the available skins and also

enables you to define new skins

• adfm.xml: Maintains the paths (and relative paths) for the

.cpx, .dcx, .jpx, and .xcfg files (registries of metadata).

There is typically no need to ever modify this file

• DataControls.dcx: Contains data controls registry for

Device Services. May contain other data controls you may

define at the Application Controller level

Page 31: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

View Controller Files

• adfmf-feature.xml: A stub XML descriptor file that

enables you to define application features

• DataControls.dcx: Contains registry for all data controls

(such as SOAP or XML) defined in the project. This is also where you can define WS security policy.

• Application-Specific Content: The application

features defined in adfmf-feature.xml display in the

(application_workspace\ViewController\publi

c_html) directory and may include:

• ADF Mobile AMX pages

• CSS files

• Task flows

• Any custom images

Page 32: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

Summary

Topics we covered in this lesson were:

• Introduction

• Platform Support

• Setup Development Environment

• Configuring for iOS Platform

• Configuring for Android Platform

• Form Factors

• Roadmap for Mobile Development

• Application & Project Artifacts

Page 33: ADF Mobile: Environment & Development Process - Oracle · Oracle ADF Mobile •One framework, two delivery channel: •Mobile browser •On-device rich mobile application •Build

<Insert Picture Here>

Learn More

• Oracle.com/mobile

• Download

• Tutorials

• Discussion forum

• Samples

• ADF Developer Guide

• More…