End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF, and Oracle JET
1. 1
End-to-End Cloud: JCS, MCS,
MAF and JET
Andrejus Baranovskis, Oracle ACE Director, Red Samurai Consulting
2. 2About Us
Oracle Experts Team
• Oracle Fusion Middleware Partner Community Award for Outstanding ACM/BPM Contribution 2015
• Oracle Fusion Middleware Innovation Award Winner 2010
• SOA Partner Community Award for Outstanding Contribution Across the World 2010
• 2010 Enterprise 2.0 Blazer: Enterprise 2.0 Leader Award
ADF, JET, MAF, Cloud, BPM, ACM, SOA, WebCenter, WebLogic
3. 3
Demo Demo Demo
Application Container Cloud QuestionsUse Case Overview
Mobile Application
Framework
ADF BC REST and
Java Cloud Service
Agenda
Mobile Cloud Service
JavaScript Extension Toolkit
5. 5ChB Jelly House
Startup Candy Company
Supply manager is responsible to
request warehouse stock update.
Gets notification when stock goes
below minimum threshold
Stock Supply
Production manager is responsible to
log warehouse stock usage.
Production
Producing and selling natural jelly candies. Production
process requires warehouse stock shortage tracking.
Based in Lithuania, EU.
About
6. 6Application Flow
Warehouse Process
Use Stock 01
Threshold 02
Notification 03
Order Stock 04
Production takes stock.
JET application calls
MCS REST service to
log stock usage.
JET/MAF & MCS/ACC
Stock is below
threshold. MCS checks
condition and sends
notification.
MCS
MCS sends notification.
Manager receives
notification, data is
synchronized.
JET/MAF & MCS
Order stock by calling
MCS REST service.
Third party invoice data
is updated through ADF
BC REST on JCS
JET/MAF & MCS/JCS/ACC
7. 7Technology Used
Oracle Cloud and Development Tools
01
JCS
02
MCS
03
ACC
Handling REST services for
mobile interface. API Node.js
implementation. MCS DB.
Mobile
Running JET Web app, OAuth
security, reuse of MCS REST
services.
Web app
Integrating with third party HR
DB and invoice data.
ADF BC REST
Accessing MCS REST services
through mobile. Deployed to
device. Same code as JET.
Mobile access
05
JET Hybrid
Alternative mobile access,
depends on company skillset.
Mobile access
06
MAF
Accessing MCS REST services
through Web.
Web access
04
JET
8. 8Cloud Services Interaction Flow
Use Case Explanation
DbaaS JCS
A
D
F
B
C
R
E
S
T
R
E
S
T
C
O
N
N
E
C
T
O
R
MCS
R
E
S
T
E
N
D
P
O
I
N
TSECURITY
Token Security
API Node.js
DB Connector Notifications
Storage Location
Google/A
pple
OAuth
OAuth
JET
JET Hybrid
or MAF
9. 9JET Interface
Running on ACC (Application Container Cloud)
User responsible for candy production logs stock usage. JET application.
CANDY PRODUCTION
10. 10JET Hybrid Interface
Application running on mobile device
Secured by OAuth and MCS
Backend. Can be secured by
custom secure token.
Security
Consumes MCS REST services
and subscribes to notifications
raised by MCS custom API.
REST Services and Notifications
JET Hybrid is JET application
wrapped into Cordova and
deployed to mobile device.
Cordova
User responsible for candy stock supply
updates stock numbers.
CANDY STOCK SUPPLY
12. 12
ADF BC REST & JCS
Backend Data Management and Java Cloud Service.
13. 13DbaaS Configuration
Database Cloud
Accessible by public IP. Provides DB admin tools.
DB CLOUD MACHINE ACCESS
Provides automatic backup. DB backup option is
required for WebLogic 12.2.1 Cloud instance
configuration.
BACKUP
15. 15JCS Configuration
Java Cloud
Can be created in Enterprise Manager Fusion
Middleware Control 12c
JDBC DATA SOURCE
Accessible by public IP
PUBLIC IP
Use cloud storage container to configure WLS backup.
BACKUP
18. 18ADF BC REST
Deployment on JCS
Frank Nimphius, Oracle PM – “Keep in mind that businesses don't start from
scratch when a new technology or a new trend arrives. ADF BC REST is (in my
opinion) the easiest and most effective option for creating powerful and flexible REST
services based on SQL queries” http://bit.ly/2cf5lAP
ADF 12.2.1 BC REST
39. 39JET
Focus Areas
02
01
03
04
MCS OAuth
Instructions to use MCS OAuth in JET.
MCS REST
Instructions to consume MCS REST
services in JET.
MCS Notifications
Instructions to register and receive MCS
notifications in JET.
JET and JET Hybrid
Implementation principles. JavaScript and
HTML is reused in JET and JET Hybrid.
40. 40Create JET Hybrid Application
Mobile Application As Easy As 1, 2, 3
npm -g install cordova This should be done first time only. npm is the default package manager for the JavaScript runtime environment Node.js
INSTALL CORDOVA
yo oraclejet:hybrid redsamuraiwarehouse --appId=com.warehouse --appName="redsamuraiwarehouse" --template=navbar --platforms=android
Yeoman runs as a command-line interface written for Node.js and which combines generating a starter template, managing dependencies
CREATE JET HYBRID APPLICATION
grunt build --platform=android Grunt is a JavaScript task runner
BUILD
grunt serve --platform=android --browser --disableLiveReload=true
RUN IN BROWSER
grunt serve --platform=android --destination=device
RUN ON DEVICE AS APPLICATION
58. 58Application Container Cloud
Create and Package JET Application
Run express YourAppName, Node.js must be installed
GENERATE EMPTY NODE.JS APPLICATION
Navigate to YourAppName folder and run npm install to add
dependencies
ADD DEPENDENCIES
Copy JET implementation code into YourAppName public folder
JET IMPLEMENTATION
Add manifest.json file and create zip archive
JET PACKAGING
62. 62MAF and MCS Integration
MAF MCS Utility Application
Execute REST calls from MAF and pass security headers
SIMILAR INTEGRATION PRINCIPLES AS FOR JET HYBRID
More complex application testing and debugging process comparing to JET Hybrid
REQUIRES MOBILE SIMULATOR TO TEST CODE
Example is available for download from OTN
MAF MCS UTILITY IS AVAILABLE WITH MCS INTEGRATION EXAMPLE
When there are no JavaScript developers in the team
WHEN TO USE MAF
64. 64
Sample code for JET Hybrid
and OAuth authentication
against MCS.
OAuth
Example of JET on
Application Container
Cloud.
ACC
Sample code for JET calling
MCS REST service.
MCS REST
Sample code for MCS
Connector calling ADF BC
REST service.
MCS Connector
Sample code for JET Hybrid
to register for MCS
notification.
Notifications