SlideShare a Scribd company logo
@MICROCKSIO #KAFKASUMMIT
Automated Kafka Mocking
and Testing with AsyncAPI
Hugo Guerrero / @hguerreroo
@MICROCKSIO #KAFKASUMMIT
Hugo Guerrero
Mexican @ MA, USA
Twitter: @hguerreroo
Event-Driven APIs &
Open Source Advocate
History, Travel & Food Enthusiast
@MICROCKSIO #KAFKASUMMIT
DE - COUPLE ...
INNOVATE ...
CONNECT ...
AT SCALE !
#KAFKASUMMIT
icons by Made x Made from the Noun Project
@MICROCKSIO
The importance of
CONTRACT and EXAMPLES
GENERATED
EXAMPLES
GENERATED
REAL-LIFE
BUSINESS EXPECTATIONS
EXECUTABLE SPECIFICATIONS
MOCKS
& TESTS
@MICROCKSIO #KAFKASUMMIT
A new approach on Contracts
icons by Made x Made from the Noun Project
Service
Contract.
Development Test & Release
Specification
Service
Contract.
Synchronisation points
GOAL: DEFINE A PRAGMATIC APPROACH TO
MAKE SERVICE CONTRACTS USEFUL
FINALLY ;-)
THINK EXECUTABLE SPECIFICATION and *DD
Syntactic contract
Examples
Matching rules
Events everywhere.
Why the raise of events-driven API ?
Photo by Carol Jeng on Unsplash
#KAFKASUMMIT
@MICROCKSIO
#KAFKASUMMIT
@MICROCKSIO
Kafkaesque Situation
ENDPOINT
DOCUMENTATION ?
DATA FORMAT AND
VALIDATION ?
INFRASTRUCTURE ACCESS
?
PUBLISHERS &
CONSUMERS COMPLIANCE
?
EVENTS AVAILABILITY ?
MIS-UNDERSTANDING SLOW TIME TO MARKET,
POOR QUALITY
@MICROCKSIO #EVENT-HASHTAG
SoapUI Project
(XML)
5.1+
Postman Collection
(JSON)
1.0, 2.x
Apicurio
(Studio)
OpenAPI 3.x
OpenAPI
(YAML, JSON)
3.x
AsyncAPI
(YAML, JSON)
2.x
SOAP WEB-
SERVICES REST APIs Event-driven APIs
(Kafka, AMQP, MQTT)
For what types of APIs ?
icons by Made x Made from the Noun Project
@MICROCKSIO #KAFKASUMMIT
Event-Driven Secret-Weapon
An open source initiative that seeks to improve the
current state of Event-Driven Architectures.
Created to describe Event-driven APIs using MQTT,
AMQP, Apache Kafka, ...
“Sister” specification to OpenAPI: same base syntax,
use JSON Schema or Avro underhood.
@MICROCKSIO #KAFKASUMMIT
Async API Specification
Protocol agnostic:
▸ AMQP
▸ MQTT
▸ NATS
▸ HTTP
▸ WebSockets
▸ Kafka
▸ STOMP
▸ JMS
Open Source Tooling:
▸ Online playground
(playground.asyncapi.org)
▸ Code generators
▸ Documentation generators
▸ Editors
▸ Mocking
▸ Testing
@MICROCKSIO #KAFKASUMMIT
AsyncAPI Anatomy
Info: metadata and documentation for this asynchronous API: version, title,
description, contact and licensing terms
Servers: list of brokers with binding details (URLs and security protocols)
Channel Item: destination that will be used by the API to publish or consume
events. Destination may be mapped to a topic, queue, address name depending
on the protocol binding.
Operation: whether the application using the AsyncAPI should subscribe or
produce messages. Holds its own descriptive metadata
Message: the content-type and structure of message headers and payload. May
reference schemas of different types (AsyncAPI, JSON, Avro). May contain
examples!
Components: Common definitions (schemas, traits, messages) like in OpenAPI v3
@MICROCKSIO #EVENT-HASHTAG
Adding some events...
user-registration CRM
Email
Marketing
Synchronous
interaction
(SOA)
Asynchronous
interaction
(EDA)
@MICROCKSIO #EVENT-HASHTAG
Adding some events...
user-registration
TOPIC user-registration
{
"id":"38102178-dbe5-4e81-aa65-8f6df1be4d44",
"fullName":"John Doe",
"email":"john@microcks.io",
"age":36,
"sentAt":"1603786974956",
}
AsyncAPI 2.0
Contract
@MICROCKSIO #KAFKASUMMIT
Introducing Microcks
Open source Kubernetes-native tool for API Mocking
and Testing.
It provides an enterprise-grade solution to speed up,
secure and scale your API strategy for the digital era.
Microcks references any types of APIs or microservices
contracts and examples.
@MICROCKSIO #KAFKASUMMIT
Microcks Use-cases
API
Provider
API
Provider
API
Consumer
Turn specification into live mocks ! Ensure your implementation
is compliant with contract
@MICROCKSIO #EVENT-HASHTAG
icons by Made x Made from the Noun Project
TECHNICAL
BUSINESS
SMOKE TESTS
SYNTACTIC CONTRACT TESTS
BUSINESS EXPECTATIONS TESTS
Ensure API endpoint is
correctly deployed
Ensure API implementation is
compliant with Swagger, OpenAPI
or WSDL contracts
Ensure API implementation
correctly respond - with respect to
business rules - to invocations
Different strategies available. Usable on
demand, matching your life cycle.
Test strategies
16
#APIDAYS PARIS 2020
@MICROCKSIO
Magic
Demo
Time
Photo by Unsplash
@MICROCKSIO #KAFKASUMMIT
All Kafkas
Every N sec.
user-signedup-api-
0.1.1-user-signedup
Microcks
connected broker
(mocking topic generated by Microcks)
Microcks
connected schema
registry
Any Schema
Registry
Listen events
during test
Any Kafka
broker
user-registration
(real application topic)
Azure Event
Hubs
EASE COLLABORATION
REUSE YOUR ASSETS
FOSTER INNOVATION
AND RAPID FEEDBACKS
CONTINUOUS SIMULATION AND
COMPLIANCE VALIDATION
SAME TOOLS FOR REST & SOAP
AND ASYNC API
COMING SOON: A COMMUNITY HUB TO SHARE
MOCKS AND TESTS !!
Microcks Benefits
#EVENT-HASHTAG
icons by Made x Made from the Noun Project
@MICROCKSIO
@MICROCKSIO #KAFKASUMMIT
More Resources
Apache Kafka Mocking and Testing
https://microcks.io/blog/apache-kafka-mocking-testing/
Continuous Testing - OpenAPI & AsyncAPI Together
https://microcks.io/blog/continuous-testing-all-your-apis/
How Microcks Can Speed-Up Your AsyncAPI Adoption - Part 1 & 2
https://www.asyncapi.com/blog/microcks-asyncapi-part1
https://www.asyncapi.com/blog/microcks-asyncapi-part2
Join the community on Zulip
https://microcksio.zulipchat.com
@MICROCKSIO #KAFKASUMMIT
We Need You!
Try Microcks (microcks.io) !
Come chat on Zulip microcksio.zulipchat.com
Follow us on Twitter @microcksio,
Distribute, & if you like it.
It’s a 100% Open Source.
And if you love it, contribute !
@MICROCKSIO #KAFKASUMMIT
THANK YOU !
Hugo Guerrero
Twitter: @hguerreroo
https://www.youtube.com/user/hguerreroo
https://developers.redhat.com/author/hugo-guerrero

