SlideShare a Scribd company logo
The API Lifecycle Series – Part 2
Exploring Design-First and Code-First
Approaches to API Development
Housekeeping
Proprietary & Confidential
Session is being recorded
Please post questions to Q+A
Open Q+A at end
Ronan Trainor
Joe Joyce
The API Lifecycle Series
4
Evolving API Development & Testing from Open Source to Pro Tooling
• Upgrading your API testing from SoapUI open source to SoapUI Pro
• Making your test data more dynamic
• Testing in multiple environments
• Bringing it all together in a CI/CD pipeline
• When to move from open source Swagger tools to SwaggerHub
• Generating OAS from an existing microservice
• Automatically generate consumer documentation
• Getting multiple teams involved
Proprietary & Confidential
The Story so Far…
5
Exploring Design-First and a Code-First Approaches to API Development – Today!
• The pros and cons of each approach to API development
• How SwaggerHub can be used to facilitate a design-first approach
Using the Open API Specification Across the SDLC – July 24th
• Discussing the tactical journey of standardizing around Open API
• How to scale and enforce design practices across team in your organization
Showcasing Teams that Have Put SmartBear Tools into Action – July 31st
• Examples of customers that have successfully evolved their API development and testing with SmartBear tools
Proprietary & Confidential
So what’s next?
API Design and Development:
Code-First
7
How can my existing services benefit
from OAS?
Stage
Deploy
Build
Test
Feedback
• Existing applications can leverage OAS
• Ensure documentation is mapped to code
• Leverage design-first principles in future
• Annotation libraries
• Build plugins
• Maven
• Gradle
• Swagger Inspector
• Browser based REST client
• Convert requests into swagger
• Built in SwaggerHub integration
8
Code First - Advantages
§ Enables development teams do what they do best – write
code
§ OpenAPI is treated as a result of a build, and can be then
reused in other scenarios
§ Documentation
§ Testing
§ Virtualization/Mocking
§ Automated workflows can be built around this
§ Validate whether or not an API definition has changed
§ Branching strategy can result in higher test coverage
§ Versioning is enforced through the build/testing workflow
§ Ensure that a version doesn’t include breaking changes
§ Version requirements can be returned to a development
team as their
{ }…
9
Code First - Challenges
§ Requires a complex and highly customized process to
automate
§ Hard to build this in a ‘one size fits all’ manner for larger
organizations
§ May have to be tailored to application/language being
developed
§ ‘Switching’ between tasks becomes commonplace
§ As developers push to a pipeline, they may move to
another task or ticket
§ If an issue is detected – they will have to stop and return
to a previous task
§ The cost of fixes is higher
§ In a design first environment, there is contract defining
expectations
§ Feedback that may come back from consumers has to be
implemented into code again, as opposed to a light
weight document (OpenAPI)
{ }…
API Design and Development:
Design-First
11
How can design-first help?
Plan
Design
BuildTest
Deploy
Plan
Stage
Deploy
• Plan gets mapped to a high level, technical spec
• This contract becomes our ‘truth’ moving forward
• Get earlier feedback
• Key stakeholders can interact in new ways
• Early stage documentation
• Functional mock services
• Make changes in a fraction of the time
• Minimal technical overhead to iterate on previous work
• Introduce new workflows
• Easy start building a TDD framework
• Quickly stand up mock services
• Dev + test can work in parallel
Feedback
12
Design First - Advantages
§ Single source of truth for
§ Design
§ Development
§ Testing
§ Operations
§ Documentation
§ Create design-driven workflows + processes
§ Build-in early stage commenting and feedback loop
§ Share common assets across teams and projects
§ Cut down on drift between teams
§ Generate SDKs + stubs as needed
§ Automate gateway + management platform configuration
§ Enforce high-level standards over designs
§ Define assets at an organizational scale
§ Errors
§ Models
§ Security flows
§ Validate designs against standardization rules and resolve
issues before development
{ }…
13
Improving on traditional
development
• Begin with a high level ‘plan’
• Why are we building the API?
• Who will consume / use this service?
• What is its scope? What will it serve?
• Start writing code to fulfill requirements
• Get feedback on early stage (but working) version
• We have to consider the ‘technical debt’ of taking on
any changes to existing work
Plan
Build
TestFeedback
Deploy
Plan
Build
Test
Stage
Deploy
14
Design First - Challenges
§ Requires ‘buy-in’ across an organization
§ Siloed teams working in their own ways create more
bottlenecks and issues than the process resolves
§ Communication between code-first and design-first
teams can get convoluted
§ Needs a supporting pipeline or process to realize full
value
§ If the advantages of design-first are still being used
manually,
§ Building and migrating to these types of processes can be
a slow process at scale
§ Maintaining legacy systems and workflows
§ Not every service will be able to take advantage of
OpenAPI
§ How can we leverage both in parallel?
{ }…
15
Back-end & Front-
end
Development
Testing
Design
v1.1
Feedback
v1.0
Stub
OAS
Virtual
Service
Testcase
Testcase Production
V1.1
Docs
V1.1
API
1. The initial requirements are defined for a
new version of an API in SwaggerHub
2. Designers, external and internal teams
give feedback and ‘sign off’ on changes
3. After approval, code templates can be
generated from the design and handed to
developers
4. The API design can be consumed by
ReadyAPI to automatically generate test
cases, virtual services and can be used as an
assertion contract
5. As developers complete coding, tests can
be brought to validate work based on the
contract as part of the build process
6. Documentation in SwaggerHub can be
published alongside the new version of the
service.
The development work, tests and
documentation all tie back to the what was
approved during the design process
What does design-first look like?
SDKs
16
Questions?
Thank You!
Join our next session on Wednesday, July 24th
Using the OpenAPI Specification Across the SDLC
Ad

