extending enterprise applications to mobile interfaces-final

37
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Extending Cloud-based Enterprise Applications to mobile interfaces Rohit Dhamija Principal Product Manager, Cloud Application Development, Oracle India Private Limited Nov 11, 2016 Confidential Oracle stricted

Upload: rohit-dhamija

Post on 16-Apr-2017

122 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Extending Enterprise Applications to mobile interfaces-Final

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

Extending Cloud-based Enterprise Applications to mobile interfaces

Rohit Dhamija Principal Product Manager, Cloud Application Development, Oracle India Private Limited Nov 11, 2016

Confidential – Oracle stricted

Page 2: Extending Enterprise Applications to mobile interfaces-Final

Copyright © 2016, 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.

Confidential – Oracle Internal/Restricted/Highly Restricted 2

Page 3: Extending Enterprise Applications to mobile interfaces-Final

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

Program Agenda

Functional Flow– MCS , JET & Enterprise Apps

Enterprise App – Oracle Sales Cloud

Mobile Backend – Oracle MCS

Mobile Client – Oracle JET Hybrid app

Run-Time Flow & Demo

Q&A

1

2

3

4

5

Confidential – Oracle Internal/Restricted/Highly Restricted 3

6

Page 4: Extending Enterprise Applications to mobile interfaces-Final

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

Functional Flow – Enterprise Apps, MCS & JET Extend, Integrate, Analyze

Page 5: Extending Enterprise Applications to mobile interfaces-Final

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

Use Case: Account Health mobile app

Confidential – Oracle Internal/Restricted/Highly Restricted 5

Page 6: Extending Enterprise Applications to mobile interfaces-Final

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

Reference Architecture

SaaS and on-Prem Application

Services

Simplification Services– Integration

PaaS - API Management

Client Channels – Mobile

Integration Cloud Services

Mobile Cloud Service

JET Hybrid Application

Oracle Sales Cloud Oracle Service Cloud On-Prem EBS

Oracle Confidential – Internal

Content Management

Services

Documents Cloud Services

Page 7: Extending Enterprise Applications to mobile interfaces-Final

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

Functional Flow – Sales Cloud, MCS & JET

Oracle Confidential – Internal

Component Summary

Oracle Sales Cloud

Oracle Sales Cloud for sales effectiveness, better understand customers, and build a pipeline for success.

Oracle MCS MCS -Mobile Cloud Service, delivers cloud-based, server-side mobile services to enable quick and easy app development

Client app A JET Hybrid application that communicates with Oracle MCS

Page 8: Extending Enterprise Applications to mobile interfaces-Final

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

Oracle Sales Cloud - Overview

Page 9: Extending Enterprise Applications to mobile interfaces-Final

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

Oracle Sales Cloud

• Delivers a wide range of functionality to improve sales effectiveness, better understand customers, and build a pipeline for success.

Confidential – Oracle Internal/Restricted/Highly Restricted 9

MAINTAINABLE

API-FIRST APPROACH

Architects and IT Ops

SCALABLE MOBILE- FRIENDLY

RESOURCE- ORIENTED MODEL

EASE OF USE

LIGHTWEIGHT

Account Activity Competitor

Opportunity

Partners Sales Orders

Lead

Contact Territory Forecast

Key Restful Web Services resources:

Page 10: Extending Enterprise Applications to mobile interfaces-Final

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

Mobile Backend – Oracle MCS Oracle Mobile Cloud Services

Page 11: Extending Enterprise Applications to mobile interfaces-Final

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

Oracle Mobile Cloud Service – Why MBaaS is the developer’s new best friend?

Confidential – Oracle Internal/Restricted/Highly Restricted 11

On-premise Apps

Cloud Services

3rd Party Services

1

2 3 4

5

Page 12: Extending Enterprise Applications to mobile interfaces-Final

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

Mobile Backend - Step-by-step process

Confidential – Oracle Internal/Restricted/Highly Restricted 12

API • Create Custom API

Connector • Create Connector API

Backend • Create Mobile Backend

Test • Test Custom API using MCS UI

Page 13: Extending Enterprise Applications to mobile interfaces-Final

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

Mobile Client – Oracle JET Hybrid app Oracle JavaScript Extension Toolkit (JET)