More Related Content

What's hot (20)

PPTX
Introduction to Microservices
MahmoudZidan41
 
PPTX
Azure DevOps CI/CD For Beginners
Rahul Nath
 
PPTX
Jira Basic Concepts
MAKSTraining
 
PDF
Modernize Java Apps on Microsoft Azure
David J Rosenthal
 
PDF
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
johnfcshaw
 
PDF
Getting started with AsyncAPI: how to describe your Kafka cluster | Salma Sae...
HostedbyConfluent
 
PDF
Mule Common Logging & Error Handling Framework
Vijay Reddy
 
PPTX
Introduction to DevOps on AWS
Shiva Narayanaswamy
 
PDF
The Paved Road at Netflix
Dianne Marsh
 
PDF
How to implement DevOps in your Organization
Dalibor Blazevic
 
PDF
Think2018 2314-Microservices and BPM-can they coexist?
Brian Petrini
 
PPTX
Azure DevOps
Felipe Artur Feltes
 
PPTX
Mulesoft Anypoint platform introduction
gijish
 
PPTX
Microsoft DevOps Solution - DevOps
Chetan Gordhan
 
PPTX
Microsoft: Multi-tenant SaaS with Azure
AIMDek Technologies
 
PPTX
DevOps
Gehad Elsayed
 
