SlideShare une entreprise Scribd logo
1  sur  39
API Design – More than just a Payload
Definition
Name
Phil Wilkins
OCI
November 2022
Speaker
Phil Wilkins
Cloud Developer Evangelist
2 Copyright © 2022, Oracle and/or its affiliates
Philip.Wilkins@Oracle.com
https://bit.ly/devrel-slack-emea @Phil Wilkins
mp3monster.org / cloud-native.info / oracle-integration.cloud
linkedin.com/in/philwilkins
github.com/mp3monster
@mp3monster
The following is intended to present ideas & application of
open technologies. It is intended for information purposes
only, and may not be incorporated into any contract. It is
not a commitment to deliver any material, code, or
functionality, and should not be relied
upon in making purchasing decisions. The development,
release, timing, and pricing of any features or functionality
described for Oracle’s products may change and remains at
the sole discretion of Oracle Corporation.
This presentation contains the thoughts and
ideas of this presenter & does not necessarily
represent the views of Oracle Corporation.
3 Copyright © 2022, Oracle and/or its affiliates
4 Copyright © 2022, Oracle and/or its affiliates
APIs, more than a
Payload?
Good APIs – Apply everywhere …
5 Copyright © 2022, Oracle and/or its affiliates
The parts of Open API Specification (OAS) we focus on when developing
an API
6 Copyright © 2022, Oracle and/or its affiliates
Thanks to API Handyman
(Arnaud Lauret)
http://openapi-map.apihandyman.io/
Copyright © 2022, Oracle and/or its affiliates
Thanks to API Handyman
(Arnaud Lauret)
http://openapi-map.apihandyman.io/
The parts of OAS we focus on when developing an API
8 Copyright © 2022, Oracle and/or its affiliates
Thanks to API Handyman
(Arnaud Lauret)
http://openapi-map.apihandyman.io/
Extending the schema option to convey extra details
9 Copyright © 2022, Oracle and/or its affiliates
Thanks to API Handyman
(Arnaud Lauret)
http://openapi-map.apihandyman.io/
Terms of Service – go look over there …
10 Copyright © 2022, Oracle and/or its affiliates
Thanks to API Handyman
(Arnaud Lauret)
http://openapi-map.apihandyman.io/
Security controls – not obvious …
Declaring Security Model - SecuritySchemes
11 Copyright © 2022, Oracle and/or its affiliates
Extract from the specification illustrating how
we can represent different security schemes
– simple and informative
12 Copyright © 2022, Oracle and/or its affiliates
Does the API Spec
cover/reference
everything?
API Wall for External APIs
13 Copyright © 2022, Oracle and/or its affiliates
Authentication
&
Authorization
SDK
/
Code
Generator
Test
Framework
But my API is not for
external use!
14 Copyright © 2022, Oracle and/or its affiliates
15 Copyright © 2022, Oracle and/or its affiliates
… will you be supporting your API for the rest
of your career or its life?
What about the impact of an API
Gateway on your API use?
Internal or External – your API will be looked at by
others
Internal API Gateways
16 Copyright © 2022, Oracle and/or its affiliates
We should be considering internal gateways to …
• Enforce rate limiting to avoid possible runway processes swamping you
with API calls
• Capture usage data for billing
• Creating points of abstraction
• Gateways can mask changes in deployment for consumers
• Enforce loose coupling – some APIs are intended operational
purposes NOT for others to build new applications against
• Gateway as a focus of security management
• Provide easier points for measuring utilization (investment value)
These points are not easily defined in an API spec …
But can be supported by referenced documentation
Supporting Adoption and Change
17 Copyright © 2022, Oracle and/or its affiliates
Every time someone wants to use your API internally, do you want to be receiving over Slack, Skype,
Teams, email random questions about …
• Where do I test my use of your API?
• My call keeps failing – why?
• How do I get credentials to use your API?
• Why can’t I …
All these points are not easily answered in an Open API spec
• We talk about self-service in our everyday lives; many of us even prefer it
• Many API Design Tools offer mock endpoints – tell people where it is
• Provide examples – so people can see what will work and why
• Point to the internal process or service for securing access
• You can deliver an SDK to make it easier to use your API faster than anyone else when it comes to
coding – you know the API best
API Wall for External APIs
18 Copyright © 2022, Oracle and/or its affiliates
Authentication
&
Authorization
SDK
/
Code
Generator
Test
Framework
API Wall for Internal APIs
19 Copyright © 2022, Oracle and/or its affiliates
Legalese
Authentication
&
Authorization
SDK
Test
Framework
20 Copyright © 2022, Oracle and/or its affiliates
Still with me ?
Solving the problem …
bi-products & benefits
What to do ?
21 Copyright © 2022, Oracle and/or its affiliates
1. Create yourself a checklist like our “wall”, and decide what “bricks can help” in a situation
1. As an organization, agree common ways of providing the ‘bricks’
2. Use a design tool that provides mock end points & share the links
3. Provide additional docs ..
1. Answer, the sort of questions/points discussed, could be simple as Markdown in your
repository
2. Incorporate the doc reference into the API Spec.
3. More accessible the supporting content – the better.
4. Try to avoid burying answers in big docs.
4. Think about what you’d want when trying to use an API and what if it doesn’t go right
5. If you get asked for the same thing more than a couple of times – address it, own it rather than
problems own you (better than the continued interruptions, and debates about accountability)
API 1st – will help identify what is important and requires most support /
information
22 Copyright © 2022, Oracle and/or its affiliates
Feedback
Design
Build Package &
Deploy
Try Continuous
Test
Feedback
Run
Analyse
Feedback
Build Package &
Deploy
Try Continuous
Test
API Provider
API Consumer
Explanation to API first:
https://apievangelist.com/2020/03/09/what-is-api-first/
Being the next Elon Musk
23 Copyright © 2022, Oracle and/or its affiliates
Not all of us, have the benefit of working on APIs for those poster
children of the API Economy, But …
APIs done right can…
• See opportunities to expand on current services – offer the same
service in different ways – Walgreens photo printing, PSD2 Banking
(new user experiences)
• People can see the ‘art of the possible’ with your API and realize new
solutions etc
Cloud Elements 2021 State of APIs report
https://offers.cloud-elements.com/2021-state-of-api-integration-report
APIs Are Business Critical
24 Copyright © 2022, Oracle and/or its affiliates
State of API Reports 2021
25 Copyright © 2022, Oracle and/or its affiliates
Cloud Elements 2021 State of APIs report
https://offers.cloud-elements.com/2021-state-of-api-integration-report
State of API Reports 2022
26 Copyright © 2022, Oracle and/or its affiliates
https://voyager.postman.com/doc/postman-state-of-the-api-2022.pdf
Tech consumers = ~50%
Better handle & communication on how your API will evolve and version
27 Copyright © 2022, Oracle and/or its affiliates
Don’t be the cause of a security issue
(better be the person who helped prevent one)
28 Copyright © 2022, Oracle and/or its affiliates
A1:2019- Broken
Object Level
Authorization
A2:2017- Broken
Authentication
A3:2019- Excessive
Data Exposure
A4:2019 - Lack of
Resources & Rate
Limiting
A5:2019-
Broken Function
Level
Authorization
A6:2019- Mass
Assignment
A7:2019 - Security
Misconfiguration
A8:2019 - Injection
A10:2019- Insufficient
Logging & Monitoring
A9:2019- Improper
Assets Management
Providing an SDK
29 Copyright © 2022, Oracle and/or its affiliates
Sometimes an SDK may ease adoption for the common ways of using an API…
• Your API may use an approach less commonly used, e.g. BSON, gRPC, etc – why increase the
learning curve, provide an SDK that makes it easy
• Opportunity to incorporate additional metadata about the use of the API by allowing the SDK to
capture additional information
• If your API needs metadata to describe the content being communicated, the SDK can determine
this for the consumer
• If you’re APIs have been defined using one of the lesser-known notations, e.g., YAML, an SDK can
reduce this as a possible barrier
• Making it easier to use your API, particularly for devices & mobile platforms…
• Coding against an SDK means development or compile time; we’re more likely to spot usage
errors (class mismatches etc)
• Using dependent libraries is something every developer learns very early on
There are tools that can make this process a lot simpler e.g.
• APIMatic
• APITools
• RESTUnited
• Swagger CodeGen
• AutoRest
30 Copyright © 2022, Oracle and/or its affiliates
Illustration of beyond the
payload
Look at Google Maps … as an example of Good API
31 Copyright © 2022, Oracle and/or its affiliates
Provide both APIs and SDKs
to make adoption easy
32 Copyright © 2022, Oracle and/or its affiliates
Understanding the
consuming audience
Giving the bigger picture
Explanation on how the
API use is paid for and
requirements to use the
API
Enabling
self service
34 Copyright © 2022, Oracle and/or its affiliates
Useful Stuff …
OCI Architecture Center -- Free Content & More
URLS are https://oracle.com/goto/...
Reference
Architectures
GitHub - DevRel
/ref-archs
Playbooks
/playbooks /gh-devrel
/deployed
Built & Deployed Live Labs
/labs
Tutorials
/tutorial
Blogs
Developer Open Source
Learning Videos Apex PaaS Community
GitHub - Oracle
/gh-oracle
Cloud Customer
Connect
/connect
/open
/dev
/paas
/apex
/blog
/youtube
Oracle Community
/community
GitHub - Samples
/gh-samples
URLS are https://oracle.com/goto/...
Linux & VM
Learning
/luna
36
To be activated for this special promo:
• Join our Public Slack Workspace and contact
me
Always Free
Services you can use for unlimited time
Free credits you can use for additional OCI services
300$ 500$ in Oracle Cloud Credits
+
30-Day Free Trial
Oracle Cloud Free Tier – Special Promo
Try Always Free. No Time Limits.
37
oracledevrel.slack.co
m
Join the dedicated Slack channel to be
part of the conversation and raise your
questions to our Experts:
Step 1: Access the Slack OracleDevRel
Workspace following this link:
https://bit.ly/devrel-slack-emea
Step 2: Search for Phil Wilkins
philip.wilkins@oracle.com
Join our public Oracle DevRel Workspace
Questions / Thank you
Copyright © 2022, Oracle and/or its affiliates
Phil Wilkins
Cloud Developer Evangelist
Philip.Wilkins@Oracle.com
bit.ly/devrel-slack-emea @Phil Wilkins
mp3monster.org /
cloud-native.info / oracle-integration.cloud
linkedin.com/in/philwilkins
github.com/mp3monster
@mp3monster
API Design – More than just a Payload Definition