Recommended

The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
SmartBear
 
Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1
SmartBear
 
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
SmartBear
 
Effective API Lifecycle Management
Effective API Lifecycle Management
SmartBear
 
Understanding and Executing on API Developer Experience
Understanding and Executing on API Developer Experience
SmartBear
 
Getting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHub
SmartBear
 
How Capital One Scaled API Design to Deliver New Products Faster
How Capital One Scaled API Design to Deliver New Products Faster
SmartBear
 
The State of Testing 2017
The State of Testing 2017
SmartBear
 
Use Automation to Assist -Not Replace- Manual Testing
Use Automation to Assist -Not Replace- Manual Testing
SmartBear
 
The Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear Webinar
SmartBear
 
Advanced Automation in Your API Lifecycle
Advanced Automation in Your API Lifecycle
SmartBear
 
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
SmartBear
 
Advanced Mocking for Swagger APIs
Advanced Mocking for Swagger APIs
SmartBear
 
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
Agile Testing Alliance
 
Designing APIs with OpenAPI Spec
Designing APIs with OpenAPI Spec
Adam Paxton
 
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
Agile Testing Alliance
 
[Workshop] Up-leveling Brownfield Integration
[Workshop] Up-leveling Brownfield Integration
WSO2
 
Behavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in context
Alexander Kress
 
Testing in DevOps world
Testing in DevOps world
Moataz Nabil
 
Service api design validation & collaboration
Service api design validation & collaboration
Uchit Vyas ☁
 
Kloia Quality Assurance
Kloia Quality Assurance
kloia
 
Developing Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & Python
SmartBear
 
API Testing With Katalon Studio
API Testing With Katalon Studio
Knoldus Inc.
 
Automation Testing Approach for Responsive Web Design
Automation Testing Approach for Responsive Web Design
Agile Testing Alliance
 
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectra
 
#ATAGTR2019 Presentation "QA alignment in the DevOps world" By Suneeta Paland...
#ATAGTR2019 Presentation "QA alignment in the DevOps world" By Suneeta Paland...
Agile Testing Alliance
 
OpenStack DefCore review 2014
OpenStack DefCore review 2014
rhirschfeld
 
Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...
Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...
Profesia Srl, Lynx Group
 
Adopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHub
SmartBear
 
"Design First" APIs with Swagger
"Design First" APIs with Swagger
scolestock
 

More Related Content

What's hot (20)

Use Automation to Assist -Not Replace- Manual Testing
Use Automation to Assist -Not Replace- Manual Testing
SmartBear
 
The Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear Webinar
SmartBear
 
Advanced Automation in Your API Lifecycle
Advanced Automation in Your API Lifecycle
SmartBear
 
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
SmartBear
 