PDF
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
apidays
 
PDF
10 Business Advantages of DevOps
cliqtechno
 
PPTX
The Power of Azure DevOps
Jeff Bramwell
 
PPTX
Azure DevOps in Action
Callon Campbell
 
Introduction to Microservices
MahmoudZidan41
 
Azure DevOps CI/CD For Beginners
Rahul Nath
 
Jira Basic Concepts
MAKSTraining
 
Modernize Java Apps on Microsoft Azure
David J Rosenthal
 
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
johnfcshaw
 
Getting started with AsyncAPI: how to describe your Kafka cluster | Salma Sae...
HostedbyConfluent
 
Mule Common Logging & Error Handling Framework
Vijay Reddy
 
Introduction to DevOps on AWS
Shiva Narayanaswamy
 
The Paved Road at Netflix
Dianne Marsh
 
How to implement DevOps in your Organization
Dalibor Blazevic
 
Think2018 2314-Microservices and BPM-can they coexist?
Brian Petrini
 
Azure DevOps
Felipe Artur Feltes
 
Mulesoft Anypoint platform introduction
gijish
 
Microsoft DevOps Solution - DevOps
Chetan Gordhan
 
Microsoft: Multi-tenant SaaS with Azure
AIMDek Technologies
 
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
apidays
 
10 Business Advantages of DevOps
cliqtechno
 
The Power of Azure DevOps
Jeff Bramwell
 
Azure DevOps in Action
Callon Campbell
 

Similar to Automated Apache Kafka Mocking and Testing with AsyncAPI | Hugo Guerrero, Red Hat (20)

PDF
Speed-Up Kafka Delivery with AsyncAPI & Microcks | Hugo Guerrero, Red Hat
HostedbyConfluent
 
PDF
Apidays Paris 2023 - Boosting Event-Driven Development with AsyncAPI and Micr...
apidays
 
PDF
Apidays New York 2024 - Increase your productivity with no-code GraphQL mocki...
apidays
 
PDF
apidays LIVE Hong Kong 2021 - Event-driven APIs & Schema governance for Apach...
apidays
 
PPTX
Design and Evolution of APIs in Microservice Architecture
Lohika_Odessa_TechTalks
 
PPTX
Mulesoft lisbon_meetup_asyncapis
Steve Michael Fernandes
 
PPTX
POST/CON 2019 Workshop: Design, Develop, and Mock APIs with Postman
Postman
 
PPTX
Delivering successful API integrations with documentation-driven development
José Haro Peralta
 
PDF
APIdays Paris 2018 - The AsyncAPI specification, Fran Mendez, Founder, AsyncAPI
apidays
 
PPTX
Documentation-driven development for Python web APIs v2
José Haro Peralta
 
PDF
Why You Should Be Doing Contract-First API Development
DevenPhillips
 
PDF
Async API specification
Nordic APIs
 
PPTX
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Lucas Jellema
 
PPTX
the 12 facets of OpenAPI
Cisco DevNet
 
PDF
Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...
HostedbyConfluent
 
PDF
Apidays Paris 2023 - AsyncAPI For Platform Self-Service, João Dias and Rui Eu...
apidays
 
PDF
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
apidays
 
PDF
apidays Australia 2022 - Schemas are not contracts!, Matt Fellows, Pactflow
apidays
 
PDF
Agile integration activation: get hands on with ap-is
Judy Breedlove
 
PPTX
Pure APIs: Development workflows for successful API integrations
José Haro Peralta
 
Speed-Up Kafka Delivery with AsyncAPI & Microcks | Hugo Guerrero, Red Hat
HostedbyConfluent
 
Apidays Paris 2023 - Boosting Event-Driven Development with AsyncAPI and Micr...
apidays
 