Contenu connexe

Similaire à API Design – More than just a Payload Definition

Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Oracle Developers
 
Oracle CNCF Meetup Malaga - Build CNCF projects in OCI
Oracle CNCF Meetup Malaga - Build CNCF projects in OCIOracle CNCF Meetup Malaga - Build CNCF projects in OCI
Oracle CNCF Meetup Malaga - Build CNCF projects in OCIOracle
 
Beginner's Guide to APEX
Beginner's Guide to APEXBeginner's Guide to APEX
Beginner's Guide to APEXAnthony Rayner
 
Database@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UIDatabase@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UITammy Bednar
 
Api more than payload (2021 Update)
Api more than payload (2021 Update)Api more than payload (2021 Update)
Api more than payload (2021 Update)Phil Wilkins
 
Meetup 2022 - API Gateway landscape.pdf
Meetup 2022 - API Gateway landscape.pdfMeetup 2022 - API Gateway landscape.pdf
Meetup 2022 - API Gateway landscape.pdfLuca Mattia Ferrari
 
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...CA Technologies
 
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...Lucas Jellema
 
Securely expose protected resources as ap is with app42 api gateway
Securely expose protected resources as ap is with app42 api gatewaySecurely expose protected resources as ap is with app42 api gateway
Securely expose protected resources as ap is with app42 api gatewayZuaib
 
