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)
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
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. 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.
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. 3rd gen logic distribution comparison
Middleware
Producer Application
Consumer Application
Layer Logic distribution
Generation zero First generation Second generation Third generation
MicroservicesArchitectures
MonolithicArchitectures
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. 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. 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. 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. 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
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. 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. 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. 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. 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. 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 …
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