partner webcast - oracle mobile cloud service for developers: updates and features

78

Upload: oracleimc-innovation-modernization-center

Post on 10-Jan-2017

475 views

Category:

Mobile


0 download

TRANSCRIPT

Page 1: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features
Page 2: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Stay Connected

BLOGS.ORACLE.COM/IMC

TWITTER.COM/ORACLEIMC

YOUTUBE.COM/ORACLEIMCTEAM

FACEBOOK.COM/ORACLEIMC

Page 3: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Mobile Cloud Service for Developers Updates and Features Emin Askerov MW Consultant ISV Migration Center Oracle Partner Hub EMEA Team July 21, 2016

Presented by

Page 4: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Agenda

Oracle Mobile Cloud Service (MCS): Why Do We Need Mobile Backend Platform?

New Features and Updates

Location Based Services

Client SDKs

Summary

Q&A

Demonstration: Using Mobile Cloud Service SDK for Android Developers

1

2

3

4

5

6

7

Page 5: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Safe Harbor Statement

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

Page 6: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Mobile Cloud Service (MCS): Why Do We Need Mobile Backend Platform?

Page 7: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 7 Copyright © 2015 Oracle and/or its affiliates. All rights reserved.

The Two Biggest Disruptions To The Enterprise

CLOUD Has transformed every facet

of the IT infrastructure

MOBILE Has transformed every facet

of modern society

Page 8: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

With Growth Comes Challenges for the Enterprise

Growth

Challenges

No integration across apps & backend systems

Not easily portable to other development environments

Not customizable to your business needs

Lack of secure access

Limited views into productivity… no analytics

Harder to maintain, not upgrade protected

Page 9: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Core HR, Peoplesoft

Mobile storage

Social Networks

Talent management,

Taleo, Cloud

SAP On-Premise

Taleo

Google Map Service

Core HR

Page 10: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

3rd App Solution

Page 11: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

This simple app soon became complicated to develop…

Client Development Tools

Integration

Security

Mobile Services

Monitor & Analyze

Multiple Environments

Image courtesy of David Castillo Dominici at FreeDigitalPhotos.net

Page 12: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Mobile Cloud Platform Capabilities

Cross Platform Development Write Once - Run on iOS /

Android

JAVASCRIPT EXTENSION

TOOLKIT (JET)

Enterprise Grade MBaaS Mobile API Catalog, Security,

Services, Analytics

MOBILE CLOUD SERVICE

Switch to Demo

No Code Mobile Application Composer

MOBILE APPLICATION ACCELERATOR

MOBILE APPLICATION FRAMEWORK

(MAF)

Page 13: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Mobile Client Development Strategy

MOBILE APPLICATION FRAMEWORK (MAF)

Others

Native

Mobile Application

Accelerator (MAX)

App Builder Cloud Service (ABCS)

Core Developers Citizen Developers

Oracle JavaScript Extension Toolkit (JET)

Device Resident Apps

Web + Mobile Web

Declarative Java Development

Multi Channel JavaScript

Development

Page 14: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

• Centralise mobile integration, diagnostics, logging in the cloud

• Design mobile specific APIs

– Shape & expose services and APIs

• Pre-built mobile services

– Push notifications

– Storage

– Offline synchronization

• Integrated security

Oracle Mobile Cloud Service

Page 15: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Mobile Cloud Service

Oracle Cloud

Cloud/Internet

On-Premise

Mobile Client SDKs

Custom APIs Mobile Backend Connectors

REST APIs

Diagnostics Analytics Lifecycle

Node

JavaScript SDK

Oracle MAF & MAX

Platform APIs

Push Notifications

User Services

File Storage

Relational Database

Data Offline

App Policies

REST

SOAP

ICS

Developer

Location Services

Page 16: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Mobile Cloud Service

Oracle Cloud

Cloud/Internet

On-Premise

Mobile Client SDKs

Custom APIs Mobile Backend Connectors

REST APIs