Getting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the CloudGetting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the CloudRevelation Technologies
 
apidays Paris 2022 - Adding a mock as a service capability to your API strate...
apidays Paris 2022 - Adding a mock as a service capability to your API strate...apidays Paris 2022 - Adding a mock as a service capability to your API strate...
apidays Paris 2022 - Adding a mock as a service capability to your API strate...apidays
 
APIdays Paris 2019 - API Management to bring Cloud-Native to the Enterprise R...
APIdays Paris 2019 - API Management to bring Cloud-Native to the Enterprise R...APIdays Paris 2019 - API Management to bring Cloud-Native to the Enterprise R...
APIdays Paris 2019 - API Management to bring Cloud-Native to the Enterprise R...apidays
 
API more than payload
API more than payloadAPI more than payload
API more than payloadPhil Wilkins
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsAxway
 
the 12 facets of OpenAPI
the 12 facets of OpenAPIthe 12 facets of OpenAPI
the 12 facets of OpenAPICisco DevNet
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 

Similaire à API Design – More than just a Payload Definition (20)

Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.
 
Oracle CNCF Meetup Malaga - Build CNCF projects in OCI
Oracle CNCF Meetup Malaga - Build CNCF projects in OCIOracle CNCF Meetup Malaga - Build CNCF projects in OCI
Oracle CNCF Meetup Malaga - Build CNCF projects in OCI
 
