SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
[19th
Dec 2020]
[Surat] MuleSoft Meetup Group
API Led Connectivity, SEDA and MUnit
2
Organizers
A SHOW OF HANDS:
Who is new to this Meetup?
Jitendra Bafna
Enterprise Solution Architect
Capgemini
Nitish Jain
Consultant
IBM
3
Speakers
Mary Joy Sabal
Integration Technical Lead
Datacom, NZ
Shivakant Sahu
Solution Architect
Apisero
Agenda
● Why application testing is important?
● MuleSoft testing framework - MUnit
● Implement Unit Testing Strategies using MUnit Tools
● MUnit Coverage
● Demo – MUnit Test Recorder
● API Led Connectivity and SEDA
MUnit Test Strategies and Recorder
Why application testing is important?
● We all make mistakes.
● Gives confidence to developers and customers to ensure good quality product is delivered.
● Untested code is broken code.
● Executable documentation of code’s behaviour.
Unit Testing
● White-box testing.
● Verifies the functionality of a specific unit.
● Do not require deployment into any special environment, such as a staging environment.
MUnit
● MUnit, is a dedicated unit testing tool specifically targeted to testing Mule applications inside a
Mule runtime.
● Design and create white-box test cases as Mule flows.
● Each test is itself a Mule flow, using components from the MUnit and MUnit Tools modules.
MUnit cont. . .
● Test Flow Structure ● Test Tags
● Test Coverage
Implement Unit Testing Strategies
using Munit Tools
● For read-only interactions to any
dependencies (such as other APIs): allowed
to invoke production endpoints ("sociable"
unit tests).
● For write interactions: developers must
implement mocks using MUnit.
● Assertions about the result are tested and
recorded.
MUnit Coverage
● Runs only for EE edition runtimes.
● Measurement of how much of a Mule application has been executed by a set of MUnit tests
by counting the amount of event processors executed.
● Enable MUnit Coverage
1. Maven
2. Studio
● MUnit Coverage Reports
1. Console
2. HTML
3. JSON
4. Sonar
MUnit Coverage Metrics
Flows Subflows Batch
jobs
XML
XML
XML
XML
XML
Application overall coverage
metrics
Resource coverage
metrics
Flow coverage metrics
MUnit Coverage Maven settings
Demo
API Led Connectivity
16
Content
01 02
03
05
04
06
07
09
08
10
API-LED Connectivity Common Approach
Limitations with Common
Approach Power of API-LED Approach
SEDA Architecture Scenarios
Synchronous Asynchronous
QuestionsExamples
17
• Order data in eCommerce system
• Inventory data in SAP
• Customer data in SAP, Salesforce
Project objective: Web app provides
real-time order status and order
history for sales team engaging with
customers
Aggregated customer
data
Order status Order history
Web app API
A common project-based Approach
18
Web app API
Aggregated customer
data
Order status Order history
On time and within budget
Limited opportunity for reuse
Tight coupling = brittleness
Difficult to govern
Meets business requirements
?
A common project-based Approach
19
Integration project
Aggregated customer
data
Order status Order history
mobile APIMobile API
Aggregated customer
data
Order historyOrder status
Web app APIWeb app API
6 months later…
20
• Discoverable and accessible
through self-service
• Productized and designed for
ease of consumption
• Easily managed for security,
scalability, and performance
Modern
API
Modern API- The core enabler of new model
21
System
APIs
Process
APIs
Experience
APIs
Customers
Web app API
Orders
Salesforce
customers
SAP
customers
Order
status
Order
history
The API-LED Connectivity Approach
22
System
APIs
Process
APIs
Experience
APIs
Customers
Web app APIMobile API
Orders
Salesforce
customers
SAP
customers
Shipment
status
Toll
shipments
UPS
shipments
Order
status
Order
history
The API-LED Connectivity Approach
23
System
APIs
Process
APIs
System
APIs
Process
APIs
Experience
APIs
Unlock assets and decentralize
access
Discover, reuse assets and compose
information
Discover, self-serve, reuse and
consumeDevelopers
LOB IT
Central IT
Enable and empower the entire organization
24
System
APIs
Process
APIs
Experience
APIs
On time and within budget
Limited opportunity for reuse
Tight coupling = brittleness
Difficult to govern
Meets business requirements
?
Drive outcomes with API-LED Connectivity
SEDA – Staged Event Driven
Architecture
26
SEDA Architecture
Staged, Event-Driven Architecture:
● The architecture upon which Mule was built
● Decouples receiving, processing, and dispatching phase Manage streams and
larger-than-memory payloads transparently
● Supports higher levels of parallelism in specific stages of processing
● Allows for more-specific tuning of areas within a flow's architecture
27
SEDA Architecture
Inbound Endpoint
Message
Processor
REQ-RES
Outbound
Endpoint
Outbound
Endpoint
Message
Processor
FLOW
Receiver Thread
Pool Flow Thread Pool Dispatcher Thread
Pool
Synchronous Flow
Asynchronous Flow(SEDA Queue)
Connector (Common Transport Setting)
28
SEDA Architecture
Staged, Event-Driven Architecture:
Scenario 1:
Inbound Connector is one way
Outbound Connector is one way
No transaction Flow
PROS CONS
Uses SEDA model with three fully decoupled
stages
Flow cannot return a response to the caller
Highly Performant Complicates integration with client that need
a response
29
SEDA Architecture
Scenario 2: Synchronous - Asynchronous mode
Receiver thread is exchange pattern
Dispatcher thread is one-way
PROS CONS
Returns the component response to the
caller
Receiver thread pool can be still
overwhelmed by incoming requests
Dispatching decoupled from receiving and
servicing
Receiver
Synchronous
Flow Dispatcher
Asynchronous
30
SEDA Architecture
Scenario 3: Synchronous mode
PROS CONS
Uses SEDA model with three fully decoupled
stages
All load handled by the connector’s receiver
threads
Simple to implement Don’t use SEDA queueing
Receiver
Synchronous
Flow Dispatcher
synchronous
31
SEDA Architecture
Scenario 4: Asynchronous - Synchronous mode
PROS CONS
Allow synchronous routing in the dispatcher Flow cannot return a response to the caller
Receiving decoupled from dispatching and
receiving
Flow thread pool size constrains the
outbound dispatching load capacity
Receiver
Asynchronous
Flow Dispatcher
synchronous
Introduce yourself to your neighbor
Networking time