Advanced Mocking for Swagger APIs
Advanced Mocking for Swagger APIs
SmartBear
 
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
Agile Testing Alliance
 
Designing APIs with OpenAPI Spec
Designing APIs with OpenAPI Spec
Adam Paxton
 
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
Agile Testing Alliance
 
[Workshop] Up-leveling Brownfield Integration
[Workshop] Up-leveling Brownfield Integration
WSO2
 
Behavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in context
Alexander Kress
 
Testing in DevOps world
Testing in DevOps world
Moataz Nabil
 
Service api design validation & collaboration
Service api design validation & collaboration
Uchit Vyas ☁
 
Kloia Quality Assurance
Kloia Quality Assurance
kloia
 
Developing Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & Python
SmartBear
 
API Testing With Katalon Studio
API Testing With Katalon Studio
Knoldus Inc.
 
Automation Testing Approach for Responsive Web Design
Automation Testing Approach for Responsive Web Design
Agile Testing Alliance
 
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectra
 
#ATAGTR2019 Presentation "QA alignment in the DevOps world" By Suneeta Paland...
#ATAGTR2019 Presentation "QA alignment in the DevOps world" By Suneeta Paland...
Agile Testing Alliance
 
OpenStack DefCore review 2014
OpenStack DefCore review 2014
rhirschfeld
 
Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...
Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...
Profesia Srl, Lynx Group
 
Use Automation to Assist -Not Replace- Manual Testing
Use Automation to Assist -Not Replace- Manual Testing
SmartBear
 
The Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear Webinar
SmartBear
 
Advanced Automation in Your API Lifecycle
Advanced Automation in Your API Lifecycle
SmartBear
 
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
SmartBear
 
Advanced Mocking for Swagger APIs
Advanced Mocking for Swagger APIs
SmartBear
 
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
Agile Testing Alliance
 
Designing APIs with OpenAPI Spec
Designing APIs with OpenAPI Spec
Adam Paxton
 
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
Agile Testing Alliance
 
[Workshop] Up-leveling Brownfield Integration
[Workshop] Up-leveling Brownfield Integration
WSO2
 
Behavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in context
Alexander Kress
 
Testing in DevOps world
Testing in DevOps world
Moataz Nabil
 
Service api design validation & collaboration
Service api design validation & collaboration
Uchit Vyas ☁
 
Kloia Quality Assurance
Kloia Quality Assurance
kloia
 
Developing Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & Python
SmartBear
 
API Testing With Katalon Studio
API Testing With Katalon Studio
Knoldus Inc.
 
Automation Testing Approach for Responsive Web Design
Automation Testing Approach for Responsive Web Design
Agile Testing Alliance
 
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectra
 
#ATAGTR2019 Presentation "QA alignment in the DevOps world" By Suneeta Paland...
#ATAGTR2019 Presentation "QA alignment in the DevOps world" By Suneeta Paland...
Agile Testing Alliance
 
OpenStack DefCore review 2014
OpenStack DefCore review 2014
rhirschfeld
 
Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...
Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...
Profesia Srl, Lynx Group
 

Similar to The API Lifecycle Series: Exploring Design-First and Code-First Approaches to API Development (20)

Adopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHub
SmartBear
 
"Design First" APIs with Swagger
"Design First" APIs with Swagger
scolestock
 
Space Camp June 2022 - API First.pdf
Space Camp June 2022 - API First.pdf
Postman
 
Why You Should Be Doing Contract-First API Development
Why You Should Be Doing Contract-First API Development
DevenPhillips
 
Spec-first API Design for Speed and Safety
Spec-first API Design for Speed and Safety
Atlassian
 
INTERFACE, by apidays - How to Win Friends and Influence People with API First
INTERFACE, by apidays - How to Win Friends and Influence People with API First
apidays
 
INTERFACE, by apidays - Scaling APIs
INTERFACE, by apidays - Scaling APIs
apidays
 
Apidays Paris 2023 - API design first: A case for a better language, Emmanu...
Apidays Paris 2023 - API design first: A case for a better language, Emmanu...
apidays
 
apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...
apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...
apidays
 
"Design and Test First"-Workflow für REST APIs
"Design and Test First"-Workflow für REST APIs
Markus Decke
 