Diagnostics Analytics Lifecycle

Node

JavaScript SDK

Oracle MAF & MAX

Platform APIs

Push Notifications

User Services

File Storage

Relational Database

Data Offline

App Policies

REST

SOAP

ICS

Developer

Location Services

Page 17: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Mobile Cloud Service

Oracle Cloud

Cloud/Internet

On-Premise

Mobile Client SDKs

Custom APIs Mobile Backend Connectors

REST APIs

Diagnostics Analytics Lifecycle

Node

JavaScript SDK

Oracle MAF & MAX

Platform APIs

Push Notifications

User Services

File Storage

Relational Database

Data Offline

App Policies

REST

SOAP

ICS

Developer

Location Services

Page 18: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Mobile Cloud Service

Oracle Cloud

Cloud/Internet

On-Premise

Mobile Client SDKs

Custom APIs Mobile Backend Connectors

REST APIs

Diagnostics Analytics Lifecycle

Node

JavaScript SDK

Oracle MAF & MAX

Platform APIs

Push Notifications

User Services

File Storage

Relational Database

Data Offline

App Policies

REST

SOAP

ICS

Developer

Location Services

Page 19: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Mobile Cloud Service

Oracle Cloud

Cloud/Internet

On-Premise

Mobile Client SDKs

Custom APIs Mobile Backend Connectors

REST APIs

Diagnostics Analytics Lifecycle

Node

JavaScript SDK

Oracle MAF & MAX

Platform APIs

Push Notifications

User Services

File Storage

Relational Database

Data Offline

App Policies

REST

SOAP

ICS

Developer

Location Services

Page 20: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Mobile Cloud Service

Oracle Cloud

Cloud/Internet

On-Premise

Mobile Client SDKs

Custom APIs Mobile Backend Connectors

REST APIs

Diagnostics Analytics Lifecycle

Node

JavaScript SDK

Oracle MAF & MAX

Platform APIs

Push Notifications

User Services

File Storage

Relational Database

Data Offline

App Policies

REST

SOAP

ICS

Developer

Location Services

Page 21: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Mobile Cloud Service

Oracle Cloud

Cloud/Internet

On-Premise

Mobile Client SDKs

Custom APIs Mobile Backend Connectors

REST APIs

Diagnostics Analytics Lifecycle

Node

JavaScript SDK

Oracle MAF & MAX

Platform APIs

Push Notifications

User Services

File Storage

Relational Database

Data Offline

App Policies

REST

SOAP

ICS

Developer

Location Services

Page 22: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

New Features and Updates

Page 23: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

App Policies

v1.1

Database Data Offline Analytics User Management

Storage Location Services

v1.0 v1.0 v1.0 v1.0 v1.0 v1.0 v 2.0

Platform APIs

Coming soon

SMS Notifications

Page 24: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Mobile Cloud Service – New Features Overview

• Location Aware Services – Define points of interest and query those points using the Location Platform API

• Log in with Microsoft Azure Active Directory credentials – Let your mobile users log on to your apps using their Microsoft Azure Active Directory credentials.

• Simplified Export/Import of Artifacts – MCS 2.0 release greatly simplified export/import of MCS artifacts using packages mechanism

• OAuth and JWT token policies for REST connectors – OAuth and JWT token policies for REST connectors, to help make identify propagation easier

• OOTB Facebook & Corporate SSO Authentication Support – Enabling mobile users to log into your apps using their Facebook or their corporate single-sign on

credentials

• Database Platform API is available from custom code SDK – Database API has been added to the custom code SDK, it’s much easier to add JavaScript calls to it in

your API implementations.

Release 16.2.3 (MCS 2.0) & 16.1.3 (MCS 1.1)

Page 25: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

• Beacon Management

– Identify Locations

– Associating Services

– Associating Beacons

• Associations of locations to geo-spatial and / or location devices that have been defined.

• Spatial queries

• Enhanced user engagement

Location Services in MCS