Contenu connexe

Tendances

Mule soft meetup_-_finland_july_11th__2020
Mule soft meetup_-_finland_july_11th__2020Mule soft meetup_-_finland_july_11th__2020
Mule soft meetup_-_finland_july_11th__2020
D.Rajesh Kumar
 

Tendances (20)

Mule soft mcia-level-1 Dumps
Mule soft mcia-level-1 DumpsMule soft mcia-level-1 Dumps
Mule soft mcia-level-1 Dumps
 
MuleSoft Surat Virtual Meetup#9 - RAML Reusability and Simplified
MuleSoft Surat Virtual Meetup#9 - RAML Reusability and SimplifiedMuleSoft Surat Virtual Meetup#9 - RAML Reusability and Simplified
MuleSoft Surat Virtual Meetup#9 - RAML Reusability and Simplified
 
MuleSoft Surat Virtual Meetup#3 - Anypoint Custom Policies, API Manager (Prox...
MuleSoft Surat Virtual Meetup#3 - Anypoint Custom Policies, API Manager (Prox...MuleSoft Surat Virtual Meetup#3 - Anypoint Custom Policies, API Manager (Prox...
MuleSoft Surat Virtual Meetup#3 - Anypoint Custom Policies, API Manager (Prox...
 
MuleSoft Surat Virtual Meetup#21 - MuleSoft API and RAML Design Best Practice...
MuleSoft Surat Virtual Meetup#21 - MuleSoft API and RAML Design Best Practice...MuleSoft Surat Virtual Meetup#21 - MuleSoft API and RAML Design Best Practice...
MuleSoft Surat Virtual Meetup#21 - MuleSoft API and RAML Design Best Practice...
 
Pune Mule Meetups July 2019
Pune Mule Meetups July 2019Pune Mule Meetups July 2019
Pune Mule Meetups July 2019
 