apidays New York 2022 - Supercharge digital democracy with API first approach...
apidays New York 2022 - Supercharge digital democracy with API first approach...
apidays
 
Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...
Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...
SmartBear
 
API City 2019 Presentation - Delivering Developer Tools at Scale: Microsoft A...
API City 2019 Presentation - Delivering Developer Tools at Scale: Microsoft A...
Joe Levy
 
Dependency Down, Flexibility Up – The Benefits of API-First Development
Dependency Down, Flexibility Up – The Benefits of API-First Development
Nordic APIs
 
Past, Present and Future of APIs of Mobile and Web Apps
Past, Present and Future of APIs of Mobile and Web Apps
SmartBear
 
Designing APIs with Swagger and OpenAPI 1st Edition Joshua S. Ponelat
Designing APIs with Swagger and OpenAPI 1st Edition Joshua S. Ponelat
tatajebezad
 
Rest API with Swagger and NodeJS
Rest API with Swagger and NodeJS
Luigi Saetta
 
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
TheFamily
 
Reaching 1 Million APIs and what to do when we get there
Reaching 1 Million APIs and what to do when we get there
3scale
 
API Description Languages
API Description Languages
Akana
 
Adopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHub
SmartBear
 
"Design First" APIs with Swagger
"Design First" APIs with Swagger
scolestock
 
Space Camp June 2022 - API First.pdf
Space Camp June 2022 - API First.pdf
Postman
 
Why You Should Be Doing Contract-First API Development
Why You Should Be Doing Contract-First API Development
DevenPhillips
 
Spec-first API Design for Speed and Safety
Spec-first API Design for Speed and Safety
Atlassian
 
INTERFACE, by apidays - How to Win Friends and Influence People with API First
INTERFACE, by apidays - How to Win Friends and Influence People with API First
apidays
 
INTERFACE, by apidays - Scaling APIs
INTERFACE, by apidays - Scaling APIs
apidays
 
Apidays Paris 2023 - API design first: A case for a better language, Emmanu...
Apidays Paris 2023 - API design first: A case for a better language, Emmanu...
apidays
 
apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...
apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...
apidays
 
"Design and Test First"-Workflow für REST APIs
"Design and Test First"-Workflow für REST APIs
Markus Decke
 
apidays New York 2022 - Supercharge digital democracy with API first approach...
apidays New York 2022 - Supercharge digital democracy with API first approach...
apidays
 
Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...
Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...
SmartBear
 
API City 2019 Presentation - Delivering Developer Tools at Scale: Microsoft A...
API City 2019 Presentation - Delivering Developer Tools at Scale: Microsoft A...
Joe Levy
 
Dependency Down, Flexibility Up – The Benefits of API-First Development
Dependency Down, Flexibility Up – The Benefits of API-First Development
Nordic APIs
 
Past, Present and Future of APIs of Mobile and Web Apps
Past, Present and Future of APIs of Mobile and Web Apps
SmartBear
 
Designing APIs with Swagger and OpenAPI 1st Edition Joshua S. Ponelat
Designing APIs with Swagger and OpenAPI 1st Edition Joshua S. Ponelat
tatajebezad
 
Rest API with Swagger and NodeJS
Rest API with Swagger and NodeJS
Luigi Saetta
 
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
TheFamily
 
Reaching 1 Million APIs and what to do when we get there
Reaching 1 Million APIs and what to do when we get there
3scale
 
API Description Languages
API Description Languages
Akana
 
Ad

More from SmartBear (20)

Enforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHub
SmartBear
 
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
SmartBear
 
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
SmartBear
 
How LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHub
SmartBear
 
Standardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial Services
SmartBear
 
Artificial intelligence for faster and smarter software testing - Galway Mee...
Artificial intelligence for faster and smarter software testing - Galway Mee...
SmartBear
 
Successfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile World
SmartBear
 
Testing Without a GUI Using TestComplete
Testing Without a GUI Using TestComplete
SmartBear
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script Extensions
SmartBear
 
How Bdd Can Save Agile
How Bdd Can Save Agile
SmartBear
 
API Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship Rules
SmartBear
 
Support Rapid Systems Growth with a Design-First Approach
Support Rapid Systems Growth with a Design-First Approach
SmartBear
 