Page 26: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Mobile Application Accelerator (MAX)

• Got 5 minutes?

• Quickly develop mobile application with MAX

• Leverage your MCS assets

• Iteratively develop mobile applications

Page 27: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Location Based Services

Page 28: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Location based services allow mobile developers to exploit the fact they know where mobile users are located in real time, to provide value added contextual information & services beyond maps & address lookups.

Location Based Services • Maps are ubiquitous on mobile

– Mobiles track & map users in real-time

– But apps rarely go beyond providing a location pin or route between locations

• Location shouldn't be seen as a silo

• There's the opportunity to:

– Mashup business data

– Provide location-based-business queries

– Provide location aware services

– Turn on & off services based on locality

– Action processes based on locality

Page 29: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Show what is located within

1km Services

turned on

Services turned off

Place

Place

Place Place

Provide services when entering a

geofence

Provide information when

approaching a beacon

Show message

Basic Scenarios

Page 30: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Show me all the customers in a 2km radius that haven't purchased

from us in 6 months

Location based queries can be mashed with business data to provide unique location based opportunities.

Our customer meeting finished early, it took forever in the traffic to get here & we don't want to waste

our time

Page 31: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Mr. Patient

Patient No: 859442

Date of Birth: 7/Oct/1975 (40 yo)

Medication: >

Patient data is no longer accessible

Proximity based services can enable & disable functions based on the mobile user's location

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Page 32: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Core Concepts

Places • Locations of importance

• Shops, bridges, factories

• Demarcated by

– Lat/long, geofence, beacons

• Mobile app:

– What places surround me?

– Have I entered a geofence?

– Am I approaching a beacon?

Assets • Moving objects of value

• Forklifts, printers, truck

• Demarcated by

– Beacons

• Mobile app:

– Where is the asset?

Devices/beacons • iBeacons, altBeacons,

Eddystone

• Identify places and assets

Page 33: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Mobile Cloud Service

Location API

http://mobile/platform/location

Imports or manually defines: - Places - Assets - Devices

Server Developer

Page 34: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

/places/query POST Oracle Mobile Cloud Service

Location API

http://mobile/platform/location

Imports or manually defines: - Places - Assets - Devices

Server Developer

Query places by: • Name, properties • Nearest to lat/long • "In" lat/long/radius

Returns: • All places matching criteria • Place name, properties • Any associated

child places, geofence, devices

Page 35: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

/places/query POST

/assets/query POST

Oracle Mobile Cloud Service

Location API

http://mobile/platform/location

Imports or manually defines: - Places - Assets - Devices

Server Developer

Query assets by: • Name, properties

Returns: • All assets matching criteria • Asset name, properties • Any associated devices

Page 36: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

/places/query POST

/assets/query POST

/devices/query POST

Oracle Mobile Cloud Service

Location API

http://mobile/platform/location

Imports or manually defines: - Places - Assets - Devices

Server Developer Query devices by: • Name, properties • Beacon protocol or IDs

Returns: • All devices matching criteria • Asset name, properties • Any associated place

Page 37: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Mobile App or Website Oracle Mobile Cloud Service

Location API

http://mobile/platform/location Location API

MCS SDK

Native Code

Imports or manually defines: - Places - Assets - Devices

Server Developer Client Developer

Writes native code Query MCS SDK Location API Retrieve places, assets, devices Uses data in native location services

Page 38: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

SDK UMS Analytics App

Policies Data

Offline Notifications Storage Location

iOS SDK Y Y Y Y Y Y Y

Android SDK Y Y Y Y Y Y Y

Windows SDK Y Y Y Y Y Y Y

JS SDK Y Y Y * With Cordova

* With Cordova

Y Y

MAF MCS Utility Y Y Y Y Y

MAF ATeam's AMPA

Y Y Y Y Y

Xamarin SDK Refer to Xamarin

Sencha SDK Refer to Sencha

SDK Platform API Support

