partner webcast – oracle paas: oracle mobile cloud service development

61

Upload: oracleimc-innovation-modernization-center

Post on 15-Apr-2017

725 views

Category:

Technology


7 download

TRANSCRIPT

Page 1: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development
Page 2: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

TWITTER.COM/ORACLEIMC FACEBOOK.COM/ORACLEIMC PLUS.GOOGLE.COM/+ORACLEIMC YOUTUBE.COM/ORACLEIMCTEAM

Page 3: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Oracle PaaS: Mobile Cloud Service Development Partner Webcast

Allen Kubai Wangu ISV Migration Center Consultant A&C Technology Adoption Office

Page 4: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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.

2A

Page 5: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Agenda

MCS Overview

Mobile backend Overview

Custom API overview

Design Considerations

Getting Started with Mobile Client SDK and MCS MAF Utility

Demo

Summary and Q & A

1

2

3

4

5

6

7

2A

Page 6: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Agenda

MCS Overview

Mobile backend Overview

Custom API Overview

Design Considerations

Getting Started with Mobile Client SDK and MCS MAF Utility

Demo

Summary and Q & A

1

2

3

4

5

6

7

2A

Page 7: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Page 8: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Page 9: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

1A

Page 10: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

3rd App Problem

Page 11: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

1A

Page 12: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

1A

Page 13: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Oracle Mobile Cloud Service

• Analyze business impact

• Client agnostic development tools

• Diagnostic and logging

• Built-in continuous delivery SDLC

– Development, stage, production areas

– Artefact versioning

1A

Page 14: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Oracle Cloud

Cloud/Internet

On-Premise

MCS Client SDK

Custom APIs Mobile Backend Connectors

Platform APIs

Oracle Mobile Cloud Service

REST APIs

1A

Page 15: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Agenda

MCS Overview

Mobile backend Overview

Custom API Overview

Design Considerations

Getting Started with Mobile Client SDK and MCS MAF Utility

Demo

Summary and Q & A

1

2

3

4

5

6

7

2A

Page 16: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Oracle Cloud

Cloud/Internet

On-Premise

MCS Client SDK

Custom APIs Mobile Backend Connectors

Platform APIs

Oracle Mobile Cloud Service

REST APIs

2B

Page 17: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

The gateway for mobile apps to interface with the exposed MCS services and indirectly enterprise backend services. Security and exposing the platform and custom APIs are MBE key concepts.

Mobile Backend

2B

Page 18: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Mobile Backend

API

API

API

API

API

REST

SDK

Mobile Backend Overview

• Gateway

• Authentication & authorization

• Group & publish APIs

• Consume via REST or mobile SDK

• Hides implementation details

• Create 1 to many used by 1+ apps

• Versioned, deployed, managed

2B

Page 19: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Agenda

MCS artifacts for Fix-It-Fast scenario

Mobile backend overview

Custom API Overview

Design Considerations

Getting Started with Mobile Client SDK and MCS MAF Utility

Demo

Summary and Q & A

1

2

3

4

5

6

7

2A

Page 20: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Oracle Cloud

Cloud/Internet

On-Premise

MCS Client SDK

Custom APIs Mobile Backend Connectors

Platform APIs

Oracle Mobile Cloud Service

REST APIs

2E

Page 21: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Custom APIs give you the chance to take the ugly, horrible mess of on premise legacy enterprise endpoints, combined with 3rd party web services, and turn them into optimized endpoints for mobile consumption.

Custom APIs • Beyond prebuilt Platform APIs

• Build your own Custom APIs

– Define RESTful endpoints

– Implemented in Node.js

– Consume Connectors

• Expose through Mobile Backends

– Can be reused

– Protected by roles

2E

Page 22: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Mobile Backend

Mobile App Connectors Custom API

Node http://rest/api

External Services

Oracle Mobile Cloud Service

Implementation Interface

Mobile Developer

Service Developer

Defines Interface REST API

Mock data

Defines Implementation Node.js code Connectors

The mobile developer & service developer work hand in hand in parallel. Or 1 person does all the work in sequence.

The choice is yours.

2E

Page 23: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Interface

1. Creates the Custom API

2. Defines the endpoints • REST APIs endpoints

• HTTP methods (GET, PUT, POST, DELETE)

• Media types

• Schemas, traits, resources types

• Create via MCS UI or RAML

3. Defines security