Beginner's Guide to APEX
Beginner's Guide to APEXBeginner's Guide to APEX
Beginner's Guide to APEX
 
Database@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UIDatabase@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UI
 
Api more than payload (2021 Update)
Api more than payload (2021 Update)Api more than payload (2021 Update)
Api more than payload (2021 Update)
 
Meetup 2022 - API Gateway landscape.pdf
Meetup 2022 - API Gateway landscape.pdfMeetup 2022 - API Gateway landscape.pdf
Meetup 2022 - API Gateway landscape.pdf
 
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaSAMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
 
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...
 
Oracle mcs overview 1029
Oracle mcs overview 1029Oracle mcs overview 1029
Oracle mcs overview 1029
 
Securely expose protected resources as ap is with app42 api gateway
Securely expose protected resources as ap is with app42 api gatewaySecurely expose protected resources as ap is with app42 api gateway
Securely expose protected resources as ap is with app42 api gateway
 
Getting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the CloudGetting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the Cloud
 
apidays Paris 2022 - Adding a mock as a service capability to your API strate...
apidays Paris 2022 - Adding a mock as a service capability to your API strate...apidays Paris 2022 - Adding a mock as a service capability to your API strate...
apidays Paris 2022 - Adding a mock as a service capability to your API strate...
 
APIdays Paris 2019 - API Management to bring Cloud-Native to the Enterprise R...
APIdays Paris 2019 - API Management to bring Cloud-Native to the Enterprise R...APIdays Paris 2019 - API Management to bring Cloud-Native to the Enterprise R...
APIdays Paris 2019 - API Management to bring Cloud-Native to the Enterprise R...
 
API more than payload
API more than payloadAPI more than payload
API more than payload
 
Cloud Integration Strategy
Cloud Integration StrategyCloud Integration Strategy
Cloud Integration Strategy
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortals
 
CDK - The next big thing - Quang Phuong
CDK - The next big thing - Quang PhuongCDK - The next big thing - Quang Phuong
CDK - The next big thing - Quang Phuong
 
the 12 facets of OpenAPI
the 12 facets of OpenAPIthe 12 facets of OpenAPI
the 12 facets of OpenAPI
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 

Plus de Phil Wilkins

Is 12 Factor App Right About Logging
Is 12 Factor App Right About LoggingIs 12 Factor App Right About Logging
Is 12 Factor App Right About LoggingPhil Wilkins
 
APIs, STOP Polling, lets go Streaming
APIs, STOP Polling, lets go StreamingAPIs, STOP Polling, lets go Streaming
APIs, STOP Polling, lets go StreamingPhil Wilkins
 
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...Phil Wilkins
 
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)Phil Wilkins
 
Oracle OCI APIs and SDK
Oracle OCI APIs and SDKOracle OCI APIs and SDK
Oracle OCI APIs and SDKPhil Wilkins
 
How fluentd fits into the modern software landscape
How fluentd fits into the modern software landscapeHow fluentd fits into the modern software landscape
How fluentd fits into the modern software landscapePhil Wilkins
 
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20Phil Wilkins
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoringPhil Wilkins
 
