best practices implementing oracle mobile cloud service · challenges of enterprise mobile...

Post on 03-Jul-2018

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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 @rsantrodruben.rodriguez@avanttic.com

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 @rsantrodruben.rodriguez@avanttic.com

Questions

56 Best Practices Implementing Oracle Mobile Cloud Service

© avanttic Consultoría Tecnológica, S.L57

Rubén Rodríguez

ruben.rodriguez@avanttic.com

Best Practices Implementing Oracle Mobile Cloud Service

top related