Mumbai MuleSoft Meetup #17 - GraphQL
Mumbai MuleSoft Meetup #17 - GraphQLMumbai MuleSoft Meetup #17 - GraphQL
Mumbai MuleSoft Meetup #17 - GraphQL
 
MuleSoft Meetup Virtual_ 2_Charlotte
MuleSoft Meetup Virtual_ 2_CharlotteMuleSoft Meetup Virtual_ 2_Charlotte
MuleSoft Meetup Virtual_ 2_Charlotte
 
MuleSoft Surat Live Demonstration Virtual Meetup#5 - Salesforce Composite Con...
MuleSoft Surat Live Demonstration Virtual Meetup#5 - Salesforce Composite Con...MuleSoft Surat Live Demonstration Virtual Meetup#5 - Salesforce Composite Con...
MuleSoft Surat Live Demonstration Virtual Meetup#5 - Salesforce Composite Con...
 
MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...
MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...
MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...
 
Mumbai MuleSoft Meetup #18
Mumbai MuleSoft Meetup #18Mumbai MuleSoft Meetup #18
Mumbai MuleSoft Meetup #18
 
MuleSoft_Meetup_#6_Chandigarh_April_2021
MuleSoft_Meetup_#6_Chandigarh_April_2021MuleSoft_Meetup_#6_Chandigarh_April_2021
MuleSoft_Meetup_#6_Chandigarh_April_2021
 
MuleSoft Surat Virtual Meetup#19 - Identity and Client Management With MuleSoft
MuleSoft Surat Virtual Meetup#19 - Identity and Client Management With MuleSoftMuleSoft Surat Virtual Meetup#19 - Identity and Client Management With MuleSoft
MuleSoft Surat Virtual Meetup#19 - Identity and Client Management With MuleSoft
 
MuleSoft certified platform architect-level 1 Real Exam Questions
MuleSoft certified platform architect-level 1 Real Exam QuestionsMuleSoft certified platform architect-level 1 Real Exam Questions
MuleSoft certified platform architect-level 1 Real Exam Questions
 
MuleSoft Surat Live Demonstration Virtual Meetup#4 - Automate Anypoint VPC, V...
MuleSoft Surat Live Demonstration Virtual Meetup#4 - Automate Anypoint VPC, V...MuleSoft Surat Live Demonstration Virtual Meetup#4 - Automate Anypoint VPC, V...
MuleSoft Surat Live Demonstration Virtual Meetup#4 - Automate Anypoint VPC, V...
 
Baltimore july2021 final
Baltimore july2021 finalBaltimore july2021 final
Baltimore july2021 final
 
MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...
MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...
MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...
 
NYC MuleSoft Meetup 2019 Q2- MuleSoft for Mobile Applications
NYC MuleSoft Meetup 2019 Q2- MuleSoft for Mobile ApplicationsNYC MuleSoft Meetup 2019 Q2- MuleSoft for Mobile Applications
NYC MuleSoft Meetup 2019 Q2- MuleSoft for Mobile Applications
 
Mule soft meetup_-_finland_july_11th__2020
Mule soft meetup_-_finland_july_11th__2020Mule soft meetup_-_finland_july_11th__2020
Mule soft meetup_-_finland_july_11th__2020
 
Virtual Meetup: Mule 4 Error Handling and Logging
Virtual Meetup: Mule 4 Error Handling and LoggingVirtual Meetup: Mule 4 Error Handling and Logging
Virtual Meetup: Mule 4 Error Handling and Logging
 
Mule Meetup Hyderabad - Aug 2020
Mule Meetup Hyderabad - Aug 2020Mule Meetup Hyderabad - Aug 2020
Mule Meetup Hyderabad - Aug 2020
 

Similaire à MuleSoft Surat Virtual Meetup#6 - MuleSoft API Led Connectivity, SEDA and MUnit Tools and Recorder

WSO2 Test Automation Framework : Approach and Adoption
WSO2 Test Automation Framework : Approach and AdoptionWSO2 Test Automation Framework : Approach and Adoption
WSO2 Test Automation Framework : Approach and Adoption
WSO2
 