4. Exposes through mobile backend

5. Tests via UI using 'mockup' data

Implementation

1. Implements connectors

2. Implement Node.js code

3. Uploads & sets which version of code

4. Tests via UI using real code

The Development Process: Interface vs Implementation

2E

Page 24: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Custom API

Node http://rest/api

Oracle Mobile Cloud Service

Code Interface

RAML MCS UI

• REST APIs can be defined via

– API Designer in MCS user interface

– RAML

– Combined • Designer stores definition in RAML file

• Changes in one are reflected in the other

• Choice is based on

– Familiarity with RAML

– or Preference for declarative

– or Task at hand

Defining the Interface REST Endpoints

2E

Page 25: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

• Describes HTTP resources

– Captures design & definition

– RAML is to REST as WSDL is to SOAP

– Not just for REST web services

• Based on YAML

– Easy to read, learn and write

• Popular support via developers

– Open source, replaces defunct WADL

– Competitor (successor?) to Swagger

– 3rd party tooling support growing

RESTful API Modeling Language (RAML)

RESTful API Modeling Language (RAML) is a YAML-based language for describing RESTful APIs.

It encourages reuse, enables discovery and pattern-sharing, and aims for merit-based emergence of best practices.

- Wikipedia

2F

Page 26: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Page 27: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Agenda

MCS Overview

Mobile backend overview

Custom API Overview

Design Considerations

Getting Started with Mobile Client SDK and MCS MAF Utility

Demo

Summary and Q&A

1

2

3

4

5

6

7

2A

Page 28: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Mobile backend design process

2L

Page 29: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Mobile backend design process

2L

Page 30: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Mobile backend design process

a

a

a

2L

Page 31: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Mobile backend design process

a

a

a

a

2L

Page 32: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Mobile backend design process

a

a

a

2L

Page 33: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Mobile backend design process

a

a

2L

Page 34: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

How many mobile backends should we have?

• MCS allows

– 1 or more MBEs to be created

– An app to use 1 or more MBEs

• This begs the question: – How many MBEs should we build?

2L

Page 35: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

How many mobile backends should we have?

• The obvious starting point:

• 1 mobile backend for your 1st app

2L

Page 36: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

How many mobile backends should we have?

• 1 mobile backend for all apps

• Doesn't provide much flexibility

• Lacks fine grained control

• Change to the MBE affects all apps

2L

Page 37: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

• 1 mobile backend per app

• Likely a common & popular design

• Changes only affect associated app

How many mobile backends should we have?

2L

Page 38: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

• Many backends shared across apps

• Potential to share functions

How many mobile backends should we have?

2L

Page 39: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

• How many apps are there?

• Level of reuse required?

• Development team's experience?

• Granularity of version control?

• Must MBE changes be isolated to 1 app?

• Does the team have bandwidth to update & release multiple apps sharing a mobile backend?

• Should apps be grouped logically?

• Considered MCS realm constraints?

• What else?

Questions that might change your MBE design

2L

Page 40: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

How do realms impact our MBE design?

• Consider a two app scenario

– Consumer shopping cart app

– Staff order & warehouse app

• A design based on reuse could be:

– 1 shared MBE for common APIs

– 1 MBE for shopping cart app

– 1 MBE for staff app

2L

Page 41: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

How do realms impact our MBE design?

• We will have two sets of users

1. Consumers for the shopping app

2. Staff members for the staff app

• How many realms do we need?

2L

Page 42: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

How do realms impact our MBE design?

• An MBE constraint:

–Each MBE may use only 1 realm

= Shared MBE can't use both

= It needs its own separate realm

• What are our remaining options?

2L

Page 43: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

How do realms impact our MBE design?

• Option:

– A shared realm of consumers & staff

• Pros/Cons?

2L

Page 44: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

How do realms impact our MBE design?

• Option:

– A realm with all our shoppers

– A realm with all our staff

– A shared realm with both

• Pros/Cons?

2L

Page 45: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

How do realms impact our MBE design?

• Option:

– Don't use shared MBEs in 1st place

• Pros/Cons?

2L

Page 46: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Agenda

MCS Overview

Mobile backend overview

Creating a mobile backend

Design Considerations

Getting Started with Mobile Client SDK and MCS MAF Utility

Demo

Summary and Q&A

1

2

3

4

5

6

7

2A

Page 47: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Oracle Cloud

Cloud/Internet

