Weitere ähnliche Inhalte
Ähnlich wie Extending Enterprise Applications to mobile interfaces-Final
Ähnlich wie Extending Enterprise Applications to mobile interfaces-Final (20)
Extending Enterprise Applications to mobile interfaces-Final
- 1. 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
- 2. 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 Restricted2
- 3. 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 Restricted3
6
- 4. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Functional Flow – Enterprise
Apps, MCS & JET
Extend, Integrate, Analyze
- 5. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Use Case: Account Health mobile app
Confidential – Oracle Internal/Restricted/Highly Restricted5
- 6. 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 CloudOn-Prem EBS
Oracle Confidential – Internal
Content
Management
Services
Documents Cloud Services
- 7. 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
- 8. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle Sales Cloud - Overview
- 9. 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 Restricted9
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:
- 10. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Mobile Backend – Oracle MCS
Oracle Mobile Cloud Services
- 11. 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 Restricted11
On-premise Apps
Cloud Services
3rd Party Services
1
2 34
5
- 12. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Mobile Backend - Step-by-step process
Confidential – Oracle Internal/Restricted/Highly Restricted12
API
•Create Custom API
Connector
•Create Connector API
Backend
•Create Mobile Backend
Test
•Test Custom API using MCS UI
- 13. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Mobile Client – Oracle JET Hybrid
app
Oracle JavaScript Extension Toolkit (JET)
- 14. 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
- 15. 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
- 16. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Architecture – Oracle JET Hybrid App
Confidential – Oracle Internal/Restricted/Highly Restricted16
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
- 17. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Run Time Flow & Demo
Accessing Sales Cloud from Mobile
- 18. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Run Time Flow - Overview
Confidential – Oracle Internal/Restricted/Highly Restricted18
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
- 19. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted19
Demo - Login via SSO
- 20. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted20
Demo – Opportunities retrieved from Sales Cloud
- 21. 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
- 23. 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 Restricted23
- 25. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Addendum
Confidential – Oracle Internal/Restricted/Highly Restricted25
- 26. 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_beare
r_over_ssl_client_policy” , keeping
everything as default
Confidential – Oracle Internal/Restricted/Highly Restricted26
- 27. 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 Restricted27
- 28. 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 Restricted28
- 29. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Run Time Flow - Custom API
Confidential – Oracle Internal/Restricted/Highly Restricted29
- 30. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Mobile Backend - Step-by-step process
Confidential – Oracle Internal/Restricted/Highly Restricted30
API
•Create Custom API
Connector
•Create Connector API
Backend
•Create Mobile Backend
Test
•Test Custom API using MCS UI
- 31. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Implementation
Custom API
Confidential – Oracle Internal/Restricted/Highly Restricted31
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
- 32. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Create Mobile Backend and associate API
Confidential – Oracle Internal/Restricted/Highly Restricted32
Create Mobile
Backend
Associate
with Realm
Add APIs
Add
Collections
Register
Client Apps
- 33. 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_I
D>
•Enter mobile username and password
•Upon Success, the browser will show
Single Sign-On Auth Token as shown above
Confidential – Oracle Internal/Restricted/Highly Restricted33
- 34. 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 Restricted34
- 35. 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 Restricted35
- 36. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Custom and Connector API
Custom API
Confidential – Oracle Internal/Restricted/Highly Restricted36
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
- 37. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Run Time Flow – Detailed
Confidential – Oracle Internal/Restricted/Highly Restricted37
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