SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Use Automation to Assist -Not Replace- Manual Testing
Use Automation to Assist -Not Replace- Manual TestingUse Automation to Assist -Not Replace- Manual Testing
Use Automation to Assist -Not Replace- Manual TestingSmartBear
 
The Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear WebinarThe Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear WebinarSmartBear
 
Advanced Automation in Your API Lifecycle
Advanced Automation in Your API Lifecycle 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...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 APIsAdvanced Mocking for Swagger APIs
Advanced Mocking for Swagger APIsSmartBear
 
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...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 SpecDesigning APIs with OpenAPI Spec
Designing APIs with OpenAPI SpecAdam Paxton
 
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...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[Workshop] Up-leveling Brownfield Integration
[Workshop] Up-leveling Brownfield IntegrationWSO2
 
Behavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in contextBehavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in contextAlexander Kress
 
Testing in DevOps world
Testing in DevOps worldTesting in DevOps world
Testing in DevOps worldMoataz Nabil
 
Service api design validation & collaboration
Service api design validation & collaborationService api design validation & collaboration
Service api design validation & collaborationUchit Vyas ☁
 
Kloia Quality Assurance
Kloia Quality AssuranceKloia Quality Assurance
Kloia Quality Assurancekloia
 
Developing Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & PythonDeveloping Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & PythonSmartBear
 
API Testing With Katalon Studio
API Testing With Katalon StudioAPI Testing With Katalon Studio
API Testing With Katalon StudioKnoldus Inc.
 
Automation Testing Approach for Responsive Web Design
Automation Testing Approach for Responsive Web DesignAutomation Testing Approach for Responsive Web Design
Automation Testing Approach for Responsive Web DesignAgile Testing Alliance
 
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...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...#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 2014OpenStack DefCore review 2014
OpenStack DefCore review 2014rhirschfeld
 
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...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
 

Mais procurados (20)

Use Automation to Assist -Not Replace- Manual Testing
Use Automation to Assist -Not Replace- Manual TestingUse Automation to Assist -Not Replace- Manual Testing
Use Automation to Assist -Not Replace- Manual Testing
 
The Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear WebinarThe Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear Webinar
 
Advanced Automation in Your API Lifecycle
Advanced Automation in Your API Lifecycle Advanced Automation in Your API Lifecycle
Advanced Automation in Your API Lifecycle
 
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
 
Advanced Mocking for Swagger APIs
Advanced Mocking for Swagger APIsAdvanced Mocking for Swagger APIs
Advanced Mocking for Swagger APIs
 
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
 
Designing APIs with OpenAPI Spec
Designing APIs with OpenAPI SpecDesigning APIs with OpenAPI Spec
Designing APIs with OpenAPI Spec
 
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
 
[Workshop] Up-leveling Brownfield Integration
[Workshop] Up-leveling Brownfield Integration[Workshop] Up-leveling Brownfield Integration
[Workshop] Up-leveling Brownfield Integration
 
Behavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in contextBehavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in context
 
Testing in DevOps world
Testing in DevOps worldTesting in DevOps world
Testing in DevOps world
 
Service api design validation & collaboration
Service api design validation & collaborationService api design validation & collaboration
Service api design validation & collaboration
 
Kloia Quality Assurance
Kloia Quality AssuranceKloia Quality Assurance
Kloia Quality Assurance
 
Developing Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & PythonDeveloping Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & Python
 
API Testing With Katalon Studio
API Testing With Katalon StudioAPI Testing With Katalon Studio
API Testing With Katalon Studio
 
Automation Testing Approach for Responsive Web Design
Automation Testing Approach for Responsive Web DesignAutomation Testing Approach for Responsive Web Design
Automation Testing Approach for Responsive Web Design
 
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
 
#ATAGTR2019 Presentation "QA alignment in the DevOps world" By Suneeta Paland...
#ATAGTR2019 Presentation "QA alignment in the DevOps world" By Suneeta Paland...#ATAGTR2019 Presentation "QA alignment in the DevOps world" By Suneeta Paland...
#ATAGTR2019 Presentation "QA alignment in the DevOps world" By Suneeta Paland...
 
OpenStack DefCore review 2014
OpenStack DefCore review 2014OpenStack DefCore review 2014
OpenStack DefCore review 2014
 
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...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...
 

Semelhante a API Design Approaches: Code-First vs Design-First

Listen to Your Machines: DevOps Analytics for Better Feedback Loops
Listen to Your Machines: DevOps Analytics for Better Feedback LoopsListen to Your Machines: DevOps Analytics for Better Feedback Loops
Listen to Your Machines: DevOps Analytics for Better Feedback LoopsSplunk
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudJeremy Likness
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsCollabNet
 
Agileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinarAgileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinarRoberto Jr. Figueroa
 
Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Alan Hood
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realistsKarthik Gaekwad
 
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_custdennisn129
 
