Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

443 views

Published on

The Oracle ACE team has a new mission: complete a complex end-to-end business flow across at least ten Oracle PaaS Services – in front of a live audience. This session will demonstrate how a document driven human workflow triggers an integration flow to update a 3rd party application that in turn emits events that are processed in real time resulting in findings that are published through a REST API in a user friendly front end. Expect guest appearances by an interesting Oracle PaaS cast, including DocCS, PCS, Social Network and Sites CS and ICS and also featuring DBaaS, JCS and SOA CS with a touch of MCS and IoT CS and finally a JET cruising through the clouds powered by a Node.js container on Application Container Cloud. Our flight plan depends a little bit on the weather forecast: we do need a cloudy sky to realize our full potential. The team will perform some live hacking in the various cloud services to complete and tweak the end-to-end flow. We will divulge some of the behind-the-scenes challenges and our findings beyond slideware and C-level promises. The audience kick off our demo - so please be there to lend a hand.

Published in: Software
  • Login to see the comments

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

  1. 1. Soaring through the Clouds Live Oracle Public Cloud PaaS demo by The ACE Director Cloud Team
  2. 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. 3. The Team • Distributed – Three countries, Five partners, Five Locations – The Cloud is omnipresent • except when there is a form of outage
  4. 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. 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. 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. 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. 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. 9. DBaaS SOA CS ACC ICS MCS Doc CS PCS JCS OSN IoT CS Sites CS Geographic spread of our demo Katwijk, Netherlands
  10. 10. Step One: IoT == Internet of Tweets ICS PCS IoT CS US2 EMEA2
  11. 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
  12. 12. Integration and Persistence Storage Compute DBaaS Storage Compute DBaaS JCS SOA CS Storage Compute JCS ACC ICS
  13. 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. 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. 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
  16. 16. Defining Connections
  17. 17. Defining Integrations
  18. 18. Integration: expose public SOAP, integrate with internal SOA CS
  19. 19. Configure business identifiers
  20. 20. Action: Find a nice The Boss image
  21. 21. Submit proposal directly to ICS (pretending to be PCS)
  22. 22. Verified with direct Soap Calls to SOA CS
  23. 23. Verified with direct Soap Calls to SOA CS
  24. 24. Seconds later…
  25. 25. And published in the JET Web App
  26. 26. And published in the JET Web App
  27. 27. Traces in ICS
  28. 28. Traces in ICS
  29. 29. And in SOA CS
  30. 30. And in SOA CS
  31. 31. And in SOA CS
  32. 32. And in DBaaS
  33. 33. 33 SOA CS Identity Domain DBaaS Storage CS Compute CS JCS SOA CS SOA Service Bus PDB1 HR PDB2 APP
  34. 34. DBaaS JCS SOA CS SOA CS SOA CS SOA Service Bus PDB1 HR PDB2 APP act_proposal _api proposed_ acts act_albums
  35. 35. Architecture MCS ActService
  36. 36. Mobile backend Mobile back end Act API Platform API Act SOAP connector /acts /acts/{id} Proposed Acts Service
  37. 37. Oracle JET on ACC MCS Storage Compute ACC JET Web App : http://bit.ly/acesdemo
  38. 38. JET Web App : http://bit.ly/acesdemo
  39. 39. Browser invokes twitter APIREST call to nodejs which calls MCS /mobile/custom/artistapi/acts JET Web App : http://bit.ly/acesdemo
  40. 40. Responsive layout -small screen /mobile/custom/artistapi/acts/678 JET Web App : http://bit.ly/acesdemo
  41. 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. 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. 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. 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. 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
  46. 46. Node.js backend index.html drill.html drill.js acts.html acts.js main.js index.js /public
  47. 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. 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. 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

×