TechTalk_Cloud Performance Testing_0.6
TechTalk_Cloud Performance Testing_0.6TechTalk_Cloud Performance Testing_0.6
TechTalk_Cloud Performance Testing_0.6
Sravanthi N
 

Similaire à MuleSoft Surat Virtual Meetup#6 - MuleSoft API Led Connectivity, SEDA and MUnit Tools and Recorder (20)

MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021
 
MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021
 
Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)
 
Migrating from oracle soa suite to microservices on kubernetes
Migrating from oracle soa suite to microservices on kubernetesMigrating from oracle soa suite to microservices on kubernetes
Migrating from oracle soa suite to microservices on kubernetes
 
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
 
How to Choose an Integration Platform Vendor for Your Business
How to Choose an Integration Platform Vendor for Your BusinessHow to Choose an Integration Platform Vendor for Your Business
How to Choose an Integration Platform Vendor for Your Business
 
API Microservices with Node.js and Docker
API Microservices with Node.js and DockerAPI Microservices with Node.js and Docker
API Microservices with Node.js and Docker
 
Azure Application Architecture Guide
Azure Application Architecture GuideAzure Application Architecture Guide
Azure Application Architecture Guide
 
WSO2 Test Automation Framework : Approach and Adoption
WSO2 Test Automation Framework : Approach and AdoptionWSO2 Test Automation Framework : Approach and Adoption
WSO2 Test Automation Framework : Approach and Adoption
 
TechTalk_Cloud Performance Testing_0.6
TechTalk_Cloud Performance Testing_0.6TechTalk_Cloud Performance Testing_0.6
TechTalk_Cloud Performance Testing_0.6
 
Making a Connected Integration Developer Experience using WSO2 Enterprise Int...
Making a Connected Integration Developer Experience using WSO2 Enterprise Int...Making a Connected Integration Developer Experience using WSO2 Enterprise Int...
Making a Connected Integration Developer Experience using WSO2 Enterprise Int...
 
Meetup slide 20_apr
Meetup slide 20_aprMeetup slide 20_apr
Meetup slide 20_apr
 
Modern Testing Strategies for Evolving Ecosystems
Modern Testing Strategies for Evolving EcosystemsModern Testing Strategies for Evolving Ecosystems
Modern Testing Strategies for Evolving Ecosystems
 
Software Architecture for Cloud Infrastructure
Software Architecture for Cloud InfrastructureSoftware Architecture for Cloud Infrastructure
Software Architecture for Cloud Infrastructure
 
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery LabsIncquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
 
Geode Performance Architecture for the Agile Enterprise Using Cloud Native API's
Geode Performance Architecture for the Agile Enterprise Using Cloud Native API'sGeode Performance Architecture for the Agile Enterprise Using Cloud Native API's
Geode Performance Architecture for the Agile Enterprise Using Cloud Native API's
 
RedisConf17 - Dynomite - Making Non-distributed Databases Distributed
RedisConf17 - Dynomite - Making Non-distributed Databases DistributedRedisConf17 - Dynomite - Making Non-distributed Databases Distributed
RedisConf17 - Dynomite - Making Non-distributed Databases Distributed
 
Using Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersUsing Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M users
 
MuleSoft Surat Meetup#40 - Watermarking Concept and Fragments in MuleSoft
MuleSoft Surat Meetup#40 - Watermarking Concept and Fragments in MuleSoftMuleSoft Surat Meetup#40 - Watermarking Concept and Fragments in MuleSoft
MuleSoft Surat Meetup#40 - Watermarking Concept and Fragments in MuleSoft
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 

Plus de Jitendra Bafna

Plus de Jitendra Bafna (20)

MuleSoft Surat Meetup#55 - Unleash the power of Anypoint MQ
MuleSoft Surat Meetup#55 - Unleash the power of Anypoint MQMuleSoft Surat Meetup#55 - Unleash the power of Anypoint MQ
MuleSoft Surat Meetup#55 - Unleash the power of Anypoint MQ
 
MuleSoft Surat Meetup#54 - MuleSoft Automation
MuleSoft Surat Meetup#54 - MuleSoft AutomationMuleSoft Surat Meetup#54 - MuleSoft Automation
MuleSoft Surat Meetup#54 - MuleSoft Automation
 