Maximize Test Automation with a Risk-Based Approach
Maximize Test Automation with a Risk-Based Approach
SmartBear
 
Modernizing the Enterprise API Development Process
Modernizing the Enterprise API Development Process
SmartBear
 
Developing Performance-Oriented Code: Moore's Law Over 50
Developing Performance-Oriented Code: Moore's Law Over 50
SmartBear
 
Implementation of DevOps at SmartBear
Implementation of DevOps at SmartBear
SmartBear
 
Accelerate Your Delivery Pipeline with Continuous Testing
Accelerate Your Delivery Pipeline with Continuous Testing
SmartBear
 
Be Dynamic: Unblock Your Environments
Be Dynamic: Unblock Your Environments
SmartBear
 
Transform QA to Stay Ahead of Digital Disruption
Transform QA to Stay Ahead of Digital Disruption
SmartBear
 
The Keys to Code Review in 2018 | A SmartBear Webinar
The Keys to Code Review in 2018 | A SmartBear Webinar
SmartBear
 
Enforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHub
SmartBear
 
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
SmartBear
 
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
SmartBear
 
How LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHub
SmartBear
 
Standardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial Services
SmartBear
 
Artificial intelligence for faster and smarter software testing - Galway Mee...
Artificial intelligence for faster and smarter software testing - Galway Mee...
SmartBear
 
Successfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile World
SmartBear
 
Testing Without a GUI Using TestComplete
Testing Without a GUI Using TestComplete
SmartBear
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script Extensions
SmartBear
 
How Bdd Can Save Agile
How Bdd Can Save Agile
SmartBear
 
API Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship Rules
SmartBear
 
Support Rapid Systems Growth with a Design-First Approach
Support Rapid Systems Growth with a Design-First Approach
SmartBear
 
Maximize Test Automation with a Risk-Based Approach
Maximize Test Automation with a Risk-Based Approach
SmartBear
 
Modernizing the Enterprise API Development Process
Modernizing the Enterprise API Development Process
SmartBear
 
Developing Performance-Oriented Code: Moore's Law Over 50
Developing Performance-Oriented Code: Moore's Law Over 50
SmartBear
 
Implementation of DevOps at SmartBear
Implementation of DevOps at SmartBear
SmartBear
 
Accelerate Your Delivery Pipeline with Continuous Testing
Accelerate Your Delivery Pipeline with Continuous Testing
SmartBear
 
Be Dynamic: Unblock Your Environments
Be Dynamic: Unblock Your Environments
SmartBear
 
Transform QA to Stay Ahead of Digital Disruption
Transform QA to Stay Ahead of Digital Disruption
SmartBear
 
The Keys to Code Review in 2018 | A SmartBear Webinar
The Keys to Code Review in 2018 | A SmartBear Webinar
SmartBear
 
Ad

Recently uploaded (20)

Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
Quantum AI: Where Impossible Becomes Probable
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
 
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
ScyllaDB
 
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
 
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
Quantum AI: Where Impossible Becomes Probable
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
 
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
ScyllaDB
 
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
 
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 