On-Premise

Custom APIs Mobile Backend Connectors

Platform APIs

Oracle Mobile Cloud Service

REST APIs

11A

MCS Client SDK

Page 48: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

• Native mobile platform APIs

–Android, iOS...

• Saves hand written REST calls

• Significantly reduces native code

• Prebuilt, tested, optimized

The MCS mobile client SDK saves 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 SDK

11A

Page 49: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Mobile SDK Platform API Support

• User Management

– Basic and anonymous authentication

• Notification

– Client application registration with APNS & GMC

– Device registration with Oracle MCS

– Notification handling

• Storage

– Querying of collections associated with a MBE

– CRUD operations on collection objects

49 11A

Page 50: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Mobile SDK Platform API Support

• Analytics

– Create analytic sessions

– Compose system events

– Collect custom events

– Send events in batches

• Data Offline

– Policy driven data object caching

50 11A

Page 51: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Mobile Cloud Service

51

MCS SDK Shared Architecture

Notifications

Storage

Service Proxies

Custom API

REST Calls

SDK

Platform APIs

User Management

Analytics

MBE Manager

Mobile Backend

Mobile Backend

Mobile Backend

11A

Page 52: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

• Provides functionality similar to the mobile SDK

• Saves hand written REST calls

• Significantly reduces native code

• 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 exposes Oracle MCS platform API calls as Java method

MAF MCS Utility

52 11B

Page 53: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Mobile Cloud Service

53

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

11B

Page 54: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

MAF MCS Utility: Asynchronous API Invocation

• By design, MAF MCS Utility APIs are synchronous

– Analytics service proxy is the exception

– Developers can invoke APIs asynchronously

• How-to invoke MAF MCS Utility APIs asynchronously

– Java ExecutorService to asynchronously invoke MAF MCS Utility API

– Property and provider change events to refresh UI in response to data queries

• Provider changes

– Update of collections in that data rows are added or removed

– Impact list views, iterators, graphs etc. that need to refresh

• Property changes

– Updates of data object properties

• AdfmfJavaUtilities to flush data changes to main thread to refresh UI

54 11B

Page 55: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

MAF MCS Utility Configuration

• mafmcsutility.jar configured in ApplicationController project

– Functionality exposed through data control

– Data queried from MCS is shared across MAF features

• mafmcsutility.jar configured in ViewController project – Functionality exposed through data control or managed bean

– Data queried from MCS is shared within single MAF Feature

– MBE instances are shared between data control and managed bean for MAF features

55 11B

Page 56: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

MCS UI • Provides test pages

• Suitability

– When creating items

– Sanity checks

– Quick

• Negatives

– Are not real world tests

– Bypass Oracle Cloud; executed within MCS

Real mobile app • Android, iOS app etc

• Suitability

– As real as tests can be

– End to end testing

• Negatives

– Must build the app

– App may not be ready

– Only tests what apps needs

– & we haven't taught this yet

External test client • Curl, Postman, SoapUI etc

• Suitability

– Support automated tests

– End to end testing

– Without building whole app

• Negatives

– Are MCS tests, not app tests

– Require low level HTTP knowledge

3 Routes to Testing Mobile Backends

2H

Page 57: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Agenda

MCS Overview

Mobile backend overview

Custom API Overview

Design Considerations

Getting Started with Mobile Client SDK and MCS MAF Utility

Demo

Summary and Q & A

1

2

3

4

5

6

7

2A

Page 58: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Get to Know Your Mobile Cloud Service

2A

Summary

Visit: oracle.com/mobile Or cloud.oracle.com/mobile

@OracleMobile

Page 59: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

Q&A

59

Allen Wangu Oracle ISV Migration Center Consultant [email protected] ISV Migration Center blog: http://blogs.oracle.com/imc ISV Migration Center email: [email protected]

Page 60: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development

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

• CONNECT WITH US

• COMMUNICATE WITH US • [email protected]

• oracle.com/subscribe

ASSISTING YOU ADOPT & IMPLEMENT THE LATEST ORACLE TECHNOLOGY

blogs.oracle.com/IMC

twitter.com/oracleIMC

youtube.com/OracleIMCTeam

facebook.com/oracleIMC

ORACLE.COM/PARTNERS/GOTO/HUB-ECEMEA

Page 61: Partner Webcast – Oracle PaaS: Oracle Mobile Cloud Service Development