Page 14: Extending Enterprise Applications to mobile interfaces-Final

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

Oracle JavaScript Extension Toolkit (JET) Two way binding

Resource management

DOM Manipulation + AJAX

Cross Platform Development

Page 15: Extending Enterprise Applications to mobile interfaces-Final

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

Tooling – JET Hybrid application

• Mobile Tooling used for building JET based hybrid application Yeoman Grunt Apache Cordova Android & iOS tools

• Oracle MCS Cordova SDK Simplifies authentication with MCS Provides native wrapper objects for MCS platform APIs

•Oracle JET key modules

Oj.Oauth for Security (Basic and Oauth) Model and Collection for REST Services Android and iOS Alta themes

Page 16: Extending Enterprise Applications to mobile interfaces-Final

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

Architecture – Oracle JET Hybrid App

Confidential – Oracle Internal/Restricted/Highly Restricted 16

WebView (Native Browser)

Cordova Plugins

HTML/CSS/JS/Cordova JS API

Native API’s

Mobile OS (Android/iOS)

HTML/CSS/JS

Oracle MCS SDK

Oracle JET

Core OS API’s

Web-View

Page 17: Extending Enterprise Applications to mobile interfaces-Final

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

Run Time Flow & Demo Accessing Sales Cloud from Mobile

Page 18: Extending Enterprise Applications to mobile interfaces-Final

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

Run Time Flow - Overview

Confidential – Oracle Internal/Restricted/Highly Restricted 18

1. SSO Login remote IDP URL

2. Receive SSO Token

3. In subsequent MCS REST Call include the given token in the Authorization header

4. SAML policy used in connector to propagate identity to authenticate with Sales Cloud

Page 19: Extending Enterprise Applications to mobile interfaces-Final

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 19

Demo - Login via SSO

Page 20: Extending Enterprise Applications to mobile interfaces-Final

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 20

Demo – Opportunities retrieved from Sales Cloud

Page 21: Extending Enterprise Applications to mobile interfaces-Final

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

References

• Cloud Developer Solution Blogs , link: https://community.oracle.com/community/cloud_computing/oracle-cloud-developer-solutions/blog/authors/Rohit%20Dhamija-Oracle • Demo Solution: PaaS for SaaS - Extend CX Cloud with Account 360 Mobile Application using PaaS: MCS, Ionic, ICS, link: https://demo.oracle.com/apex/f?p=GO:PAGE:0:DSD:NO:1:ID:28628

Page 22: Extending Enterprise Applications to mobile interfaces-Final

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

Q&A

Page 23: Extending Enterprise Applications to mobile interfaces-Final

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

Safe Harbor Statement

The preceding 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.

Confidential – Oracle Internal/Restricted/Highly Restricted 23

Page 24: Extending Enterprise Applications to mobile interfaces-Final
Page 25: Extending Enterprise Applications to mobile interfaces-Final

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

Addendum

Confidential – Oracle Internal/Restricted/Highly Restricted 25

Page 26: Extending Enterprise Applications to mobile interfaces-Final

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

Security Approach

• Client Side: JET Hybrid Mobile Application:

– Authenticated the mobile application via SSO:

– On success , status 200 OK, API returns SSO TOKEN

– Used this SSO Token in Authorization header while calling MCS Custom API.

– This token is used to propagate identity to MCS Connector

• Mobile Back-end: Oracle Mobile Cloud Service

– SSO Enabled Mobile Backend

– MCS API:

• Developed custom API which in turn calls REST based connector (Oracle Sales Cloud)

– MCS Connector:

• Developed Connector API pointing to Sales Cloud

• Set the security policy to “oracle/http_saml20_token_bearer_over_ssl_client_policy” , keeping everything as default

Confidential – Oracle Internal/Restricted/Highly Restricted 26

Page 27: Extending Enterprise Applications to mobile interfaces-Final

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

REST Connector API – Run Time Flow

• Custom code sends a request to REST Connector API.

• The connector API retrieves the remote URL, applies rules and the security policy.

• The connector sends the request to the external service.

• The service sends a JSON response back to the connector.

• The connector sends JSON response to the custom code.

Confidential – Oracle Internal/Restricted/Highly Restricted 27