Apidays New York 2024 - Increase your productivity with no-code GraphQL mocki...
apidays
 
apidays LIVE Hong Kong 2021 - Event-driven APIs & Schema governance for Apach...
apidays
 
Design and Evolution of APIs in Microservice Architecture
Lohika_Odessa_TechTalks
 
Mulesoft lisbon_meetup_asyncapis
Steve Michael Fernandes
 
POST/CON 2019 Workshop: Design, Develop, and Mock APIs with Postman
Postman
 
Delivering successful API integrations with documentation-driven development
José Haro Peralta
 
APIdays Paris 2018 - The AsyncAPI specification, Fran Mendez, Founder, AsyncAPI
apidays
 
Documentation-driven development for Python web APIs v2
José Haro Peralta
 
Why You Should Be Doing Contract-First API Development
DevenPhillips
 
Async API specification
Nordic APIs
 
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Lucas Jellema
 
the 12 facets of OpenAPI
Cisco DevNet
 
Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...
HostedbyConfluent
 
Apidays Paris 2023 - AsyncAPI For Platform Self-Service, João Dias and Rui Eu...
apidays
 
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
apidays
 
apidays Australia 2022 - Schemas are not contracts!, Matt Fellows, Pactflow
apidays
 
Agile integration activation: get hands on with ap-is
Judy Breedlove
 
Pure APIs: Development workflows for successful API integrations
José Haro Peralta
 
Ad

More from HostedbyConfluent (20)

PDF
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
HostedbyConfluent
 
PDF
Renaming a Kafka Topic | Kafka Summit London
HostedbyConfluent
 
PDF
Evolution of NRT Data Ingestion Pipeline at Trendyol
HostedbyConfluent
 
PDF
Ensuring Kafka Service Resilience: A Dive into Health-Checking Techniques
HostedbyConfluent
 
PDF
Exactly-once Stream Processing with Arroyo and Kafka
HostedbyConfluent
 
PDF
Fish Plays Pokemon | Kafka Summit London
HostedbyConfluent
 
PDF
Tiered Storage 101 | Kafla Summit London
HostedbyConfluent
 
PDF
Building a Self-Service Stream Processing Portal: How And Why
HostedbyConfluent
 
PDF
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
HostedbyConfluent
 
PDF
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
HostedbyConfluent
 
PDF
Navigating Private Network Connectivity Options for Kafka Clusters
HostedbyConfluent
 
PDF
Apache Flink: Building a Company-wide Self-service Streaming Data Platform
HostedbyConfluent
 
PDF
Explaining How Real-Time GenAI Works in a Noisy Pub
HostedbyConfluent
 
PDF
TL;DR Kafka Metrics | Kafka Summit London
HostedbyConfluent
 
PDF
A Window Into Your Kafka Streams Tasks | KSL
HostedbyConfluent
 
PDF
Mastering Kafka Producer Configs: A Guide to Optimizing Performance
HostedbyConfluent
 
PDF
Data Contracts Management: Schema Registry and Beyond
HostedbyConfluent
 
PDF
Code-First Approach: Crafting Efficient Flink Apps
HostedbyConfluent
 
PDF
Debezium vs. the World: An Overview of the CDC Ecosystem
HostedbyConfluent
 
PDF
Beyond Tiered Storage: Serverless Kafka with No Local Disks
HostedbyConfluent
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
HostedbyConfluent
 
Renaming a Kafka Topic | Kafka Summit London
HostedbyConfluent
 
Evolution of NRT Data Ingestion Pipeline at Trendyol
HostedbyConfluent
 
Ensuring Kafka Service Resilience: A Dive into Health-Checking Techniques
HostedbyConfluent
 
Exactly-once Stream Processing with Arroyo and Kafka
HostedbyConfluent
 
Fish Plays Pokemon | Kafka Summit London
HostedbyConfluent
 
Tiered Storage 101 | Kafla Summit London
HostedbyConfluent
 
Building a Self-Service Stream Processing Portal: How And Why
HostedbyConfluent
 
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
HostedbyConfluent
 
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
HostedbyConfluent
 
Navigating Private Network Connectivity Options for Kafka Clusters
HostedbyConfluent
 