Meetups - The Oracle Ace Way
Meetups - The Oracle Ace WayMeetups - The Oracle Ace Way
Meetups - The Oracle Ace WayPhil Wilkins
 
Apiary - A Developers Perspective
Apiary - A Developers PerspectiveApiary - A Developers Perspective
Apiary - A Developers PerspectivePhil Wilkins
 
Secrets of Custom API Policies on the Oracle API Platform
Secrets of Custom API Policies on the Oracle API PlatformSecrets of Custom API Policies on the Oracle API Platform
Secrets of Custom API Policies on the Oracle API PlatformPhil Wilkins
 
Oracle London Developer Meetup November 2018
Oracle London Developer Meetup November 2018Oracle London Developer Meetup November 2018
Oracle London Developer Meetup November 2018Phil Wilkins
 
London Oracle Developer Meetup - June 18 - Drones with APIs
London Oracle Developer Meetup - June 18 - Drones with APIsLondon Oracle Developer Meetup - June 18 - Drones with APIs
London Oracle Developer Meetup - June 18 - Drones with APIsPhil Wilkins
 
London Oracle Developer Meetup April 18
London Oracle Developer Meetup April 18London Oracle Developer Meetup April 18
London Oracle Developer Meetup April 18Phil Wilkins
 
Oracle Developer Meetup March 2018
Oracle Developer Meetup March 2018Oracle Developer Meetup March 2018
Oracle Developer Meetup March 2018Phil Wilkins
 
OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17Phil Wilkins
 
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...Phil Wilkins
 
API Platform Cloud Service best practice - OOW17
API Platform Cloud Service best practice - OOW17API Platform Cloud Service best practice - OOW17
API Platform Cloud Service best practice - OOW17Phil Wilkins
 
Oracle integration cloud service (ICS) best practices learned from the field ...
Oracle integration cloud service (ICS) best practices learned from the field ...Oracle integration cloud service (ICS) best practices learned from the field ...
Oracle integration cloud service (ICS) best practices learned from the field ...Phil Wilkins
 

Plus de Phil Wilkins (20)

Is 12 Factor App Right About Logging
Is 12 Factor App Right About LoggingIs 12 Factor App Right About Logging
Is 12 Factor App Right About Logging
 
APIs, STOP Polling, lets go Streaming
APIs, STOP Polling, lets go StreamingAPIs, STOP Polling, lets go Streaming
APIs, STOP Polling, lets go Streaming
 
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
 
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
 
Oracle OCI APIs and SDK
Oracle OCI APIs and SDKOracle OCI APIs and SDK
Oracle OCI APIs and SDK
 
How fluentd fits into the modern software landscape
How fluentd fits into the modern software landscapeHow fluentd fits into the modern software landscape
How fluentd fits into the modern software landscape
 
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoring
 
Meetups - The Oracle Ace Way
Meetups - The Oracle Ace WayMeetups - The Oracle Ace Way
Meetups - The Oracle Ace Way
 
Apiary - A Developers Perspective
Apiary - A Developers PerspectiveApiary - A Developers Perspective
Apiary - A Developers Perspective
 
Secrets of Custom API Policies on the Oracle API Platform
Secrets of Custom API Policies on the Oracle API PlatformSecrets of Custom API Policies on the Oracle API Platform
Secrets of Custom API Policies on the Oracle API Platform
 
Terraform
TerraformTerraform
Terraform
 
Oracle London Developer Meetup November 2018
Oracle London Developer Meetup November 2018Oracle London Developer Meetup November 2018
Oracle London Developer Meetup November 2018
 
London Oracle Developer Meetup - June 18 - Drones with APIs
London Oracle Developer Meetup - June 18 - Drones with APIsLondon Oracle Developer Meetup - June 18 - Drones with APIs
London Oracle Developer Meetup - June 18 - Drones with APIs
 
London Oracle Developer Meetup April 18
London Oracle Developer Meetup April 18London Oracle Developer Meetup April 18
London Oracle Developer Meetup April 18
 