MuleSoft Surat Meetup#53 - MuleSoft for Clinical Trial Modernization
MuleSoft Surat Meetup#53 - MuleSoft for Clinical Trial ModernizationMuleSoft Surat Meetup#53 - MuleSoft for Clinical Trial Modernization
MuleSoft Surat Meetup#53 - MuleSoft for Clinical Trial Modernization
 
MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...
MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...
MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...
 
MuleSoft Surat Meetup#51 - API Monitoring - Through a New Lens
MuleSoft Surat Meetup#51 - API Monitoring - Through a New LensMuleSoft Surat Meetup#51 - API Monitoring - Through a New Lens
MuleSoft Surat Meetup#51 - API Monitoring - Through a New Lens
 
Engineering Student MuleSoft Meetup#7 - Leveraging MuleSoft Service in Salesf...
Engineering Student MuleSoft Meetup#7 - Leveraging MuleSoft Service in Salesf...Engineering Student MuleSoft Meetup#7 - Leveraging MuleSoft Service in Salesf...
Engineering Student MuleSoft Meetup#7 - Leveraging MuleSoft Service in Salesf...
 
MuleSoft Nashik Meetup#7 - Building FHIR applications in MongoDB using MuleSoft
MuleSoft Nashik Meetup#7 - Building FHIR applications in MongoDB using MuleSoftMuleSoft Nashik Meetup#7 - Building FHIR applications in MongoDB using MuleSoft
MuleSoft Nashik Meetup#7 - Building FHIR applications in MongoDB using MuleSoft
 
MuleSoft Surat Meetup#50 - Ask the MuleSoft Ambassadors + CloudHub 2.0 Overvi...
MuleSoft Surat Meetup#50 - Ask the MuleSoft Ambassadors + CloudHub 2.0 Overvi...MuleSoft Surat Meetup#50 - Ask the MuleSoft Ambassadors + CloudHub 2.0 Overvi...
MuleSoft Surat Meetup#50 - Ask the MuleSoft Ambassadors + CloudHub 2.0 Overvi...
 
MuleSoft Surat Meetup#49 - Robotic Process Automation - Why, Where, When and ...
MuleSoft Surat Meetup#49 - Robotic Process Automation - Why, Where, When and ...MuleSoft Surat Meetup#49 - Robotic Process Automation - Why, Where, When and ...
MuleSoft Surat Meetup#49 - Robotic Process Automation - Why, Where, When and ...
 
MuleSoft Surat Meetup#48 - Anypoint API Governance (RAML, OAS and Async API) ...
MuleSoft Surat Meetup#48 - Anypoint API Governance (RAML, OAS and Async API) ...MuleSoft Surat Meetup#48 - Anypoint API Governance (RAML, OAS and Async API) ...
MuleSoft Surat Meetup#48 - Anypoint API Governance (RAML, OAS and Async API) ...
 
MuleSoft Surat Meetup#47 - Error Handling With MuleSoft
MuleSoft Surat Meetup#47 - Error Handling With MuleSoftMuleSoft Surat Meetup#47 - Error Handling With MuleSoft
MuleSoft Surat Meetup#47 - Error Handling With MuleSoft
 
MuleSoft Surat Meetup#46 - Deep Dive into MUnit With MuleSoft
MuleSoft Surat Meetup#46 - Deep Dive into MUnit With MuleSoftMuleSoft Surat Meetup#46 - Deep Dive into MUnit With MuleSoft
MuleSoft Surat Meetup#46 - Deep Dive into MUnit With MuleSoft
 
MuleSoft Surat Meetup#45 - Anypoint Flex Gateway as a Kubernetes Ingress Cont...
MuleSoft Surat Meetup#45 - Anypoint Flex Gateway as a Kubernetes Ingress Cont...MuleSoft Surat Meetup#45 - Anypoint Flex Gateway as a Kubernetes Ingress Cont...
MuleSoft Surat Meetup#45 - Anypoint Flex Gateway as a Kubernetes Ingress Cont...
 