Page 39: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Mobile App or Website Oracle Mobile Cloud Service

Location API

http://mobile/platform/location Location API

MCS SDK

Native Code

Imports or manually defines: - Places - Assets - Devices

Server Developer Client Developer

Writes native code Query MCS SDK Location API Uses data in native location services

Page 40: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

• A static non moving location

– e.g. brick & mortar shop, bridge

• Includes:

– Name, label, description

– Custom attributes allow you to associate business data

• e.g. customer ID, address etc

• Hierarchical places are supported

– e.g. corporate HQ + regional offices

• Define locality by:

1. Optionally define geofence:

–Latitude + longitude + radius

–Or >3 sided polygon

–Each vertex has lat+long

1. Optionally associate device(s):

– iBeacons, altBeacons, Eddystone

Places

Page 41: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Page 42: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Page 43: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Page 44: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Page 45: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

• A business asset you want to track

– Something of business value

– Actively moves = ~moving place

– e.g. forklift, hospital bed

• Includes:

– Name, label, desc, custom attributes

• Associate device(s):

– iBeacons, altBeacons, Eddystone

– Future support for RFIDs

Assets

Page 46: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

• Beacons are used when

– Can't guarantee GPS signal

– Accuracy is required

– GPS is not available such as indoors

• Device implements Bluetooth 4.0+

– Transmits Bluetooth Low-Energy signal

– Typically transmits unique beacon ID

– Some implementation support data

– Detected by BLE mobile devices

– Mobile app acts on ID as lookup

• From mobile device's perspective

– Monitors for "regions"

• i.e. act of listening for beacon ID

• "Region" is the reach of beacon signal

• OS raises events on region entry/exit

• App logic uses ID to lookup remote beacon registry for data

– vs "Ranging"

• Listen for all beacons within a region

• Includes estimated proximity

• App logic can trigger on proximity

Devices – a.k.a. Beacons

Page 47: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Page 48: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Page 49: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Client SDKs

Page 50: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

• Native mobile platform APIs

–Android, iOS, Windows, JS…

• Save hand written REST calls

• Significantly reduces native code

• Prebuilt, tested, optimized

The MCS mobile client SDKs save mobile developers time to focus on the unique mobile app requirements, providing native, optimized APIs to call MCS without coding from the ground up.

Mobile Client SDKs

Page 51: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

SDK Vendor Platform Language

iOS SDK Oracle iOS Obj-C & Swift

Android SDK Oracle Android Android Java

Windows SDK Oracle Windows 8.1+ Surface C#, VB.Net

JS SDK Oracle Browsers + Cordova JavaScript

MAF MCS Utility Oracle Mobile Hybrid Mobile Application Framework - Java MAF ATeam AMPA Oracle Mobile Hybrid

Xamarin SDK Xamarin iOS & Android C#, VB.Net

Sencha SDK Sencha Web & Mobile Hybrid HTML5 & JS

Available MCS Mobile Client SDKs

Page 52: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

SDK UMS Analytics App Policies Data Offline Notifications Storage

iOS SDK Y Y Y Y Y Y

Android SDK Y Y Y Y Y Y

Windows SDK Y Y Y Y Y Y

JS SDK Y Y Y * With Cordova * With Cordova Y

MAF MCS Utility Y Y Y Y Y

MAF ATeam's AMPA Y Y Y Y Y

Xamarin SDK Refer to Xamarin

Sencha SDK Refer to Sencha

SDK Platform API Support

Page 53: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Mobile Cloud Service

MCS Shared SDK Architecture

Notifications

Storage

MBE Manager

Service Proxies

Custom API

REST Calls

SDK

MBE

MBE

MBE

Platform APIs

User Management

Analytics

Page 54: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

• Similar to an SDK

• Provided as an example

– You have option to BYO

• Is not supported

• Ships with the Oracle MAF public samples

– JAR file

– Source code

– Implementation example