The API Lifecycle Series: Exploring Design-First and Code-First Approaches to API Development

  • 1. The API Lifecycle Series – Part 2 Exploring Design-First and Code-First Approaches to API Development
  • 2. Housekeeping Proprietary & Confidential Session is being recorded Please post questions to Q+A Open Q+A at end Ronan Trainor Joe Joyce
  • 4. 4 Evolving API Development & Testing from Open Source to Pro Tooling • Upgrading your API testing from SoapUI open source to SoapUI Pro • Making your test data more dynamic • Testing in multiple environments • Bringing it all together in a CI/CD pipeline • When to move from open source Swagger tools to SwaggerHub • Generating OAS from an existing microservice • Automatically generate consumer documentation • Getting multiple teams involved Proprietary & Confidential The Story so Far…
  • 5. 5 Exploring Design-First and a Code-First Approaches to API Development – Today! • The pros and cons of each approach to API development • How SwaggerHub can be used to facilitate a design-first approach Using the Open API Specification Across the SDLC – July 24th • Discussing the tactical journey of standardizing around Open API • How to scale and enforce design practices across team in your organization Showcasing Teams that Have Put SmartBear Tools into Action – July 31st • Examples of customers that have successfully evolved their API development and testing with SmartBear tools Proprietary & Confidential So what’s next?
  • 6. API Design and Development: Code-First
  • 7. 7 How can my existing services benefit from OAS? Stage Deploy Build Test Feedback • Existing applications can leverage OAS • Ensure documentation is mapped to code • Leverage design-first principles in future • Annotation libraries • Build plugins • Maven • Gradle • Swagger Inspector • Browser based REST client • Convert requests into swagger • Built in SwaggerHub integration
  • 8. 8 Code First - Advantages § Enables development teams do what they do best – write code § OpenAPI is treated as a result of a build, and can be then reused in other scenarios § Documentation § Testing § Virtualization/Mocking § Automated workflows can be built around this § Validate whether or not an API definition has changed § Branching strategy can result in higher test coverage § Versioning is enforced through the build/testing workflow § Ensure that a version doesn’t include breaking changes § Version requirements can be returned to a development team as their { }…
  • 9. 9 Code First - Challenges § Requires a complex and highly customized process to automate § Hard to build this in a ‘one size fits all’ manner for larger organizations § May have to be tailored to application/language being developed § ‘Switching’ between tasks becomes commonplace § As developers push to a pipeline, they may move to another task or ticket § If an issue is detected – they will have to stop and return to a previous task § The cost of fixes is higher § In a design first environment, there is contract defining expectations § Feedback that may come back from consumers has to be implemented into code again, as opposed to a light weight document (OpenAPI) { }…
  • 10. API Design and Development: Design-First
  • 11. 11 How can design-first help? Plan Design BuildTest Deploy Plan Stage Deploy • Plan gets mapped to a high level, technical spec • This contract becomes our ‘truth’ moving forward • Get earlier feedback • Key stakeholders can interact in new ways • Early stage documentation • Functional mock services • Make changes in a fraction of the time • Minimal technical overhead to iterate on previous work • Introduce new workflows • Easy start building a TDD framework • Quickly stand up mock services • Dev + test can work in parallel Feedback
  • 12. 12 Design First - Advantages § Single source of truth for § Design § Development § Testing § Operations § Documentation § Create design-driven workflows + processes § Build-in early stage commenting and feedback loop § Share common assets across teams and projects § Cut down on drift between teams § Generate SDKs + stubs as needed § Automate gateway + management platform configuration § Enforce high-level standards over designs § Define assets at an organizational scale § Errors § Models § Security flows § Validate designs against standardization rules and resolve issues before development { }…
  • 13. 13 Improving on traditional development • Begin with a high level ‘plan’ • Why are we building the API? • Who will consume / use this service? • What is its scope? What will it serve? • Start writing code to fulfill requirements • Get feedback on early stage (but working) version • We have to consider the ‘technical debt’ of taking on any changes to existing work Plan Build TestFeedback Deploy Plan Build Test Stage Deploy
  • 14. 14 Design First - Challenges § Requires ‘buy-in’ across an organization § Siloed teams working in their own ways create more bottlenecks and issues than the process resolves § Communication between code-first and design-first teams can get convoluted § Needs a supporting pipeline or process to realize full value § If the advantages of design-first are still being used manually, § Building and migrating to these types of processes can be a slow process at scale § Maintaining legacy systems and workflows § Not every service will be able to take advantage of OpenAPI § How can we leverage both in parallel? { }…
  • 15. 15 Back-end & Front- end Development Testing Design v1.1 Feedback v1.0 Stub OAS Virtual Service Testcase Testcase Production V1.1 Docs V1.1 API 1. The initial requirements are defined for a new version of an API in SwaggerHub 2. Designers, external and internal teams give feedback and ‘sign off’ on changes 3. After approval, code templates can be generated from the design and handed to developers 4. The API design can be consumed by ReadyAPI to automatically generate test cases, virtual services and can be used as an assertion contract 5. As developers complete coding, tests can be brought to validate work based on the contract as part of the build process 6. Documentation in SwaggerHub can be published alongside the new version of the service. The development work, tests and documentation all tie back to the what was approved during the design process What does design-first look like? SDKs
  • 16. 16 Questions? Thank You! Join our next session on Wednesday, July 24th Using the OpenAPI Specification Across the SDLC