MuleSoft Surat Meetup#44 - Anypoint Flex Gateway Custom Policies With Rust
MuleSoft Surat Meetup#44 - Anypoint Flex Gateway Custom Policies With RustMuleSoft Surat Meetup#44 - Anypoint Flex Gateway Custom Policies With Rust
MuleSoft Surat Meetup#44 - Anypoint Flex Gateway Custom Policies With Rust
 
Engineering Student MuleSoft Meetup#6 - Basic Understanding of DataWeave With...
Engineering Student MuleSoft Meetup#6 - Basic Understanding of DataWeave With...Engineering Student MuleSoft Meetup#6 - Basic Understanding of DataWeave With...
Engineering Student MuleSoft Meetup#6 - Basic Understanding of DataWeave With...
 
MuleSoft Nashik Meetup#5 - JSON Logger and Externalize Logs
MuleSoft Nashik Meetup#5 - JSON Logger and Externalize LogsMuleSoft Nashik Meetup#5 - JSON Logger and Externalize Logs
MuleSoft Nashik Meetup#5 - JSON Logger and Externalize Logs
 
MuleSoft Surat Meetup#43 - Combine Service Mesh With Anypoint API Management ...
MuleSoft Surat Meetup#43 - Combine Service Mesh With Anypoint API Management ...MuleSoft Surat Meetup#43 - Combine Service Mesh With Anypoint API Management ...
MuleSoft Surat Meetup#43 - Combine Service Mesh With Anypoint API Management ...
 
Engineering Student MuleSoft Meetup#5 - Error Handling With MuleSoft
Engineering Student MuleSoft Meetup#5 - Error Handling With MuleSoftEngineering Student MuleSoft Meetup#5 - Error Handling With MuleSoft
Engineering Student MuleSoft Meetup#5 - Error Handling With MuleSoft
 
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
 
MuleSoft Surat Meetup#41 - Universal API Management, Anypoint Flex Gateway an...
MuleSoft Surat Meetup#41 - Universal API Management, Anypoint Flex Gateway an...MuleSoft Surat Meetup#41 - Universal API Management, Anypoint Flex Gateway an...
MuleSoft Surat Meetup#41 - Universal API Management, Anypoint Flex Gateway an...
 

Dernier

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Dernier (20)

%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 

