SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Soaring through the Clouds
Live Oracle Public Cloud
PaaS demo
by
The ACE Director Cloud Team
Challenge
• Do a live and integrated demo of as many
Oracle Public PaaS cloud services as possible
ICS
Doc CS
PCS
JCS
OSN
Sites
CS
DBaaS
SOA CS
ACC
MCS
IoT CS
The Team
• Distributed
– Three countries, Five partners, Five Locations
– The Cloud is omnipresent
• except when there is a form of outage
Story Line
to create a credible flow across the clouds
Oracle
OpenWorld
2016
Evaluate
Proposal
Analyze Twitter
traffic
& Voting Machines
Publish
Approved
Proposals on
Web & App
audience
IoT CS
PCS
Doc CS
SOA CS
DBaaS
MCS
JET on
AppContainer CS (or JCS)
ACC
OSN
Real “Things” (Pis,
Arduino’s, …)
ICS
Sites CS
Now you tweet your Artist
Proposal for OOW 2016
Use the hashtag #ofmaces to get noticed by IoT CS
and add your favorite artist as the second hashtag
Note: use underscore for space
JET Web App : http://bit.ly/acesdemo
audience
IoT CS
PCS
Doc CS
SOA CS
DBaaS
MCS
JET on
AppContainer CS (or JCS)
ACC
OSN
Real “Things” (Pis,
Arduino’s, …)
Collect and analyze audience
input; forward findings to
REST service on ICS
Run human workflow based
on suggested artist;
approve/reject, add image
(on Doc CS) and description;
discuss on OSN; forward
outcome to service on ICS
Expose Rich, Responsive, Mobile
enabled User Interface that contains
the proposed artist with some
enrichment, based on REST APIs
(exposed from MCS)
Publish REST/JSON APIs that expose
data on proposed artists including
the selected image (based on SOAP
services on SOA CS)
Expose SOAP API [for ICS to invoke] to register a
proposed artist and a supporting image; record
artist details persistently [with some enrichment
retrieved from external services]; publish Tweet
about new proposal
ICS
Sites CS
Torsten
Lonneke
Wilfred
Lonneke
Lucas
Expose SOAP and REST
services to facilitate
inetgration (from IoT CS
to PCS, from PCS to SOA
CS and from SOA CS to
Twitter)
All the cloud services involved –
and how they are connected
Storage
Compute
DBaaS Storage
Compute
DBaaS
JCS
SOA CS
Storage
Compute
ACC
ICS
MCS
Doc CS
PCS
Storage
Compute
IoT CS
OSN
Sites CS
ACC
US2
EMEA2
DBaaS
SOA CS
ACC
ICS
MCS
Doc CS
PCS
JCS
OSN
IoT CS
Sites
CS
Geographic spread of our demo
Katwijk,
Netherlands
Step One: IoT == Internet of Tweets
ICS
PCS
IoT CS
US2
EMEA2
Doc CS
PCS
OSN
Sites CS
Content and Process
Responsive Microsite
Page Built with the
authorised Image
stored in DCS
Business Process receives
IoT message and sends to
reviewer for ennrichment
and authorisation
Doc Cloud used to store
marketing images for display
in JET app and Sites Page
Social Network used to
discuss the marketing image,
description and approval
Microsites: http://tinyurl.com/ACEDCLOUD-KW
Integration and Persistence
Storage
Compute
DBaaS
Storage
Compute
DBaaS
JCS
SOA CS
Storage
Compute
JCS
ACC
ICS
ICS
PCS
IoT CS
REST
(hand off artist finding
in proprietary IoT CS
JSON format);
forwarded to PCS
ICS is at the center of this world
SOA CSICS
PCS
REST
(publishes a Tweet, called
from SOA CS)
SOAP
(returns Y or N depending on whether a
proposal exists using SOA CS)
SOAP
(calls to SOA CS to create
enriched proposal in DB; this
service is to be called by PCS)
ICS is at the center of this world
IoT CS
REST
(hand off artist finding
in proprietary IoT CS
JSON format);
forwarded to PCS
SOA CSICS
PCS
IoT CS
REST
(publishes a Tweet through
SaibotAirport )
REST
(hand off artist finding in proprietary IoT
CS JSON format); forwarded to SOA CS
SOAP
(returns Y or N depending on whether a
proposal exists using SOA CS)
REST
(submit a proposal for an artist
in decent JSON format; links to
PCS to ask for approval of the
proposal
SOAP
(calls to SOA CS to create
enriched proposal in DB; this
service is to be called by PCS)
REST API
(calls to SOA CS to create
enriched proposal in DB)
REST
(hand off artist finding
in proprietary IoT CS
JSON format);
forwarded to PCS
ICS is at the center of this world
Defining Connections
Defining Integrations
Integration: expose public SOAP,
integrate with internal SOA CS
Configure business identifiers
Action: Find a nice The Boss image
Submit proposal directly to ICS
(pretending to be PCS)
Verified with direct Soap Calls to SOA CS
Verified with direct Soap Calls to SOA CS
Seconds later…
And published in the JET Web App
And published in the JET Web App
Traces in ICS
Traces in ICS
And in SOA CS
And in SOA CS
And in SOA CS
And in DBaaS
33
SOA CS
Identity Domain
DBaaS
Storage CS Compute CS
JCS
SOA CS
SOA
Service Bus PDB1
HR
PDB2
APP
DBaaS
JCS
SOA CS
SOA CS
SOA CS
SOA
Service Bus
PDB1
HR
PDB2
APP
act_proposal
_api
proposed_
acts
act_albums
Architecture
MCS ActService
Mobile backend
Mobile back end
Act API
Platform
API
Act SOAP
connector
/acts
/acts/{id}
Proposed
Acts Service
Oracle JET on ACC
MCS
Storage
Compute
ACC
JET Web App : http://bit.ly/acesdemo
JET Web App : http://bit.ly/acesdemo
Browser invokes twitter APIREST call to nodejs which calls MCS
/mobile/custom/artistapi/acts
JET Web App : http://bit.ly/acesdemo
Responsive layout -small
screen
/mobile/custom/artistapi/acts/678
JET Web App : http://bit.ly/acesdemo
REST API:
/mobile/custom/artistapi/acts[
{
"id": 661,
"name": "Bruce Springsteen",
"numberOfVotes": 48,
"registrationDate": "2016-03-
14T11:47:48.709198+00:00"
},
... more acts ...
]
JET Web App : http://bit.ly/acesdemo
REST API:
/mobile/custom/artistapi/acts/661{
"id": 661,
"name": "Bruce Springsteen",
"numberOfVotes": 48,
"description": "Down to earth rock...",
"genres": "["roots rock","singer-songwriter"]",
"biography": "Bruce Frederick .....",
"imageURL": "http://i.telegraph.co.uk/...",
"discography": [
{"title": "Born In The U.S.A.", "imageURL": "..."},
... more albums ...
]
}
JET Web App : http://bit.ly/acesdemo
BROWSER
NodeJS server
on Application
Container
Cloud Service
REST API on
Mobile Cloud
Service
Adds http request headers:
● oracle-mobile-
backend-id
● authorization
Having the browser invoke a
REST API on same server
that hosts html and js
prevents Cross-Origin issues
JET Web App : http://bit.ly/acesdemo
{
"runtime": {
"majorVersion":
"0.12"
},
"command": "sh
start.sh"
}
manifest.json
#!/bin/sh
unset http_proxy
unset https_proxy
node ./index
{
"environment": {
"MCS_BACKEND_ID": "55bc25a9-...",
"MCS_URL":
"...us2.oraclecloud.com:443",
"MCS_USER": "MCSDEM0001...",
"MCS_PWD": "dy6ou5..."
}
}
Configuring AppContainerCS nodejs
deployment.json
start.sh
JET Web App : http://bit.ly/acesdemo
index.js (nodejs code)
var express = require('express');
var app = express();
var request = require('request');
app.use(express.static('public'));
app.use('/bower_components', express.static('bower_components'));
app.use('/mobile/*', function (req, res) {
var url = process.env.MCS_URL + req.originalUrl;
req.pipe(request({
url: url,
headers: { 'oracle-mobile-backend-id':
process.env.MCS_BACKEND_ID },
auth: { user: process.env.MCS_USER, pass:
process.env.MCS_PWD }
})).pipe(res);
});
var PORT = process.env.PORT || 3000;
app.listen(PORT, function () {
console.log('Example app listening on port ' + PORT + '!');
console.log('MCS backend id is ' + process.env.MCS_BACKEND_ID);
});
JET Web App : http://bit.ly/acesdemo
Node.js backend
index.html
drill.html drill.js
acts.html
acts.js
main.js
index.js
/public
Node.js backend
index.html
drill.html drill.js
acts.html
acts.js
details.html details.js
chart.html
chart.js
main.js
index.js
/public
Node.js backend
index.html
drill.html drill.js
acts.html
acts.js
details.html details.js
chart.html
chart.js
main.js
index.js
/public
/mobile/custom/artistapi/acts/<id>/mobile/custom/artistapi/acts
MCS
Deployment
var form = new FormData();
form.append('name', name);
form.append('runtime', 'node');
form.append('subscription', 'Hourly');
form.append('manifest',
fs.createReadStream('manifest.json'));
form.append('deployment',
fs.createReadStream('deployment.json'));
form.append('archive',
fs.createReadStream('frontend.zip'));
formData.submit({
method: method,
protocol: 'https:',
host: 'apaas.us2.oraclecloud.com',
path: '/paas/service/apaas/api/v1.1/apps/myDomain',
auth: 'admin:password',
headers: { 'X-ID-TENANT-NAME': 'myDomain'}
});
via REST
...or simply use
cloud web
interface
JET Web App : http://bit.ly/acesdemo

Weitere ähnliche Inhalte

Andere mochten auch

Introducing Node.js in an Oracle technology environment (including hands-on)
Introducing Node.js in an Oracle technology environment (including hands-on)Introducing Node.js in an Oracle technology environment (including hands-on)
Introducing Node.js in an Oracle technology environment (including hands-on)Lucas Jellema
 
Introducing Oracle Real-Time Integration Business Insight
Introducing Oracle Real-Time Integration Business InsightIntroducing Oracle Real-Time Integration Business Insight
Introducing Oracle Real-Time Integration Business InsightLucas Jellema
 
Oracle Database 12c - Introducing SQL Pattern Recognition through MATCH_RECOG...
Oracle Database 12c - Introducing SQL Pattern Recognition through MATCH_RECOG...Oracle Database 12c - Introducing SQL Pattern Recognition through MATCH_RECOG...
Oracle Database 12c - Introducing SQL Pattern Recognition through MATCH_RECOG...Lucas Jellema
 
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...Lucas Jellema
 
Oracle Management Cloud - introduction, overview and getting started (AMIS, 2...
Oracle Management Cloud - introduction, overview and getting started (AMIS, 2...Oracle Management Cloud - introduction, overview and getting started (AMIS, 2...
Oracle Management Cloud - introduction, overview and getting started (AMIS, 2...Lucas Jellema
 
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...Lucas Jellema
 
Oracle OpenWorld 2016 Review - High Level Overview of major themes and grand ...
Oracle OpenWorld 2016 Review - High Level Overview of major themes and grand ...Oracle OpenWorld 2016 Review - High Level Overview of major themes and grand ...
Oracle OpenWorld 2016 Review - High Level Overview of major themes and grand ...Lucas Jellema
 
Handson Oracle Management Cloud with Application Performance Monitoring and L...
Handson Oracle Management Cloud with Application Performance Monitoring and L...Handson Oracle Management Cloud with Application Performance Monitoring and L...
Handson Oracle Management Cloud with Application Performance Monitoring and L...Lucas Jellema
 
AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...
AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...
AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...Lucas Jellema
 
Comparing 30 MongoDB operations with Oracle SQL statements
Comparing 30 MongoDB operations with Oracle SQL statementsComparing 30 MongoDB operations with Oracle SQL statements
Comparing 30 MongoDB operations with Oracle SQL statementsLucas Jellema
 

Andere mochten auch (10)

Introducing Node.js in an Oracle technology environment (including hands-on)
Introducing Node.js in an Oracle technology environment (including hands-on)Introducing Node.js in an Oracle technology environment (including hands-on)
Introducing Node.js in an Oracle technology environment (including hands-on)
 
Introducing Oracle Real-Time Integration Business Insight
Introducing Oracle Real-Time Integration Business InsightIntroducing Oracle Real-Time Integration Business Insight
Introducing Oracle Real-Time Integration Business Insight
 
Oracle Database 12c - Introducing SQL Pattern Recognition through MATCH_RECOG...
Oracle Database 12c - Introducing SQL Pattern Recognition through MATCH_RECOG...Oracle Database 12c - Introducing SQL Pattern Recognition through MATCH_RECOG...
Oracle Database 12c - Introducing SQL Pattern Recognition through MATCH_RECOG...
 
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
 
Oracle Management Cloud - introduction, overview and getting started (AMIS, 2...
Oracle Management Cloud - introduction, overview and getting started (AMIS, 2...Oracle Management Cloud - introduction, overview and getting started (AMIS, 2...
Oracle Management Cloud - introduction, overview and getting started (AMIS, 2...
 
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
 
Oracle OpenWorld 2016 Review - High Level Overview of major themes and grand ...
Oracle OpenWorld 2016 Review - High Level Overview of major themes and grand ...Oracle OpenWorld 2016 Review - High Level Overview of major themes and grand ...
Oracle OpenWorld 2016 Review - High Level Overview of major themes and grand ...
 
Handson Oracle Management Cloud with Application Performance Monitoring and L...
Handson Oracle Management Cloud with Application Performance Monitoring and L...Handson Oracle Management Cloud with Application Performance Monitoring and L...
Handson Oracle Management Cloud with Application Performance Monitoring and L...
 
AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...
AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...
AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...
 
Comparing 30 MongoDB operations with Oracle SQL statements
Comparing 30 MongoDB operations with Oracle SQL statementsComparing 30 MongoDB operations with Oracle SQL statements
Comparing 30 MongoDB operations with Oracle SQL statements
 

Mehr von Lucas Jellema

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...Lucas Jellema
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Lucas Jellema
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Lucas Jellema
 

Mehr von Lucas Jellema (20)

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
 

Kürzlich hochgeladen

Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 

Kürzlich hochgeladen (20)

Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 

AMIS25 - Soaring through the Clouds – Live Demo on How to Integrate Ten Different Oracle Public PaaS Services

  • 1. Soaring through the Clouds Live Oracle Public Cloud PaaS demo by The ACE Director Cloud Team
  • 2. Challenge • Do a live and integrated demo of as many Oracle Public PaaS cloud services as possible ICS Doc CS PCS JCS OSN Sites CS DBaaS SOA CS ACC MCS IoT CS
  • 3. The Team • Distributed – Three countries, Five partners, Five Locations – The Cloud is omnipresent • except when there is a form of outage
  • 4. Story Line to create a credible flow across the clouds Oracle OpenWorld 2016 Evaluate Proposal Analyze Twitter traffic & Voting Machines Publish Approved Proposals on Web & App
  • 5. audience IoT CS PCS Doc CS SOA CS DBaaS MCS JET on AppContainer CS (or JCS) ACC OSN Real “Things” (Pis, Arduino’s, …) ICS Sites CS
  • 6. Now you tweet your Artist Proposal for OOW 2016 Use the hashtag #ofmaces to get noticed by IoT CS and add your favorite artist as the second hashtag Note: use underscore for space JET Web App : http://bit.ly/acesdemo
  • 7. audience IoT CS PCS Doc CS SOA CS DBaaS MCS JET on AppContainer CS (or JCS) ACC OSN Real “Things” (Pis, Arduino’s, …) Collect and analyze audience input; forward findings to REST service on ICS Run human workflow based on suggested artist; approve/reject, add image (on Doc CS) and description; discuss on OSN; forward outcome to service on ICS Expose Rich, Responsive, Mobile enabled User Interface that contains the proposed artist with some enrichment, based on REST APIs (exposed from MCS) Publish REST/JSON APIs that expose data on proposed artists including the selected image (based on SOAP services on SOA CS) Expose SOAP API [for ICS to invoke] to register a proposed artist and a supporting image; record artist details persistently [with some enrichment retrieved from external services]; publish Tweet about new proposal ICS Sites CS Torsten Lonneke Wilfred Lonneke Lucas Expose SOAP and REST services to facilitate inetgration (from IoT CS to PCS, from PCS to SOA CS and from SOA CS to Twitter)
  • 8. All the cloud services involved – and how they are connected Storage Compute DBaaS Storage Compute DBaaS JCS SOA CS Storage Compute ACC ICS MCS Doc CS PCS Storage Compute IoT CS OSN Sites CS ACC US2 EMEA2
  • 9. DBaaS SOA CS ACC ICS MCS Doc CS PCS JCS OSN IoT CS Sites CS Geographic spread of our demo Katwijk, Netherlands
  • 10. Step One: IoT == Internet of Tweets ICS PCS IoT CS US2 EMEA2
  • 11. Doc CS PCS OSN Sites CS Content and Process Responsive Microsite Page Built with the authorised Image stored in DCS Business Process receives IoT message and sends to reviewer for ennrichment and authorisation Doc Cloud used to store marketing images for display in JET app and Sites Page Social Network used to discuss the marketing image, description and approval Microsites: http://tinyurl.com/ACEDCLOUD-KW
  • 13. ICS PCS IoT CS REST (hand off artist finding in proprietary IoT CS JSON format); forwarded to PCS ICS is at the center of this world
  • 14. SOA CSICS PCS REST (publishes a Tweet, called from SOA CS) SOAP (returns Y or N depending on whether a proposal exists using SOA CS) SOAP (calls to SOA CS to create enriched proposal in DB; this service is to be called by PCS) ICS is at the center of this world IoT CS REST (hand off artist finding in proprietary IoT CS JSON format); forwarded to PCS
  • 15. SOA CSICS PCS IoT CS REST (publishes a Tweet through SaibotAirport ) REST (hand off artist finding in proprietary IoT CS JSON format); forwarded to SOA CS SOAP (returns Y or N depending on whether a proposal exists using SOA CS) REST (submit a proposal for an artist in decent JSON format; links to PCS to ask for approval of the proposal SOAP (calls to SOA CS to create enriched proposal in DB; this service is to be called by PCS) REST API (calls to SOA CS to create enriched proposal in DB) REST (hand off artist finding in proprietary IoT CS JSON format); forwarded to PCS ICS is at the center of this world
  • 18. Integration: expose public SOAP, integrate with internal SOA CS
  • 20. Action: Find a nice The Boss image
  • 21. Submit proposal directly to ICS (pretending to be PCS)
  • 22. Verified with direct Soap Calls to SOA CS
  • 23. Verified with direct Soap Calls to SOA CS
  • 25. And published in the JET Web App
  • 26. And published in the JET Web App
  • 33. 33 SOA CS Identity Domain DBaaS Storage CS Compute CS JCS SOA CS SOA Service Bus PDB1 HR PDB2 APP
  • 34. DBaaS JCS SOA CS SOA CS SOA CS SOA Service Bus PDB1 HR PDB2 APP act_proposal _api proposed_ acts act_albums
  • 36. Mobile backend Mobile back end Act API Platform API Act SOAP connector /acts /acts/{id} Proposed Acts Service
  • 37. Oracle JET on ACC MCS Storage Compute ACC JET Web App : http://bit.ly/acesdemo
  • 38. JET Web App : http://bit.ly/acesdemo
  • 39. Browser invokes twitter APIREST call to nodejs which calls MCS /mobile/custom/artistapi/acts JET Web App : http://bit.ly/acesdemo
  • 41. REST API: /mobile/custom/artistapi/acts[ { "id": 661, "name": "Bruce Springsteen", "numberOfVotes": 48, "registrationDate": "2016-03- 14T11:47:48.709198+00:00" }, ... more acts ... ] JET Web App : http://bit.ly/acesdemo
  • 42. REST API: /mobile/custom/artistapi/acts/661{ "id": 661, "name": "Bruce Springsteen", "numberOfVotes": 48, "description": "Down to earth rock...", "genres": "["roots rock","singer-songwriter"]", "biography": "Bruce Frederick .....", "imageURL": "http://i.telegraph.co.uk/...", "discography": [ {"title": "Born In The U.S.A.", "imageURL": "..."}, ... more albums ... ] } JET Web App : http://bit.ly/acesdemo
  • 43. BROWSER NodeJS server on Application Container Cloud Service REST API on Mobile Cloud Service Adds http request headers: ● oracle-mobile- backend-id ● authorization Having the browser invoke a REST API on same server that hosts html and js prevents Cross-Origin issues JET Web App : http://bit.ly/acesdemo
  • 44. { "runtime": { "majorVersion": "0.12" }, "command": "sh start.sh" } manifest.json #!/bin/sh unset http_proxy unset https_proxy node ./index { "environment": { "MCS_BACKEND_ID": "55bc25a9-...", "MCS_URL": "...us2.oraclecloud.com:443", "MCS_USER": "MCSDEM0001...", "MCS_PWD": "dy6ou5..." } } Configuring AppContainerCS nodejs deployment.json start.sh JET Web App : http://bit.ly/acesdemo
  • 45. index.js (nodejs code) var express = require('express'); var app = express(); var request = require('request'); app.use(express.static('public')); app.use('/bower_components', express.static('bower_components')); app.use('/mobile/*', function (req, res) { var url = process.env.MCS_URL + req.originalUrl; req.pipe(request({ url: url, headers: { 'oracle-mobile-backend-id': process.env.MCS_BACKEND_ID }, auth: { user: process.env.MCS_USER, pass: process.env.MCS_PWD } })).pipe(res); }); var PORT = process.env.PORT || 3000; app.listen(PORT, function () { console.log('Example app listening on port ' + PORT + '!'); console.log('MCS backend id is ' + process.env.MCS_BACKEND_ID); }); JET Web App : http://bit.ly/acesdemo
  • 47. Node.js backend index.html drill.html drill.js acts.html acts.js details.html details.js chart.html chart.js main.js index.js /public
  • 48. Node.js backend index.html drill.html drill.js acts.html acts.js details.html details.js chart.html chart.js main.js index.js /public /mobile/custom/artistapi/acts/<id>/mobile/custom/artistapi/acts MCS
  • 49. Deployment var form = new FormData(); form.append('name', name); form.append('runtime', 'node'); form.append('subscription', 'Hourly'); form.append('manifest', fs.createReadStream('manifest.json')); form.append('deployment', fs.createReadStream('deployment.json')); form.append('archive', fs.createReadStream('frontend.zip')); formData.submit({ method: method, protocol: 'https:', host: 'apaas.us2.oraclecloud.com', path: '/paas/service/apaas/api/v1.1/apps/myDomain', auth: 'admin:password', headers: { 'X-ID-TENANT-NAME': 'myDomain'} }); via REST ...or simply use cloud web interface JET Web App : http://bit.ly/acesdemo