partner webcast – oracle paas: oracle mobile cloud service development

Post on 15-Apr-2017

725 Views

Category:

Technology

7 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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

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

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

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

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

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

3rd App Problem

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mobile backend design process

2L

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

Mobile backend design process

2L

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

Mobile backend design process

a

a

a

2L

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

Mobile backend design process

a

a

a

a

2L

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

Mobile backend design process

a

a

a

2L

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

Mobile backend design process

a

a

2L

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Q&A

59

Allen Wangu Oracle ISV Migration Center Consultant allen.wangu@oracle.com ISV Migration Center blog: http://blogs.oracle.com/imc ISV Migration Center email: partner.imc@beehiveonline.oracle.com

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

• CONNECT WITH US

• COMMUNICATE WITH US • partner.imc@beehiveonline.oracle.com

• 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

top related