Oracle MAF MCS Utility is a MAF specific Java library and public sample that demonstrates how to make Oracle MCS platform API calls via Java methods for MAF applications to use and consume MCS services.

MAF MCS Utility

Page 55: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Mobile Cloud Service

Notifications

Storage

MBE Manager Service Proxies

Custom API

MBE Configuration

Utilities

MAF Framework

REST Service Adapter

Data Control

Managed Bean

MAF MCS Utility

MBE

MBE

MBE

Mobile Application Framework

Platform APIs

Java

*

* Device Registration Only

User Management

Analytics

Page 56: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

MAF MCS Utility Configuration

• Add mafmcsutility.jar to MAF ApplicationController project

• Expose MAF MCS Utility functionality through JavaBean data control in ApplicationController project

– Suggested as best practices

– Data queried from MCS is shared across MAF features if data control is defined in ApplicationController project

• See MAF MCS Utility public sample (aka. MCS tester) for a reference implementation

Page 57: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Q&A

Emin Askerov Oracle IMC FMW Consultant [email protected] ISV Migration Center blog: http://blogs.oracle.com/imc ISV Migration Center email: [email protected]

Page 58: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Demonstration: Using Mobile Cloud Service SDK for Android Developers Emin Askerov MW Consultant ISV Migration Center Oracle Partner Hub EMEA Team July 21, 2016

Presented by

Page 59: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Demonstration: Mobile Cloud Service SDK for Android • Android Demo Sample App

• Implements simple mobile banking use case

– User authentication and authorization

– View the list of available payment cards for user

– View user profile details

Page 60: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Demonstration: Mobile Cloud Service SDK for Android

• MCS components used for demonstration – MCS User Management Services API for authentication and authorization

– MCS Custom API to expose business service

– MCS Notification API to register device and deliver notifications

• Android MCS SDK APIs used – Authentication API

– Notifications API

– Custom API Invocations

Page 61: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

What We Are Using For This Demo?

• Oracle Mobile Cloud Service Instance –Start with trial access

–Check out: https://cloud.oracle.com/mobile

• Mobile Cloud Service SDK for Android – Once you get access to MCS environment download the latest release of SDK using

MCS console

• Android SDK & Android Studio IDE

– Check out: https://developer.android.com/studio/index.html

• Android Emulator

– You can use also any compatible Android Device

Page 62: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Demonstration: Mobile Cloud Service SDK for Android

MCS SDK Configuration on Android – Register the App

– Download SDK from MCS Console

– Add SDK artifacts to Android App and configure SDK properties

– Configure Android Manifest File

– Call Platform/Custom API

Check out Oracle Mobile Platform YouTube Channel • Step by step video guide for Android SDK

configuration: http://youtu.be/DyWS26Rg2Ck • Documentation: http://bit.ly/29ACbLQ

Page 63: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Android JAR Requirements

Page 64: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Page 65: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Demonstration: Call Authentication API (UMS)

Example of authentication code:

...

try {

MobileBackendManager mobileBackendManager =

MobileBackendManager.getManager();

MobileBackend mobileBackend =

mobileBackendManager.getDefaultMobileBackend(this);

Authorization authorization = mobileBackend.getAuthorization();

authorization.authenticate(this, email, password, callback);

} catch (ServiceProxyException e) {

Log.d("Exception", "ServiceProxyException");

}

...

Page 66: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Demonstration : Call Authentication API (UMS) (Continued)

Authorization callback function example:

private AuthorizationCallback callback = new AuthorizationCallback() {

@Override

public void onCompletion(ServiceProxyException e) {

showProgress(false);

if (e == null) {

Log.d("Success", "Login success"); // Handle successful login

} else {

Log.d("Failure", "Login failed"); // Handle failed login

}

}

};

Page 67: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

• Google Developer Console

– https://cloud.google.com/console

• Google-Android GCM docs

– https://developer.android.com/google/gcm/gs.html

• Steps

– Create a Google account

– Create a project

– Enable the push notification API

