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.

Oracle Developer Meetup March 2018

560 views

Published on

London Oracle Developer Meetup Presented by Luis Weir (@luisw19) and myself
The presentation focuses on APIs and microservices (a lot of discussion on the later)

Published in: Software
  • Be the first to comment

Oracle Developer Meetup March 2018

  1. 1. Phil Wilkins Phil.Wilkins@capgemini.com uk.linkedin.com/in/philWilkins @PhilAtCapgemini / @MP3Monster Oracle-integration.cloud / APIPlatform.cloud / Blog.mp3monster.org { developer } Luis Weir Luis.Weir@capgemini.com uk.linkedin.com/in/lweir @luisw19 Soa4u.co.uk / APIPlatform.cloud LONDON
  2. 2. ‹#›© 2017 Capgemini. All rights reserved. • Technical Enterprise Architect specializing in Integration and PaaS. • Started out as a developer working on UI for Radar • Moved into integration solutions –using Open Scr Tech e.g. JBoss App Server & Fuse, Apache Camel etc. • Worked in end user companies, ISVs & consultancy. • Worked with Oracle tech for ~9yrs covering on-prem and cloud. About :: Phil Wilkins Supported the development of a variety of books Packt – Erl et al Articles published in a range of Journals Published 1st Oracle iPaaS Book Implementing ICS PaaS Community Jan, 2017 TOGAF 9 Certified 2013 • co-authored a book on Oracle Integration Cloud, contributing a new book on API Platform • contributing to development of more than a dozen other titles ranging from Apache Camel to Cloud Computing Design • active blogger have had a number of articles published in various journals.
  3. 3. ‹#›© 2017 Capgemini. All rights reserved. Publications from the Capgemini PaaS Team http://APIPlatform.cloud Goes to Print Q1 2018 … Available as Alpha (download chapters as we finish them) Order from … • http://bit.ly/APIP-CS • http://bit.ly/APIP-CS- Amazon https://oracle-integration.cloud Order from … • http://bit.ly/ImplICSBook • http://bit.ly/ICS-Amazon Goes to Print Q1 2018
  4. 4. ‹#›© 2017 Capgemini. All rights reserved. About: Luis weir Oracle Ace Director & Developer Champion CTO at Capgemini UK luis.weir@capgemini.com uk.linkedin.com/in/lweir @luisw19 http://www.soa4u.co.uk apiplatform.cloud/ Goes to Print Q1 2018 tinyurl.com/eapim18 Goes to Print Q2 2018 tinyurl.com/apim15 Released in Set. 2015 tinyurl.com/soagov13 Released in Set. 2013 Latest articles: • Five Minutes with Luis Weir • 2nd vs 3rd Generation API Platforms - A Comprehensive Comparison • Podcast: Are Microservices and APIs Becoming SOA 2.0? • 3rd-Generation API Management: From Proxies to Micro-Gateways • Oracle API Platform Cloud Service Overview API Contribution Award PaaS Community Split, April, 2017 Best New UK Speaker UKOUG Birmingham, Dec, 2016 Cloud Contribution Award PaaS Community Valencia, March, 2016 Oracle Excellence Award Integration Category October, 2017, SFO
  5. 5. Cloud Premier Partner Oracle Diamond Partner Oracle Cloud Managed Service Provider (*New!) partner – only a handful of SI’s Only Global SI to be accredited as Oracle Authorized Education Center Part of Beta programmes for: Cotainer Native & Microservices Inteligent Chatbot API platform Integration cloud Process cloud Oracle Self-Service Automation Oracle IoT Cloud Oracle Mobile Cloud  Continuous investments in cloud accelerators  5 Oracle Aces: 2 Directors, 3 Aces  Real experts and thought leaders including several books:  2013: Oracle SOA Governance Implementation  2015: Oracle API Management Implementation  2016: Oracle Case Management Solutions  2017: Implementing Cloud service Soon in 2018:  Oracle API Platform CS Implementation  Enterprise API Management  Several publications in OTN, Oracle Magazine, Oracle Scene & Other  2017 – Gold & Silver UKOUG Partner of the Year Awards  2017 – Global Excellence Award for Extend and Connect  2017 – API PaaS Community Award  2017 – Chatbot PaaS Community Award  2016 – Oracle Specialized Partner of the Year: Industry  2016 – Oracle University Partner of the Year  2016 – BPM and Cloud community awards  2015 – Oracle Customer Support Services Partner of the Year  2011 – Global Partner of the Year Award for Oracle Applications  2012 – Fusion Middleware partner of the year  2010 – Partner of the year for Oracle Fusion Middleware  2010 – 2010 EMEA Industry Partner of the Year  2010 – Oracle Customer Services Partner of The Year  2009 – Oracle Customer Services Partner of The Year  2008 – Oracle Customer Services Partner of The Year Alliance and Strategic Partnership Awards & Recognitions Thought Leadership Article – June 17 Article – June 17 Podcast – August 17 Capgemini & Oracle
  6. 6. ‹#›© 2017 Capgemini. All rights reserved. 7:00pm 7:30pm 8:15pm 8:45pm Kickoff by Phil Wilkins & Luis Weir Set up the API Platform gateway (live demo) Strawman – topics for meetups? What works for you? This Evening ... Come fly with Oracle - API design for flying drones 9:00pm So Long and thanks for all the Pizza - End of event 7:05pm 3rd Gen API Platforms
  7. 7. 7© 2017 Capgemini. All rights reserved. What are they? 3rd Generation API Platforms…
  8. 8. Disruptive Innovation? Netflix did not kill Blockbuster. Ridiculous late fees did. Uber is not killing the taxi business nor is Airbnb killing the hotel industry. Limited access and ridiculous fares is. Spotify did not kill the music industry. Being forced to buy full-length albums did. AWS/Cloud is not killing the on-premise infrastructure & software business. Ridiculous provisioning timeframes, inflexibility and high costs is. APIs and Microservices are not killing traditional SOA. Unnecessary complexity, inflexibility to scale, complicated services and lengthily (costly) delivery timeframes are. (inspired from stuff I found on the web)
  9. 9. Disruptive Innovation? Technology by itself is not the real disruptor. Lack of customer centricity and business agility is the biggest threat to any business. (inspired from stuff I found on the web) ….However without the right technology to enable the business, achieving such ambitions won’t be possible.
  10. 10. API Evolution Prior 1980’s APIs inside a monolith 1980’s ONC RPC Early/mid 1990’s CORBA Late 1990’s XML-RCP & SOAP Early 2010 REST 2018 REST, GraphQL, etc.
  11. 11. Application Programming Interfaces (APIs) are doors that connect ecosystems
  12. 12. API gateways evolution https://tinyurl.com/3rdgenapim Timeline HTTP Reverse Proxy’s Generation Zero The ESB  Data in monoliths  Cloud??  All about ESB’s  SOA governance in its infancy  Service gateways as thin layer  Reverse HTTP proxies for external access  Very early adoption of cloud (mainly by SMBs) ESB DMZ SSL WS-Security Service Gateways SSL 2002-2005 XMLXML XML DMZ 2014-2017 3rd Generation APIs everywhere {API} {API} {API} {API} {API} {API} {API} {API} Micro Gateway Micro Gateway Micro Gateway API Management Micro Gateway SOA Micro Gateways Microservices Micro Gateways Micro Gateway  Data fully federated  Centre of gravity moves to cloud  Proliferation of {REST} APIs  REST/JSON taking over SOAP/XML  Microservices gain momentum  Docker containers to package & deploy  API management changes shape  The API Micro Gateway is born  Event-loop (non-blocking I/O) based app servers  API management as an enterprise discipline  IoT gaining momentum {JSON} {JSON} {JSON} {JSON} {JSON} {JSON} {JSON} 2nd Generation REST & API Gateways SSL SSL API Management 2011-2013 WS-Security SOA Web Service Management SCA RulesBPELWS-* ESB BAM Adapters BPMN WS-S  Data becoming federated  Enterprise embraces cloud applications  Raise of API management pure-plays  SaaS adoption starts to gain momentum  API Management add-ons to 1st Gen  REST APIs become very popular  API Gateways for SaaS integration  SOA governance less popular  Microservices gaining popularity  IoT early days {API} {API} {API} XML XML DMZ {JSON}{JSON} 1st Generation XML Appliances {API} 2006-2010 XML Appliances (1st Gen API Gateway) DMZ WS-Security WS-Security SOA Service Gateways SCA RulesBPELWS-* ESB BAM Adapters BPMN SOA Governance  Data in monoliths  Early days of cloud (mainly SMB)  All about SOA and SOA Governance  SCA published (OER, UDDI, etc)  SOA Governance (Enterprise Repositories, UDDI’s, monitoring and management)  XML appliances gain popularity  Cloud on the radar for large enterprises  First web (REST) APIs XMLXML XML {JSON}
  13. 13. 3rd gen logic distribution comparison Middleware Producer Application Consumer Application Layer Logic distribution Generation zero First generation Second generation Third generation MicroservicesArchitectures MonolithicArchitectures
  14. 14. 3rd gen logic distribution comparison API Gateway ESB APIManagement ESB XML Appliance Composite Applications Backend Applications Web Services Security DMZ SOAGovernance API Gateway Composite Applications Backend Applications DMZ 1st Gen 2nd Gen C C C C C C 3rd Gen C API Micro Gateways API Micro Gateways C C API Micro Gateways API Micro Gateways C API Management DMZ Registry Registry Diagram inspired from omesa.io Web service policy enforcement point Semi-decoupled service: stateless or statefull. Implements orchestration, transformation, rules, and other forms of business logic Fully-decoupled service (microservice): stateless. Implements choreography, transformation, and other forms of business logic Managed API: endpoint with policies applied C Consumers: any system, application or mobile device that consumes a web service or REST API Unmanaged API: endpoint with no policies applied
  15. 15. Modern Architectures… what’s different? Legacy Monolith Mainframe (ie IBM System Z, S/360) Storage (ie. DB2, IMS/DB) Hypervisor (ie. PR/SM –Type 1) Hardware Resources (ie. DADB, IDMS,IEDN) Operating System (ie. z/OS, z/VSE) Batch Services (ie JCL,JES,3rd p.) Application Services (ie. CICS) Client:Server Modern Monolith Hardware Host OS Hypervisor (type 1 or 2) Guest OS (VMs) Bin/Libs (MREs, Interpreters, etc) Application Server ESB / SOA Stack Container Engine Relational Database Client Browser Application ServerResponse Request Model ControllerView MVC API Gateway Modern Architectures Client Browser Model ViewModel View Data updates BindingEvents Local Storage MVVM Hardware Host OS Node PHP PythonJava Ruby Bin/Libs Docker Container Bin/Libs Oracle NoSQL MySQL Etc.. Cassandra API (Micro) Gateway Bin/LibsBin/LibsBin/Libs
  16. 16. Modern Architectures… what’s different? Legacy Monolith Mainframe (ie IBM System Z, S/360) Storage (ie. DB2, IMS/DB) Hypervisor (ie. PR/SM –Type 1) Hardware Resources (ie. DADB, IDMS,IEDN) Operating System (ie. z/OS, z/VSE) Batch Services (ie JCL,JES,3rd p.) Application Services (ie. CICS) Client:Server Modern Monolith Hardware Host OS Hypervisor (type 1 or 2) Guest OS (VMs) Bin/Libs (MREs, Interpreters, etc) Application Server ESB / SOA Stack Container Engine Relational Database Client Browser Application ServerResponse Request Model ControllerView MVC API Gateway Client Browser MVVM Oracle Container Native *New* | Oracle Application Container Cloud | Oracle Container Cloud Classic | Baremetal (OCI) Oracle API P - CS API Gateways Modern Architectures Java Node PHP Python Ruby DBCS Mongo in OCI MySQL CS Others in OCI NoSQL CS
  17. 17. Any Compute API Gateway Runtime Derby DB Bundled Software API Consumers API Consumers API Consumers OnPrem Service Endpoint Service Endpoint Service Endpoint API calls Service calls Compute NodeCompute Node REST APIs Management Services Management Portal Developer Portal Public Cloud - API Platform Cloud Service Management Portal Developer Portal Compute Node Database Cloud REST APIs Management Services Management Portal Developer Portal https / phone-home Load Balancer OracleIdentity CloudService Corporate Directory http(s) http(s) http(s) http(s) http(s) http(s) Oracle API Platform Architecture Review
  18. 18. What’s Unique in the Oracle API Platform? API API-design ready with native Apiary integration Built from the ground-up to satisfy modern API needs “Native hybrid” API Platform. Manage APIs anywhere (AWS, Azure, OPC, on- prem) Microservice ready. Lightweight, easy to set-up and scale Excellent licensing model based on logical gateways –not CPUs
  19. 19. 23© 2017 Capgemini. All rights reserved. A closer look at the API Gateway 3rd Generation API Platform… Cloud Management Node Server 1 Development Logical Gateway Node Server n Node Server 1 Test Logical Gateway Node Server n Node Server 1 PreProduction Logical Gateway Node Server n Node Server 1 Production Logical Gateway Node Server n Single Cloud Management model - APIs from development to production
  20. 20. 24© 2017 Capgemini. All rights reserved. Gateway Pre-requisites /u01/app/ oracle/gateway/ Installer Run Archive Patch Before a gateway can be configured and deployed, a number of pre- requisites are needed … • Appropriate Version of the JDK • Python with OpenSSL • Sufficient Storage space & suitable file system permissions • Downloaded installation bundle from the management cloud
  21. 21. 25© 2017 Capgemini. All rights reserved. The API Platform has a life cycle. Once it has been joined to a Management Cloud – then it becomes operational Gateway Lifecycle Install Configure Start Create and/or Join Lockdown Patch Stop Destroy Node Commands are provided which can perform multiple lifecycle steps in a single command
  22. 22. 26© 2017 Capgemini. All rights reserved. { "gatewayInstallDir" : "/u01/app/oracle/gateway/run/", "installationArchiveLocation" : "/u01/app/oracle/gateway- installer/archived-install/archive1", "prevInstallCleanupAction" : "clean", "gatewayNodeName" : “dev-lx3061", "managementServerHost" : "https://130.162.65.144", "managementServerPort" : "443", "nonProxyHosts" : "localhost", "listenIpAddress" : "10.230.100.135", "publishAddress" : "10.230.100.135", "gatewayExecutionMode“ : "Development", "gatewayNodeDescription" : “dev-lx3061.somewhere.com", "gatewayDomainName" : "gateway1", "logicalGateway" : “dev", "opatchesFolder" : "/u01/app/oracle/gateway-patches", "gatewayMServerPort" : "8011", "gatewayMServerSSLPort" : "443", "gatewayId" : "100" } Example Configuration Location for putting old instance and current execution Choice of ways to install and treat the old binaries How to identify this node Where to find the management server Some networks have a proxy in the DMZ to pass through to the internet Declare the gateway location and which IP to listen on In the Gateway is a WLS instance. We can name this, naming needs to be unique if you’re going to use OEM Which logical gateway should this node associate with The gateway is actually tracked by this Id.
  23. 23. 27© 2017 Capgemini. All rights reserved. The API Platform has a life cycle. Once it has been joined to a Management Cloud – then it becomes operational Gateway Lifecycle Install Configure Start Create and/or Join Lockdown Patch Stop Destroy Node Commands are provided which can perform multiple lifecycle steps in a single command ./APIGateway -f gateway-props.json -a install ./APIGateway -f gateway-props.json -a configure ./APIGateway -f gateway-props.json -a start ./APIGateway -f gateway-props.json -a create-join OR ./APIGateway -f gateway-props.json -a create ./APIGateway -f gateway-props.json -a join
  24. 24. 28© 2017 Capgemini. All rights reserved. Come Fly with Capgemini aka Drones with APIs
  25. 25. Recap … The Idea … • Make experimenting and talking about Oracle Tech fun by using to do something • We came up with Flying Drones What’s Happened since December … • We have obtained a Parrot Bebop 2 Drone!! • We have created a 1st cut of the APIs to command the Drone {API 1st} • APIs defined to control flight • Plenty of opportunity to develop the APIs by defining APIs to manage things like the camera • Opportunity to experiment with creating single use APIs on-top of the general drones • Looked at the question of Health & Safety • Worked through some of the technical puzzles to make this work • Sharing information on a GitHub wiki
  26. 26. The Resources … Git Hub Repository : https://github.com/oracledeveloperslondon/droneAPI Apiary Definition (also held in GitHub) : http://dronedevmeetup.docs.apiary.io SDK between Drone and API App : http://developer.parrot.com/docs/SDK3/
  27. 27. Compute Node Public Cloud - API Platform Cloud Service Compute Node REST APIs Management Services Management Portal Developer Portal Load Balancer Any Compute API Gateway Runtime Derby DB Bundled Software The drone broadcasts its own network - dynamic API Platform is exposed on stable LAN Network bridge setup needs to be established Observer with App to meet H&S requirements
  28. 28. Compute Node Public Cloud - API Platform Cloud Service Compute Node REST APIs Management Services Management Portal Developer Portal Load Balancer Any Compute API Gateway Runtime Derby DB Bundled Software Gateway routes calls to API app(s) built using ARDrone SDK Run gateway on local machine to avoid issues of LAN to ‘net firewalling Simple single instance operation Initial development work has adopted a Springboot model so we can deploy into different tech Apiary has all the API documentation & definitions of the APIs being offered API policies defined in a management cloud instance. Gateways configured to phone home to get config API policies defined in a management cloud instance. Gateways configured to phone home to get config
  29. 29. Compute Node Public Cloud - API Platform Cloud Service Compute Node REST APIs Management Services Management Portal Developer Portal Load Balancer Any Compute API Gateway Runtime Derby DB Bundled Software Use any (Oracle) tech you like to build apps that call the APIs Gateway running when setup. Can use Dredd or Apiary mock to test your functionality
  30. 30. Compute Node Public Cloud - API Platform Cloud Service Compute Node REST APIs Management Services Management Portal Developer Portal Load Balancer Any Compute API Gateway Runtime Derby DB Bundled Software The complete picture …
  31. 31. ‹#›© 2017 Capgemini. All rights reserved. Drone Client & API Lifecycle Client App Request Drone Discovery Get List of found drones Send Command to selected drone Enquire on Drone info Shutdown API App / Gateway Discover Drones – record new drones •Create Drone listener •Cache Entry •Command Drone with safety parameters Receive Client commands •Send drone command •Receive any status change info •Maintain a cache of drone state Shutdown •Command drone to emergency state
  32. 32. Compute Node Public Cloud - API Platform Cloud Service Compute Node REST APIs Management Services Management Portal Developer Portal Load Balancer Any Compute API Gateway Runtime Derby DB Bundled Software Build control apps using APIs • Use Dredd to help test or Apiary Extend the API definitions to offer new features / expose Drone capabilities Get involved … Contribute to developing of the back end to realise required and new services Make development and setup easier e.g. • Dev VM (prebuild ARDrone) • Script the bridging mechanism
  33. 33. With more than 190,000 people, Capgemini is present in over 40 countries and celebrates its 50th Anniversary year in 2017. A global leader in consulting, technology and outsourcing services, the Group reported 2016 global revenues of EUR 12.5 billion. Together with its clients, Capgemini creates and delivers business, technology and digital solutions that fit their needs, enabling them to achieve innovation and competitiveness. A deeply multicultural organization, Capgemini has developed its own way of working, the Collaborative Business Experience™, and draws on Rightshore®, its worldwide delivery model. About Capgemini Learn more about us at www.capgemini.com This message contains information that may be privileged or confidential and is the property of the Capgemini Group. Copyright © 2017 Capgemini. All rights reserved. Rightshore® is a trademark belonging to Capgemini. This message is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.

×