Think Cloud, Develop Locally
Think Cloud, Develop LocallyThink Cloud, Develop Locally
Think Cloud, Develop LocallyAll Things Open
 
Road to agile: federal government case study
Road to agile: federal government case studyRoad to agile: federal government case study
Road to agile: federal government case studyDavid Marsh
 
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...apidays
 
Continuous Testing: A Key to DevOps Success
Continuous Testing: A Key to DevOps SuccessContinuous Testing: A Key to DevOps Success
Continuous Testing: A Key to DevOps SuccessTechWell
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...CollabNet
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxapidays
 
Training Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxTraining Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxNashet Ali
 
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...Gene Kim
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Chris Kernaghan
 
#ATAGTR2020 Presentation - Shift Left - Performance Testing
#ATAGTR2020 Presentation - Shift Left - Performance Testing#ATAGTR2020 Presentation - Shift Left - Performance Testing
#ATAGTR2020 Presentation - Shift Left - Performance TestingAgile Testing Alliance
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAdam Getchell
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 

Semelhante a API Design Approaches: Code-First vs Design-First (20)

Listen to Your Machines: DevOps Analytics for Better Feedback Loops
Listen to Your Machines: DevOps Analytics for Better Feedback LoopsListen to Your Machines: DevOps Analytics for Better Feedback Loops
Listen to Your Machines: DevOps Analytics for Better Feedback Loops
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using Jenkins
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Agileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinarAgileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinar
 
Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Is Being Agile a Good Thing?
Is Being Agile a Good Thing?
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
 
Think Cloud, Develop Locally
Think Cloud, Develop LocallyThink Cloud, Develop Locally
Think Cloud, Develop Locally
 
Road to agile: federal government case study
Road to agile: federal government case studyRoad to agile: federal government case study
Road to agile: federal government case study
 
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
 
Continuous Testing: A Key to DevOps Success
Continuous Testing: A Key to DevOps SuccessContinuous Testing: A Key to DevOps Success
Continuous Testing: A Key to DevOps Success
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptx
 
Training Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxTraining Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptx
 
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
 
#ATAGTR2020 Presentation - Shift Left - Performance Testing
#ATAGTR2020 Presentation - Shift Left - Performance Testing#ATAGTR2020 Presentation - Shift Left - Performance Testing
#ATAGTR2020 Presentation - Shift Left - Performance Testing
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 

Mais de SmartBear

Enforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHubEnforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHubSmartBear
 
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...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 ...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 SwaggerHubHow LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHubSmartBear
 
Standardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial ServicesStandardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial ServicesSmartBear
 
Adopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHubAdopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHubSmartBear
 
Artificial intelligence for faster and smarter software testing - Galway Mee...
Artificial intelligence for faster and smarter software testing  - Galway Mee...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 WorldSuccessfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSmartBear
 
Testing Without a GUI Using TestComplete
 Testing Without a GUI Using TestComplete Testing Without a GUI Using TestComplete
Testing Without a GUI Using TestCompleteSmartBear
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsSmartBear
 
How Bdd Can Save Agile
 How Bdd Can Save Agile How Bdd Can Save Agile
How Bdd Can Save AgileSmartBear
 
API Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship RulesAPI Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship RulesSmartBear
 
Support Rapid Systems Growth with a Design-First Approach
Support Rapid Systems Growth with a Design-First ApproachSupport Rapid Systems Growth with a Design-First Approach
Support Rapid Systems Growth with a Design-First ApproachSmartBear
 
Maximize Test Automation with a Risk-Based Approach
Maximize Test Automation with a Risk-Based ApproachMaximize Test Automation with a Risk-Based Approach
Maximize Test Automation with a Risk-Based ApproachSmartBear
 
Modernizing the Enterprise API Development Process
Modernizing the Enterprise API Development ProcessModernizing the Enterprise API Development Process
Modernizing the Enterprise API Development ProcessSmartBear
 
Developing Performance-Oriented Code: Moore's Law Over 50
Developing Performance-Oriented Code: Moore's Law Over 50Developing Performance-Oriented Code: Moore's Law Over 50
Developing Performance-Oriented Code: Moore's Law Over 50SmartBear
 
Implementation of DevOps at SmartBear
Implementation of DevOps at SmartBearImplementation of DevOps at SmartBear
Implementation of DevOps at SmartBearSmartBear
 
Accelerate Your Delivery Pipeline with Continuous Testing
Accelerate Your Delivery Pipeline with Continuous TestingAccelerate Your Delivery Pipeline with Continuous Testing
Accelerate Your Delivery Pipeline with Continuous TestingSmartBear
 
Be Dynamic: Unblock Your Environments
Be Dynamic: Unblock Your Environments 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 DisruptionTransform QA to Stay Ahead of Digital Disruption
Transform QA to Stay Ahead of Digital DisruptionSmartBear
 

Mais de SmartBear (20)

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

Último

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 

Último (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

API Design Approaches: Code-First vs Design-First

  • 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