– Create a server public API access key

Demonstration : Register for Google Developer Account & GCM

• Outcomes

– Project Number (aka Sender ID) • e.g. 381785012345

– API Key • e.g. AAaaAyAjEUu9Dl1sEm2lg0x

_LWkexg0x_LWkex

Page 68: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Demonstration: Configure AndroidManifest.xml Permissions

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<uses-permission android:name="android.permission.WAKE_LOCK"/>

<uses-permission android:name="android.permission.GET_ACCOUNTS"/>

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>

<permission android:protectionLevel="signature"

android:name="<app package name>.permission.C2D_MESSAGE" />

<uses-permission android:name="<app package name>.permission.C2D_MESSAGE"/>

Page 69: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Demonstration: Registering App for Notifications import oracle.cloud.mobile.mobilebackend.MobileBackendManager;

import oracle.cloud.mobile.notifications.Notifications;

..

public void onClick(View view) {

String SENDER_ID = "<your sender ID>";

try {

Notifications notifications = MobileBackendManager.getManager()

.getDefaultMobileBackend(this)

.getServiceProxy(Notifications.class);

if (notifications != null)

notifications.initialize(this, SENDER_ID);

} catch (ServiceProxyException e) {

// Handle exception

}

Page 70: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Demonstration : Registering the Generic MCS Broadcast Receiver

<application ..>

..

<receiver

android:name="<app package name>.GCMMessageReceiver"

android:permission="com.google.android.c2dm.permission.SEND">

<intent-filter>

<action android:name="com.google.android.c2dm.intent.RECEIVE" />

<category android:name="<app package name>" />

</intent-filter>

</receiver>

<activity..> </activity>

</application>

Page 71: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Demonstration: Registering the Generic MCS Broadcast Receiver

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.util.Log;

public class GCMMessageReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

Log.d("MCS Message", "Received message");

String message = intent.getExtras().getString("alert");

Log.d("MCS Message", "MCS Message = " + message);

}

}

Page 72: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Demonstration: Call Custom API

final GenericCustomCodeClientCallBack genericCustomCodeClientCallBack = new

GenericCustomCodeClientCallBack() {

@Override

public void requestCompleted(CustomHttpResponse response, JSONObject data,

Exception e) {

boolean getResponse = (response.getHttpStatus() >=200 &&

response.getHttpStatus() <300);

// write any logic based on above response

}

};

AuthorizationAgent authorization =

MobileBackendManager.getManager().getDefaultMobileBackend(mActivity).getAuthorizati

on();

authorization.invokeCustomCodeJSONRequest(genericCustomCodeClientCallBack, null,

"TaskApi/tasks", RestClient.HttpMethod.GET);

Page 73: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

For More Information

TRY: cloud.oracle.com/Mobile

VISIT: oracle.com/Mobile

FOLLOW: @OracleMobile

74

Page 74: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Q&A

Emin Askerov Oracle IMC FMW Consultant [email protected] ISV Migration Center blog: http://blogs.oracle.com/imc ISV Migration Center email: [email protected]

Page 75: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Partner Hub ISV Migration Center

Oracle.com Partner Hub

Team Info, Events/Activities Schedule, etc

Migration Center Team Blog

Webcasts, Howto, Demos, Guides, etc Youtube: OracleIMCteam

Slideshare: Oracle_IMC_team

twitter.com/OracleIMC

plus.google.com/+OracleIMC

facebook.com/OracleIMC

linkedin.com/groups/Oracle-Partner-Hub-Migration-Center-4535240

feeds.feedburner.com/oracleimc

[email protected]

Page 76: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Stay Connected

BLOGS.ORACLE.COM/IMC

TWITTER.COM/ORACLEIMC

YOUTUBE.COM/ORACLEIMCTEAM

FACEBOOK.COM/ORACLEIMC

Page 77: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Page 78: Partner Webcast - Oracle Mobile Cloud Service for Developers: Updates and Features