MuleSoft Surat Virtual Meetup#6 - MuleSoft API Led Connectivity, SEDA and MUnit Tools and Recorder

  • 1. [19th Dec 2020] [Surat] MuleSoft Meetup Group API Led Connectivity, SEDA and MUnit
  • 2. 2 Organizers A SHOW OF HANDS: Who is new to this Meetup? Jitendra Bafna Enterprise Solution Architect Capgemini Nitish Jain Consultant IBM
  • 3. 3 Speakers Mary Joy Sabal Integration Technical Lead Datacom, NZ Shivakant Sahu Solution Architect Apisero
  • 4. Agenda ● Why application testing is important? ● MuleSoft testing framework - MUnit ● Implement Unit Testing Strategies using MUnit Tools ● MUnit Coverage ● Demo – MUnit Test Recorder ● API Led Connectivity and SEDA
  • 5. MUnit Test Strategies and Recorder
  • 6. Why application testing is important? ● We all make mistakes. ● Gives confidence to developers and customers to ensure good quality product is delivered. ● Untested code is broken code. ● Executable documentation of code’s behaviour.
  • 7. Unit Testing ● White-box testing. ● Verifies the functionality of a specific unit. ● Do not require deployment into any special environment, such as a staging environment.
  • 8. MUnit ● MUnit, is a dedicated unit testing tool specifically targeted to testing Mule applications inside a Mule runtime. ● Design and create white-box test cases as Mule flows. ● Each test is itself a Mule flow, using components from the MUnit and MUnit Tools modules.
  • 9. MUnit cont. . . ● Test Flow Structure ● Test Tags ● Test Coverage
  • 10. Implement Unit Testing Strategies using Munit Tools ● For read-only interactions to any dependencies (such as other APIs): allowed to invoke production endpoints ("sociable" unit tests). ● For write interactions: developers must implement mocks using MUnit. ● Assertions about the result are tested and recorded.
  • 11. MUnit Coverage ● Runs only for EE edition runtimes. ● Measurement of how much of a Mule application has been executed by a set of MUnit tests by counting the amount of event processors executed. ● Enable MUnit Coverage 1. Maven 2. Studio ● MUnit Coverage Reports 1. Console 2. HTML 3. JSON 4. Sonar
  • 12. MUnit Coverage Metrics Flows Subflows Batch jobs XML XML XML XML XML Application overall coverage metrics Resource coverage metrics Flow coverage metrics
  • 14. Demo
  • 16. 16 Content 01 02 03 05 04 06 07 09 08 10 API-LED Connectivity Common Approach Limitations with Common Approach Power of API-LED Approach SEDA Architecture Scenarios Synchronous Asynchronous QuestionsExamples
  • 17. 17 • Order data in eCommerce system • Inventory data in SAP • Customer data in SAP, Salesforce Project objective: Web app provides real-time order status and order history for sales team engaging with customers Aggregated customer data Order status Order history Web app API A common project-based Approach
  • 18. 18 Web app API Aggregated customer data Order status Order history On time and within budget Limited opportunity for reuse Tight coupling = brittleness Difficult to govern Meets business requirements ? A common project-based Approach
  • 19. 19 Integration project Aggregated customer data Order status Order history mobile APIMobile API Aggregated customer data Order historyOrder status Web app APIWeb app API 6 months later…
  • 20. 20 • Discoverable and accessible through self-service • Productized and designed for ease of consumption • Easily managed for security, scalability, and performance Modern API Modern API- The core enabler of new model
  • 22. 22 System APIs Process APIs Experience APIs Customers Web app APIMobile API Orders Salesforce customers SAP customers Shipment status Toll shipments UPS shipments Order status Order history The API-LED Connectivity Approach
  • 23. 23 System APIs Process APIs System APIs Process APIs Experience APIs Unlock assets and decentralize access Discover, reuse assets and compose information Discover, self-serve, reuse and consumeDevelopers LOB IT Central IT Enable and empower the entire organization
  • 24. 24 System APIs Process APIs Experience APIs On time and within budget Limited opportunity for reuse Tight coupling = brittleness Difficult to govern Meets business requirements ? Drive outcomes with API-LED Connectivity
  • 25. SEDA – Staged Event Driven Architecture
  • 26. 26 SEDA Architecture Staged, Event-Driven Architecture: ● The architecture upon which Mule was built ● Decouples receiving, processing, and dispatching phase Manage streams and larger-than-memory payloads transparently ● Supports higher levels of parallelism in specific stages of processing ● Allows for more-specific tuning of areas within a flow's architecture
  • 27. 27 SEDA Architecture Inbound Endpoint Message Processor REQ-RES Outbound Endpoint Outbound Endpoint Message Processor FLOW Receiver Thread Pool Flow Thread Pool Dispatcher Thread Pool Synchronous Flow Asynchronous Flow(SEDA Queue) Connector (Common Transport Setting)
  • 28. 28 SEDA Architecture Staged, Event-Driven Architecture: Scenario 1: Inbound Connector is one way Outbound Connector is one way No transaction Flow PROS CONS Uses SEDA model with three fully decoupled stages Flow cannot return a response to the caller Highly Performant Complicates integration with client that need a response
  • 29. 29 SEDA Architecture Scenario 2: Synchronous - Asynchronous mode Receiver thread is exchange pattern Dispatcher thread is one-way PROS CONS Returns the component response to the caller Receiver thread pool can be still overwhelmed by incoming requests Dispatching decoupled from receiving and servicing Receiver Synchronous Flow Dispatcher Asynchronous
  • 30. 30 SEDA Architecture Scenario 3: Synchronous mode PROS CONS Uses SEDA model with three fully decoupled stages All load handled by the connector’s receiver threads Simple to implement Don’t use SEDA queueing Receiver Synchronous Flow Dispatcher synchronous
  • 31. 31 SEDA Architecture Scenario 4: Asynchronous - Synchronous mode PROS CONS Allow synchronous routing in the dispatcher Flow cannot return a response to the caller Receiving decoupled from dispatching and receiving Flow thread pool size constrains the outbound dispatching load capacity Receiver Asynchronous Flow Dispatcher synchronous
  • 32. Introduce yourself to your neighbor Networking time