Page 28: Extending Enterprise Applications to mobile interfaces-Final

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

Create Mobile Backend and associate API

•Login into Oracle MCS and create a new mobile back-end, provide a suitable Name and description

•Enable OAuth Consumer

•Check-box to select "Enable Single Sign-On"

•Select the custom API created and associate it with your mobile backend

Confidential – Oracle Internal/Restricted/Highly Restricted 28

Page 29: Extending Enterprise Applications to mobile interfaces-Final

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

Run Time Flow - Custom API

Confidential – Oracle Internal/Restricted/Highly Restricted 29

Page 30: Extending Enterprise Applications to mobile interfaces-Final

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

Mobile Backend - Step-by-step process

Confidential – Oracle Internal/Restricted/Highly Restricted 30

API • Create Custom API

Connector • Create Connector API

Backend • Create Mobile Backend

Test • Test Custom API using MCS UI

Page 31: Extending Enterprise Applications to mobile interfaces-Final

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

Implementation Custom API

Confidential – Oracle Internal/Restricted/Highly Restricted 31

Connector API

Design

API

Download Scaffold

Write Custom Code

Package code as Node.js module

Upload

Module

General Settings

• API Name

• Remote URL

Set Rules

• Set New Rule

• Add Parameter

Security

• Select security policy

• Specify overrides

Test

• Using MCS Connector Test UI

Page 32: Extending Enterprise Applications to mobile interfaces-Final

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

Create Mobile Backend and associate API

Confidential – Oracle Internal/Restricted/Highly Restricted 32

Create Mobile Backend

Associate with Realm

Add APIs

Add Collections

Register Client Apps

Page 33: Extending Enterprise Applications to mobile interfaces-Final

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

Test Backend – Authenticate using SSO Login

•Open the following URL in an incognito or private browser window. The URL formation is as below:

•<SSO_Token_Endpoint>?clientID=<client_ID>

•Enter mobile username and password

•Upon Success, the browser will show Single Sign-On Auth Token as shown above

Confidential – Oracle Internal/Restricted/Highly Restricted 33

Page 34: Extending Enterprise Applications to mobile interfaces-Final

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

Test Backend – Custom API

•Select Mobile Backend

•Paste SSO Token

•Click Test Endpoint

•Upon Success : Status 200 , data would be displayed

Confidential – Oracle Internal/Restricted/Highly Restricted 34

Page 35: Extending Enterprise Applications to mobile interfaces-Final

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

Brief Implementation steps

• Mobile Backend: Oracle Mobile Cloud Service

– Created a new Backend - SSO Enabled Mobile Backend

– MCS API:

• Developed custom API which in turn calls REST based connector (Oracle Sales Cloud)

– MCS Connector:

• Developed Connector API pointing to Oracle Sales Cloud

• Set the security policy to “oracle/http_saml20_token_bearer_over_ssl_client_policy” , keeping everything as default

– Test • Test custom API implementation using MCS Test UI / REST Client

Confidential – Oracle Internal/Restricted/Highly Restricted 35

Page 36: Extending Enterprise Applications to mobile interfaces-Final

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

Custom and Connector API Custom API

Confidential – Oracle Internal/Restricted/Highly Restricted 36

Connector API

Design

API

Download Scaffold

Write Custom Code

Package code as Node.js module

Upload

Module

General Settings

• API Name

• Remote URL

Set Rules

• Set New Rule

• Add Parameter

Security

• Select security policy

• Specify overrides

Test

• Using MCS Connector Test UI

Page 37: Extending Enterprise Applications to mobile interfaces-Final

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

Run Time Flow – Detailed

Confidential – Oracle Internal/Restricted/Highly Restricted 37

Authentication Flow

Load Mobile Backend's Configuration

Get mobile backend and set auth to ssoAuth

Call MCS Platform API “authenticate”

App opens the MCS SSO URL in a browser.

URL:<SSO_Token_Endpoint>?clientID=<client_ID>

App displays login screen of the remote IDP

On success, app receive an OAuth token

MCS Custom API Flow

Use OAuth token to include as bearer token

In MCS REST Call include the given token in the Authorization header

SAML policy used in connector to propagate identity to authenticate with Sales Cloud