Extending Enterprise Applications to mobile interfaces-Final
Post on 16-Apr-2017
119 Views
Preview:
Transcript
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
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
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
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Functional Flow – Enterprise Apps, MCS & JET Extend, Integrate, Analyze
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Use Case: Account Health mobile app
Confidential – Oracle Internal/Restricted/Highly Restricted 5
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
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
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle Sales Cloud - Overview
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:
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Mobile Backend – Oracle MCS Oracle Mobile Cloud Services
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
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
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Mobile Client – Oracle JET Hybrid app Oracle JavaScript Extension Toolkit (JET)
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
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
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
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Run Time Flow & Demo Accessing Sales Cloud from Mobile
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
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 19
Demo - Login via SSO
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 20
Demo – Opportunities retrieved from Sales Cloud
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
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Q&A
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
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Addendum
Confidential – Oracle Internal/Restricted/Highly Restricted 25
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
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
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
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Run Time Flow - Custom API
Confidential – Oracle Internal/Restricted/Highly Restricted 29
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
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
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
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
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
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
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
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
top related