best practices implementing oracle mobile cloud service · challenges of enterprise mobile...
TRANSCRIPT
© avanttic Consultoría Tecnológica, S.L
Best Practices Implementing Oracle
Mobile Cloud Service
Rubén Rodríguez
Cloud & Mobile Solution Specialist
07/06/2018
Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Introduction
About me
•ADF Technical Lead, Cloud & Mobile Solution Specialist
•Blogger (www.rsantrod.com & blog.avanttic.com)
•Developer Community Forums
•Author
www.linkedin.com/in/rsantrod @[email protected]
2 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Introduction
4
• Build RESTful APIs using Oracle ADF BC as REST and Node.js and deploy onJava Cloud Service and ApplicationContainer Cloud Service
• The architecture and functionality of theOracle Mobile Cloud Enterprise
• Integrate different systems and buildingMobile ready APIs using Mobile Core
• Build hybrid applications using Oracle JavaScript Extension Toolkit
• Create mobile-first Uis using Oracle VBCS, the low-code platform
• Build a Chatbot for your enterprise usingOracle Intelligent Bots Cloud Service
Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L5
+ 170 Solutions
Business Analytics
Fusion Middleware
Infraestructura y Plataforma
Cloud (IaaS & PaaS)
Offices in
Madrid y
Barcelona
35Specialized
Introduction
About avanttic
© avanttic Consultoría Tecnológica, S.L
Agenda
1. Oracle MCS Overview
2. Tips & Tricks
3. Demo
4. Customer case
6 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Oracle MCS overview
7 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Oracle MCS overview
Challenges of Enterprise Mobile Development
•Cross platform support
8 Best Practices Implementing Oracle Mobile Cloud Service
•Existing enterprise services aren’t built for mobile.
•Push notifications
•Offline data synchronization
•Analytics
•Security
© avanttic Consultoría Tecnológica, S.L9
Solution
Oracle Mobile Cloud Service
Oracle Cloud
Cloud/Internet
On-Premise
Mobile Client SDKs
Custom APIsMobile Backend Connectors
REST APIs
Diagnostics Analytics Lifecycle
Node
JavaScript SDK
Oracle MAF & MAX
Platform APIs
PushNotifications
UserServices
FileStorage
RelationalDatabase
DataOffline
AppPolicies
REST
SOAP
ICS
Developer
LocationServices
© avanttic Consultoría Tecnológica, S.L
Oracle MCS overviewArquitecture
Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L9
Solution
Oracle Mobile Cloud Service
Oracle Cloud
Cloud/Internet
On-Premise
Mobile Client SDKs
Custom APIsMobile Backend Connectors
REST APIs
Diagnostics Analytics Lifecycle
Node
JavaScript SDK
Oracle MAF & MAX
Platform APIs
PushNotifications
UserServices
FileStorage
RelationalDatabase
DataOffline
AppPolicies
REST
SOAP
ICS
Developer
LocationServices
© avanttic Consultoría Tecnológica, S.L
Oracle MCS overviewArquitecture
Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L9
Solution
Oracle Mobile Cloud Service
Oracle Cloud
Cloud/Internet
On-Premise
Mobile Client SDKs
Custom APIsMobile Backend Connectors
REST APIs
Diagnostics Analytics Lifecycle
Node
JavaScript SDK
Oracle MAF & MAX
Platform APIs
PushNotifications
UserServices
FileStorage
RelationalDatabase
DataOffline
AppPolicies
REST
SOAP
ICS
Developer
LocationServices
© avanttic Consultoría Tecnológica, S.L
Oracle MCS overviewArquitecture
Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L9
Solution
Oracle Mobile Cloud Service
Oracle Cloud
Cloud/Internet
On-Premise
Mobile Client SDKs
Custom APIsMobile Backend Connectors
REST APIs
Diagnostics Analytics Lifecycle
Node
JavaScript SDK
Oracle MAF & MAX
Platform APIs
PushNotifications
UserServices
FileStorage
RelationalDatabase
DataOffline
AppPolicies
REST
SOAP
ICS
Developer
LocationServices
© avanttic Consultoría Tecnológica, S.L
Oracle MCS overviewArquitecture
Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L9
Solution
Oracle Mobile Cloud Service
Oracle Cloud
Cloud/Internet
On-Premise
Mobile Client SDKs
Custom APIsMobile Backend Connectors
REST APIs
Diagnostics Analytics Lifecycle
Node
JavaScript SDK
Oracle MAF & MAX
Platform APIs
PushNotifications
UserServices
FileStorage
RelationalDatabase
DataOffline
AppPolicies
REST
SOAP
ICS
Developer
LocationServices
© avanttic Consultoría Tecnológica, S.L
Oracle MCS overviewArquitecture
Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L9
Solution
Oracle Mobile Cloud Service
Oracle Cloud
Cloud/Internet
On-Premise
Mobile Client SDKs
Custom APIsMobile Backend Connectors
REST APIs
Diagnostics Analytics Lifecycle
Node
JavaScript SDK
Oracle MAF & MAX
Platform APIs
PushNotifications
UserServices
FileStorage
RelationalDatabase
DataOffline
AppPolicies
REST
SOAP
ICS
Developer
LocationServices
© avanttic Consultoría Tecnológica, S.L
Oracle MCS overviewArquitecture
Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L9
Solution
Oracle Mobile Cloud Service
Oracle Cloud
Cloud/Internet
On-Premise
Mobile Client SDKs
Custom APIsMobile Backend Connectors
REST APIs
Diagnostics Analytics Lifecycle
Node
JavaScript SDK
Oracle MAF & MAX
Platform APIs
PushNotifications
UserServices
FileStorage
RelationalDatabase
DataOffline
AppPolicies
REST
SOAP
ICS
Developer
LocationServices
© avanttic Consultoría Tecnológica, S.L
Oracle MCS overviewArquitecture
Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
16 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
API design
17
Resource POST create
GETread
PUTupdate
DELETEdelete
/employees Create a new employee List employees Bulk update of employees Delete all employees
/employees/100 Show employee 100 Update employee 100 Delete employee 100
/getEmployeeByName
/createNewEmployee
/deleteAllEmployees
GET /employees?name=John
GET /employees?salary<=25000 Filtering
GET /employees?sort=+salary,-name Sorting
Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
API design
18
Code Name Meaning
200 OK Everything went fine. I return the
resource you requested.
201 Created We successfully created a new
resource.
204 No Content There is nothing to see here.
401 Unauthorized You did not provide valid
credentials.
404 Not found Return this if a requested object
could not be found.
422 Unprocessable Entity Resource cannot be saved.
Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
API design
19 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Express API
20 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Express API
21 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Express API
22 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
API-First approach
Best Practices Implementing Oracle Mobile Cloud Service23
Connectors
Departments
Employees
Tasks
…
…
Custom APIs
DepartmentsAPIDepartments
REST
Employees
SOAP
Tasks
SOAP
EmployeesAPI
/departments /departments/1
/departments /1/employees
/departments /1/employees/10
…
/employees /employees/1
/employees/1/tasks
/employees /1/tasks/10
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
API-First approach
Best Practices Implementing Oracle Mobile Cloud Service24
Connectors
Departments
Employees
Tasks
…
…
Custom APIs
Departments
REST
Employees
SOAP
Tasks
SOAP
…
DepartmentsAPI
/departments /departments/1
/departments /1/employees
/departments /1/employees/10
EmployeesAPI
/employees /employees/1
/employees /1/tasks
/Employees /1/tasks/10
DepartmentsBase
EmployeesBase
…
GET
POST
PUT
DELETE
GET
POST
PUT
DELETE
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Using node.js modules
25
http://bit.ly/MCSPDFKit
Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Using node.js modules
26
http://bit.ly/MCSTwitterFeed
Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Callback Hell
Best Practices Implementing Oracle Mobile Cloud Service27
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Callback Hell
28 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Callback Hell
29 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Callback Hell
Best Practices Implementing Oracle Mobile Cloud Service30
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
JSON Translator
31 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
JSON Translator
32 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
JSON Translator
33 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
JSON Translator
34 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
JSON Translator: Using xml2js module
• ' $ ' means that we want
to add attributes to the
XML element.
http://bit.ly/MCSBypassTranslator
• ' _ ' means that we want
to have something
inside that element.
35 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Application Policies
Best Practices Implementing Oracle Mobile Cloud Service36
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Application Policies
Best Practices Implementing Oracle Mobile Cloud Service37
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Application Policies
Best Practices Implementing Oracle Mobile Cloud Service38
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Application Policies
Best Practices Implementing Oracle Mobile Cloud Service39
http://bit.ly/MCSAppPolicies
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Application Policies
Best Practices Implementing Oracle Mobile Cloud Service40
http://bit.ly/MCSAppPolicies
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Application Policies
Best Practices Implementing Oracle Mobile Cloud Service41
http://bit.ly/MCSAppPolicies
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Application Policies
Best Practices Implementing Oracle Mobile Cloud Service42
http://bit.ly/MCSAppPolicies
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
API-design first
Avoid rework: feedback early in the cycle
By getting feedback very early in the
lifecycle, changes of rework late in the cycle
are slim. Saving time and cost.
1
Parallel development: Decouple App dev from
Service dev
By defining APIs with API Blueprints or
Swagger, app dev and service dev can
occur in parallel.
Agile: be ready for change
By continuously verifying service builds
against API definitions, non-compliant
updates can be detected quickly.
3
2
Thanks to Luis Weir for sharing this slide
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
API-design first
Best Practices Implementing Oracle Mobile Cloud Service45
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Custom Code Test Tools
Best Practices Implementing Oracle Mobile Cloud Service46
Oracle MCS
Oracle Mobile API
Platform APIs
MCS-TOOLS
MCS-CCC
MCS-DEPLOY
MCS-TEST
Custom API Implementation
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Custom Code Test Tools
Best Practices Implementing Oracle Mobile Cloud Service47
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Custom Code Test Tools
Best Practices Implementing Oracle Mobile Cloud Service48
© avanttic Consultoría Tecnológica, S.L
Tips & Tricks
Custom Code Test Tools
Best Practices Implementing Oracle Mobile Cloud Service49
omce-test <path to toolsConfig.json> <test name> [-—verbose]
omce-deploy <toolsConfig.json> -u <MCS team member> -p <pass> [--verbose]
omce-ccc <path to toolsConfig.json> [--debug] [--verbose]
© avanttic Consultoría Tecnológica, S.L
Demo
50 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Customer casesIndustrial Farmacéutica Cantabria (IFC)
51 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Customer case: IFC
Customer problems
52 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Customer case: IFC
Customer problems
• Internet connection is required
to work.
• Delivery performance.
• General application vs Specific
application.
• CRM application is not mobile
friendly.
• Catalog.
Oracle Mobile Cloud Service53 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Customer case: IFC
Challenges
• Provide an agile tool to the sales force
so they can work with their corporate
CRM (Oracle Siebel).
• Implement a scalable, secure, and
flexible platform.
• Incorporate Oracle MCS at half-way of
the project
• Develop specific application for
iOS/Android devices.
• 100% offline application.
• Short development time needed.
Oracle Mobile Cloud Service54 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
Customer case: IFC
Solution
55 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L
www.linkedin.com/in/rsantrod @[email protected]
Questions
56 Best Practices Implementing Oracle Mobile Cloud Service
© avanttic Consultoría Tecnológica, S.L57
Rubén Rodríguez
Best Practices Implementing Oracle Mobile Cloud Service