Apache Flink: Building a Company-wide Self-service Streaming Data Platform
HostedbyConfluent
 
Explaining How Real-Time GenAI Works in a Noisy Pub
HostedbyConfluent
 
TL;DR Kafka Metrics | Kafka Summit London
HostedbyConfluent
 
A Window Into Your Kafka Streams Tasks | KSL
HostedbyConfluent
 
Mastering Kafka Producer Configs: A Guide to Optimizing Performance
HostedbyConfluent
 
Data Contracts Management: Schema Registry and Beyond
HostedbyConfluent
 
Code-First Approach: Crafting Efficient Flink Apps
HostedbyConfluent
 
Debezium vs. the World: An Overview of the CDC Ecosystem
HostedbyConfluent
 
Beyond Tiered Storage: Serverless Kafka with No Local Disks
HostedbyConfluent
 
Ad

Recently uploaded (20)

PDF
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
PDF
Persuasive AI: risks and opportunities in the age of digital debate
Speck&Tech
 
PDF
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
PDF
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
Persuasive AI: risks and opportunities in the age of digital debate
Speck&Tech
 
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 

Automated Apache Kafka Mocking and Testing with AsyncAPI | Hugo Guerrero, Red Hat

  • 1. @MICROCKSIO #KAFKASUMMIT Automated Kafka Mocking and Testing with AsyncAPI Hugo Guerrero / @hguerreroo
  • 2. @MICROCKSIO #KAFKASUMMIT Hugo Guerrero Mexican @ MA, USA Twitter: @hguerreroo Event-Driven APIs & Open Source Advocate History, Travel & Food Enthusiast
  • 3. @MICROCKSIO #KAFKASUMMIT DE - COUPLE ... INNOVATE ... CONNECT ... AT SCALE !
  • 4. #KAFKASUMMIT icons by Made x Made from the Noun Project @MICROCKSIO The importance of CONTRACT and EXAMPLES GENERATED EXAMPLES GENERATED REAL-LIFE BUSINESS EXPECTATIONS EXECUTABLE SPECIFICATIONS MOCKS & TESTS
  • 5. @MICROCKSIO #KAFKASUMMIT A new approach on Contracts icons by Made x Made from the Noun Project Service Contract. Development Test & Release Specification Service Contract. Synchronisation points GOAL: DEFINE A PRAGMATIC APPROACH TO MAKE SERVICE CONTRACTS USEFUL FINALLY ;-) THINK EXECUTABLE SPECIFICATION and *DD Syntactic contract Examples Matching rules
  • 6. Events everywhere. Why the raise of events-driven API ? Photo by Carol Jeng on Unsplash #KAFKASUMMIT @MICROCKSIO
  • 7. #KAFKASUMMIT @MICROCKSIO Kafkaesque Situation ENDPOINT DOCUMENTATION ? DATA FORMAT AND VALIDATION ? INFRASTRUCTURE ACCESS ? PUBLISHERS & CONSUMERS COMPLIANCE ? EVENTS AVAILABILITY ? MIS-UNDERSTANDING SLOW TIME TO MARKET, POOR QUALITY
  • 8. @MICROCKSIO #EVENT-HASHTAG SoapUI Project (XML) 5.1+ Postman Collection (JSON) 1.0, 2.x Apicurio (Studio) OpenAPI 3.x OpenAPI (YAML, JSON) 3.x AsyncAPI (YAML, JSON) 2.x SOAP WEB- SERVICES REST APIs Event-driven APIs (Kafka, AMQP, MQTT) For what types of APIs ? icons by Made x Made from the Noun Project
  • 9. @MICROCKSIO #KAFKASUMMIT Event-Driven Secret-Weapon An open source initiative that seeks to improve the current state of Event-Driven Architectures. Created to describe Event-driven APIs using MQTT, AMQP, Apache Kafka, ... “Sister” specification to OpenAPI: same base syntax, use JSON Schema or Avro underhood.
  • 10. @MICROCKSIO #KAFKASUMMIT Async API Specification Protocol agnostic: ▸ AMQP ▸ MQTT ▸ NATS ▸ HTTP ▸ WebSockets ▸ Kafka ▸ STOMP ▸ JMS Open Source Tooling: ▸ Online playground (playground.asyncapi.org) ▸ Code generators ▸ Documentation generators ▸ Editors ▸ Mocking ▸ Testing
  • 11. @MICROCKSIO #KAFKASUMMIT AsyncAPI Anatomy Info: metadata and documentation for this asynchronous API: version, title, description, contact and licensing terms Servers: list of brokers with binding details (URLs and security protocols) Channel Item: destination that will be used by the API to publish or consume events. Destination may be mapped to a topic, queue, address name depending on the protocol binding. Operation: whether the application using the AsyncAPI should subscribe or produce messages. Holds its own descriptive metadata Message: the content-type and structure of message headers and payload. May reference schemas of different types (AsyncAPI, JSON, Avro). May contain examples! Components: Common definitions (schemas, traits, messages) like in OpenAPI v3
  • 12. @MICROCKSIO #EVENT-HASHTAG Adding some events... user-registration CRM Email Marketing Synchronous interaction (SOA) Asynchronous interaction (EDA)
  • 13. @MICROCKSIO #EVENT-HASHTAG Adding some events... user-registration TOPIC user-registration { "id":"38102178-dbe5-4e81-aa65-8f6df1be4d44", "fullName":"John Doe", "email":"[email protected]", "age":36, "sentAt":"1603786974956", } AsyncAPI 2.0 Contract
  • 14. @MICROCKSIO #KAFKASUMMIT Introducing Microcks Open source Kubernetes-native tool for API Mocking and Testing. It provides an enterprise-grade solution to speed up, secure and scale your API strategy for the digital era. Microcks references any types of APIs or microservices contracts and examples.
  • 15. @MICROCKSIO #KAFKASUMMIT Microcks Use-cases API Provider API Provider API Consumer Turn specification into live mocks ! Ensure your implementation is compliant with contract
  • 16. @MICROCKSIO #EVENT-HASHTAG icons by Made x Made from the Noun Project TECHNICAL BUSINESS SMOKE TESTS SYNTACTIC CONTRACT TESTS BUSINESS EXPECTATIONS TESTS Ensure API endpoint is correctly deployed Ensure API implementation is compliant with Swagger, OpenAPI or WSDL contracts Ensure API implementation correctly respond - with respect to business rules - to invocations Different strategies available. Usable on demand, matching your life cycle. Test strategies 16
  • 18. @MICROCKSIO #KAFKASUMMIT All Kafkas Every N sec. user-signedup-api- 0.1.1-user-signedup Microcks connected broker (mocking topic generated by Microcks) Microcks connected schema registry Any Schema Registry Listen events during test Any Kafka broker user-registration (real application topic) Azure Event Hubs
  • 19. EASE COLLABORATION REUSE YOUR ASSETS FOSTER INNOVATION AND RAPID FEEDBACKS CONTINUOUS SIMULATION AND COMPLIANCE VALIDATION SAME TOOLS FOR REST & SOAP AND ASYNC API COMING SOON: A COMMUNITY HUB TO SHARE MOCKS AND TESTS !! Microcks Benefits #EVENT-HASHTAG icons by Made x Made from the Noun Project @MICROCKSIO
  • 20. @MICROCKSIO #KAFKASUMMIT More Resources Apache Kafka Mocking and Testing https://microcks.io/blog/apache-kafka-mocking-testing/ Continuous Testing - OpenAPI & AsyncAPI Together https://microcks.io/blog/continuous-testing-all-your-apis/ How Microcks Can Speed-Up Your AsyncAPI Adoption - Part 1 & 2 https://www.asyncapi.com/blog/microcks-asyncapi-part1 https://www.asyncapi.com/blog/microcks-asyncapi-part2 Join the community on Zulip https://microcksio.zulipchat.com
  • 21. @MICROCKSIO #KAFKASUMMIT We Need You! Try Microcks (microcks.io) ! Come chat on Zulip microcksio.zulipchat.com Follow us on Twitter @microcksio, Distribute, & if you like it. It’s a 100% Open Source. And if you love it, contribute !
  • 22. @MICROCKSIO #KAFKASUMMIT THANK YOU ! Hugo Guerrero Twitter: @hguerreroo https://www.youtube.com/user/hguerreroo https://developers.redhat.com/author/hugo-guerrero