Oracle Developer Meetup March 2018
Oracle Developer Meetup March 2018Oracle Developer Meetup March 2018
Oracle Developer Meetup March 2018
 
OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17
 
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...
 
API Platform Cloud Service best practice - OOW17
API Platform Cloud Service best practice - OOW17API Platform Cloud Service best practice - OOW17
API Platform Cloud Service best practice - OOW17
 
Oracle integration cloud service (ICS) best practices learned from the field ...
Oracle integration cloud service (ICS) best practices learned from the field ...Oracle integration cloud service (ICS) best practices learned from the field ...
Oracle integration cloud service (ICS) best practices learned from the field ...
 

Dernier

Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
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
 
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
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 

Dernier (20)

Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
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
 
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)
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 

API Design – More than just a Payload Definition

  • 1. API Design – More than just a Payload Definition Name Phil Wilkins OCI November 2022
  • 2. Speaker Phil Wilkins Cloud Developer Evangelist 2 Copyright © 2022, Oracle and/or its affiliates Philip.Wilkins@Oracle.com https://bit.ly/devrel-slack-emea @Phil Wilkins mp3monster.org / cloud-native.info / oracle-integration.cloud linkedin.com/in/philwilkins github.com/mp3monster @mp3monster
  • 3. The following is intended to present ideas & application of open technologies. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation. This presentation contains the thoughts and ideas of this presenter & does not necessarily represent the views of Oracle Corporation. 3 Copyright © 2022, Oracle and/or its affiliates
  • 4. 4 Copyright © 2022, Oracle and/or its affiliates APIs, more than a Payload?
  • 5. Good APIs – Apply everywhere … 5 Copyright © 2022, Oracle and/or its affiliates
  • 6. The parts of Open API Specification (OAS) we focus on when developing an API 6 Copyright © 2022, Oracle and/or its affiliates Thanks to API Handyman (Arnaud Lauret) http://openapi-map.apihandyman.io/
  • 7. Copyright © 2022, Oracle and/or its affiliates Thanks to API Handyman (Arnaud Lauret) http://openapi-map.apihandyman.io/ The parts of OAS we focus on when developing an API
  • 8. 8 Copyright © 2022, Oracle and/or its affiliates Thanks to API Handyman (Arnaud Lauret) http://openapi-map.apihandyman.io/ Extending the schema option to convey extra details
  • 9. 9 Copyright © 2022, Oracle and/or its affiliates Thanks to API Handyman (Arnaud Lauret) http://openapi-map.apihandyman.io/ Terms of Service – go look over there …
  • 10. 10 Copyright © 2022, Oracle and/or its affiliates Thanks to API Handyman (Arnaud Lauret) http://openapi-map.apihandyman.io/ Security controls – not obvious …
  • 11. Declaring Security Model - SecuritySchemes 11 Copyright © 2022, Oracle and/or its affiliates Extract from the specification illustrating how we can represent different security schemes – simple and informative
  • 12. 12 Copyright © 2022, Oracle and/or its affiliates Does the API Spec cover/reference everything?
  • 13. API Wall for External APIs 13 Copyright © 2022, Oracle and/or its affiliates Authentication & Authorization SDK / Code Generator Test Framework
  • 14. But my API is not for external use! 14 Copyright © 2022, Oracle and/or its affiliates
  • 15. 15 Copyright © 2022, Oracle and/or its affiliates … will you be supporting your API for the rest of your career or its life? What about the impact of an API Gateway on your API use? Internal or External – your API will be looked at by others
  • 16. Internal API Gateways 16 Copyright © 2022, Oracle and/or its affiliates We should be considering internal gateways to … • Enforce rate limiting to avoid possible runway processes swamping you with API calls • Capture usage data for billing • Creating points of abstraction • Gateways can mask changes in deployment for consumers • Enforce loose coupling – some APIs are intended operational purposes NOT for others to build new applications against • Gateway as a focus of security management • Provide easier points for measuring utilization (investment value) These points are not easily defined in an API spec … But can be supported by referenced documentation
  • 17. Supporting Adoption and Change 17 Copyright © 2022, Oracle and/or its affiliates Every time someone wants to use your API internally, do you want to be receiving over Slack, Skype, Teams, email random questions about … • Where do I test my use of your API? • My call keeps failing – why? • How do I get credentials to use your API? • Why can’t I … All these points are not easily answered in an Open API spec • We talk about self-service in our everyday lives; many of us even prefer it • Many API Design Tools offer mock endpoints – tell people where it is • Provide examples – so people can see what will work and why • Point to the internal process or service for securing access • You can deliver an SDK to make it easier to use your API faster than anyone else when it comes to coding – you know the API best
  • 18. API Wall for External APIs 18 Copyright © 2022, Oracle and/or its affiliates Authentication & Authorization SDK / Code Generator Test Framework
  • 19. API Wall for Internal APIs 19 Copyright © 2022, Oracle and/or its affiliates Legalese Authentication & Authorization SDK Test Framework
  • 20. 20 Copyright © 2022, Oracle and/or its affiliates Still with me ? Solving the problem … bi-products & benefits
  • 21. What to do ? 21 Copyright © 2022, Oracle and/or its affiliates 1. Create yourself a checklist like our “wall”, and decide what “bricks can help” in a situation 1. As an organization, agree common ways of providing the ‘bricks’ 2. Use a design tool that provides mock end points & share the links 3. Provide additional docs .. 1. Answer, the sort of questions/points discussed, could be simple as Markdown in your repository 2. Incorporate the doc reference into the API Spec. 3. More accessible the supporting content – the better. 4. Try to avoid burying answers in big docs. 4. Think about what you’d want when trying to use an API and what if it doesn’t go right 5. If you get asked for the same thing more than a couple of times – address it, own it rather than problems own you (better than the continued interruptions, and debates about accountability)
  • 22. API 1st – will help identify what is important and requires most support / information 22 Copyright © 2022, Oracle and/or its affiliates Feedback Design Build Package & Deploy Try Continuous Test Feedback Run Analyse Feedback Build Package & Deploy Try Continuous Test API Provider API Consumer Explanation to API first: https://apievangelist.com/2020/03/09/what-is-api-first/
  • 23. Being the next Elon Musk 23 Copyright © 2022, Oracle and/or its affiliates Not all of us, have the benefit of working on APIs for those poster children of the API Economy, But … APIs done right can… • See opportunities to expand on current services – offer the same service in different ways – Walgreens photo printing, PSD2 Banking (new user experiences) • People can see the ‘art of the possible’ with your API and realize new solutions etc Cloud Elements 2021 State of APIs report https://offers.cloud-elements.com/2021-state-of-api-integration-report
  • 24. APIs Are Business Critical 24 Copyright © 2022, Oracle and/or its affiliates
  • 25. State of API Reports 2021 25 Copyright © 2022, Oracle and/or its affiliates Cloud Elements 2021 State of APIs report https://offers.cloud-elements.com/2021-state-of-api-integration-report
  • 26. State of API Reports 2022 26 Copyright © 2022, Oracle and/or its affiliates https://voyager.postman.com/doc/postman-state-of-the-api-2022.pdf Tech consumers = ~50%
  • 27. Better handle & communication on how your API will evolve and version 27 Copyright © 2022, Oracle and/or its affiliates
  • 28. Don’t be the cause of a security issue (better be the person who helped prevent one) 28 Copyright © 2022, Oracle and/or its affiliates A1:2019- Broken Object Level Authorization A2:2017- Broken Authentication A3:2019- Excessive Data Exposure A4:2019 - Lack of Resources & Rate Limiting A5:2019- Broken Function Level Authorization A6:2019- Mass Assignment A7:2019 - Security Misconfiguration A8:2019 - Injection A10:2019- Insufficient Logging & Monitoring A9:2019- Improper Assets Management
  • 29. Providing an SDK 29 Copyright © 2022, Oracle and/or its affiliates Sometimes an SDK may ease adoption for the common ways of using an API… • Your API may use an approach less commonly used, e.g. BSON, gRPC, etc – why increase the learning curve, provide an SDK that makes it easy • Opportunity to incorporate additional metadata about the use of the API by allowing the SDK to capture additional information • If your API needs metadata to describe the content being communicated, the SDK can determine this for the consumer • If you’re APIs have been defined using one of the lesser-known notations, e.g., YAML, an SDK can reduce this as a possible barrier • Making it easier to use your API, particularly for devices & mobile platforms… • Coding against an SDK means development or compile time; we’re more likely to spot usage errors (class mismatches etc) • Using dependent libraries is something every developer learns very early on There are tools that can make this process a lot simpler e.g. • APIMatic • APITools • RESTUnited • Swagger CodeGen • AutoRest
  • 30. 30 Copyright © 2022, Oracle and/or its affiliates Illustration of beyond the payload
  • 31. Look at Google Maps … as an example of Good API 31 Copyright © 2022, Oracle and/or its affiliates Provide both APIs and SDKs to make adoption easy
  • 32. 32 Copyright © 2022, Oracle and/or its affiliates Understanding the consuming audience Giving the bigger picture
  • 33. Explanation on how the API use is paid for and requirements to use the API Enabling self service
  • 34. 34 Copyright © 2022, Oracle and/or its affiliates Useful Stuff …
  • 35. OCI Architecture Center -- Free Content & More URLS are https://oracle.com/goto/... Reference Architectures GitHub - DevRel /ref-archs Playbooks /playbooks /gh-devrel /deployed Built & Deployed Live Labs /labs Tutorials /tutorial Blogs Developer Open Source Learning Videos Apex PaaS Community GitHub - Oracle /gh-oracle Cloud Customer Connect /connect /open /dev /paas /apex /blog /youtube Oracle Community /community GitHub - Samples /gh-samples URLS are https://oracle.com/goto/... Linux & VM Learning /luna
  • 36. 36 To be activated for this special promo: • Join our Public Slack Workspace and contact me Always Free Services you can use for unlimited time Free credits you can use for additional OCI services 300$ 500$ in Oracle Cloud Credits + 30-Day Free Trial Oracle Cloud Free Tier – Special Promo Try Always Free. No Time Limits.
  • 37. 37 oracledevrel.slack.co m Join the dedicated Slack channel to be part of the conversation and raise your questions to our Experts: Step 1: Access the Slack OracleDevRel Workspace following this link: https://bit.ly/devrel-slack-emea Step 2: Search for Phil Wilkins philip.wilkins@oracle.com Join our public Oracle DevRel Workspace
  • 38. Questions / Thank you Copyright © 2022, Oracle and/or its affiliates Phil Wilkins Cloud Developer Evangelist Philip.Wilkins@Oracle.com bit.ly/devrel-slack-emea @Phil Wilkins mp3monster.org / cloud-native.info / oracle-integration.cloud linkedin.com/in/philwilkins github.com/mp3monster @mp3monster

Notes de l'éditeur

  1. W3C – WSDL/SOAP
  2. API gateways don’t have to be
  3. Playbooks - https://docs.oracle.com/solutions/?q=&cType=reference-architectures –  https://oracle.com/goto/ref-archs https://docs.oracle.com/solutions/?q=&cType=solution-playbook  https://oracle.com/goto/playbooks https://docs.oracle.com/solutions/?q=&cType=built-deployed  https://oracle.com/goto/deployed https://docs.oracle.com/learn/  https://oracle.com/goto/labs https://github.com/oracle-devrel https://oracle.com/goto/gh-devrel https://github.com/oracle-samples  https://oracle.com/goto/gh-samples https://developer.oracle.com/  https://oracle.com/goto/dev https://opensource.oracle.com/  https://oracle.com/goto/open https://github.com/oracle  https://oracle.com/goto/gh-oracle https://www.youtube.com/oracle <-- https://oracle.com/goto/youtube https://blogs.oracle.com/  https://oracle.com/goto/blog https://apex.oracle.com/en/  https://oracle.com/goto/apex https://paascommunity.com/  https://www.oracle.com/goto/paas https://community.oracle.com/customerconnect/  https://www.oracle.com/goto/connect https://www.oracle.com/goto/tutorials https://www.oracle.com/goto/community XXX  luna.oracle.com