SlideShare a Scribd company logo
1 of 65
All contents © MuleSoft Inc.
Welcome To MuleSoftMeetup
1
All contents © MuleSoft Inc.
Welcome To MuleSoftMeetup
2
Charlotte MuleSoft Meetup 4
10th Dec 2019
All contents © MuleSoft Inc.
Agenda
3
5:30 PM Introductions & Welcome
5:45 PM Networking + Dinner
6:00 PM API Autodiscovery - API Promotion & by Avinash Vaddi
6:30 PM Munit in Mule 4 by Diane Kesler.
7:00 PM Microservices and its Discoverability, Governance with a Service Mesh by Aravind Ramadugu.
7:30 PM Social Hour
8:00 PM Close
All contents © MuleSoft Inc.
API Autodiscovery - API Promotion
All contents © MuleSoft Inc.
About Autodiscovery
• Autodiscovery is a mechanism used to pair an API in API Manager to
its deployed Mule application.
• Setting up autodiscovery allows API Manager to manage the API.
When set up correctly, it shows the API status, represented as a
green dot if the API is being tracked, or a gray dot if untracked.
All contents © MuleSoft Inc.
All contents © MuleSoft Inc.
About Autodiscovery(Cont..)
• By configuring autodiscovery you can use policy management, and
API Analytics, accessed from within API Manager.
• When autodiscovery is correctly configured in your Mule application
you can say that your application’s API is tracked by or paired to API
Manager.
• An API in a Mule runtime can only be associated with one
autodiscovery instance.
• No two Autodiscoveries can be associated to the same API in a Mule
Runtime.
All contents © MuleSoft Inc.
Prerequisites
• API must exist in API Manager, configured with either a basic
endpoint, or a proxy endpoint.
• Mule must be configured to use Anypoint Platform credentials.
• The autodiscovery element must be configured in your Mule
application. This XML element must point to the specific API in API
manager which you want to pair to.
All contents © MuleSoft Inc.
All contents © MuleSoft Inc.
Manage the API in API manager
• Once the RAML is published in Exchange, it needs to be managed in the
API manager.
• In the API MANAGER tab in Anypoint Platform, click on Manage API and
select Manage API from Exchange.
• Enter the API name. Select Managing type as Basic Endpoint. Check the
box for the Mule version as we are managing it in Mule4.
• Once you save the configuration, the API will visible in the API manager
but the status of the API will be "UNREGISTERED".
• It means that until now, it has not yet been associated with an actual
implementation.
• The most important thing to notice in the API is the API Autodicovery tag.
• This will help us to pair the API in the API Manger to its deployed Mule
Application.
All contents © MuleSoft Inc.
Proxy vs Autodiscovery
• Proxy: When we are creating a Proxy in API Manager we are adding
governance (applying policies, managing traffic, adding
authentication methods, etc.) to an API which already exists and it is
going to consume 0.1 vCore by default.
• There are two main use cases for creating a proxy:
• When the company has in a SOA implementation and has already
created quite a lot of services for which there is no control or
governance.
• When you want to expose data externally and deploy the proxy in a
DMZ following the Gateway pattern.
All contents © MuleSoft Inc.
Proxy vs Autodiscovery(Cont..)
• Auto-Discovery: API auto-discovery is the mechanism to manage
an API from API Manager by pairing the deployed application to an
API created on the platform, regardless of how it was deployed.
Auto-discovery will not consume extra cores since you manage the
Mule API directly.
All contents © MuleSoft Inc.
All contents © MuleSoft Inc.
All contents © MuleSoft Inc.
MUnit is…
• Integrated with Anypoint Studio, allowing you to create, design and run MUnit
tests just like you would Mule applications.
• It provides a full suite of integration and unit test capabilities.
• Integrated with Maven and Surefire for integration with your continuous
deployment environment
What is Munit?
All contents © MuleSoft Inc.
Overview of MUnit
16
With MUnit you can:
• Create your test by writing Mule code
• Minimize manual testing
• Mock processors
• Spy any processor
• Verify processor calls
• Enable or ignore particular tests
• Check visual coverage in Studio
• Generate coverage reports
All contents © MuleSoft Inc.
MUnit Suite Sub Modules
17
• MUnit
MUnit is divided in two main sub modules:
• MUnit Tools
All contents © MuleSoft Inc.
MUnit Operations
MUnit Module
18
• Before Suite - runs BEFORE executing MUnit Test Suite
• Before Test - runs BEFORE executing MUnit Test
• After Test - runs AFTER executing MUnit Test
• After Suite - runs AFTER executing MUnit Test Suite
• Test – adds a new test
• Set Event – sets a mule event
• Set null payload – defines a null payload for testing
All contents © MuleSoft Inc.
MUnit Tools Operations
MUnit Tools Module
19
• Assert - validate the state of a Mule event’s content
– Equals
– Expression
– That
• Mock when - mock an event processor when it matches the
defined name and attributes
• Spy - what happens before/after an event processor is called
• Verify call - verify if a processor was called
• Fail - allows you to fail your test on purpose
• Run custom - custom assertion
All contents © MuleSoft Inc.
Create an MUnit Suite
20
Various ways to create MUnit Tests
Method 1: File>New>MUnit Test Method 2 – Pallet Test Operation
All contents © MuleSoft Inc.
Adding Tests Creates XML
21
Various ways to add MUnit Test RESULTS: XML Creation
Method 3- From Flow
All contents © MuleSoft Inc.
• Behavior Scope
– Meant to set all the preconditions before executing the test logic
– Mocks and spies go in this section
• Execution Scope
– Meant to have the testing logic which will wait for all processes
to finish before executing the next scope
– Run flows in this section
• Validation Scope
– Meant to have all the validations regarding the result of the
execution scope
– Assertions and verifications go here
MUnit Test Scopes
22
All contents © MuleSoft Inc.
Set Event
Set Event Processor
23
– Allows you to define a Mule Event.
– Normally used at the beginning of an
MUnit test, to define the first message
to send to the flow being tested.
– You can define as many properties per
each scope as you need for your test.
All contents © MuleSoft Inc.
Assert that
Assert That Event Processor
24
– Allows you to run assertions to validate the state
of an event’s content
– Can validate the event after the production code
runs
– Uses DataWeave functions called MUnit matchers
to define the assertion conditions for any value
in an expression
– Include the prefix MunitTool:: in the expression
• notNullValue() checks that the expression is not null.
As shown: #[MunitTools::notNullValue()]
All contents © MuleSoft Inc.
Matchers
Assert That MUnit Matchers
25
• Core Matchers - evaluate core values in
the expression
• String Matchers - perform assertions on
String expressions
• Comparable Matchers - compare the
expression against a specified value
• Iterable and Map Matchers - when your
expression is an array or a map of data
• withMediaType(String)
#[MunitTools::withMediaType('text/xml’)]
• containsString(String)
#[MunitTools::containsString('example’)]
• greaterThanOrEqualTo(Comparable)
#[MunitTools::greaterThanOrEqualTo(20)]
• isEmpty()
#[MunitTools::isEmpty()]
Examples
All contents © MuleSoft Inc.
Mock when
Mock When Event Processor
26
• Allows you to mock an event processor when it matches
the defined name and attributes
1) Pick processor
2) Select target processor
3) Select attributes
4) Click OK
All contents © MuleSoft Inc.
Configure “Then return” section
Mock When - Then Return
27
• Configure Then Return to define the type of response
the mocked processor should return
• It could be a payload, a variable, attributes, or even
an error
1) Choose type of response
2) Click Add icon
3) Enter values
4) Click OK
All contents © MuleSoft Inc.
Spy
Spy Event Processor
28
– Allows you to spy what happens before and
after an event processor is called
– Tells MUnit to run a set of instructions before
and/or after the spied event
1) Pick processor
2) Select target processor
3) Select attributes
4) Click OK
All contents © MuleSoft Inc.
Verify Call
Verify Call Event Processor
29
– Allows you to verify if a processor was called
– you can validate if a specific processor has
been called:
• with a particular set of attributes
• a specific number of times
All contents © MuleSoft Inc.
Run MUnit Suite Select src/test/munit>Run As>Munit
Run MUnit Suite
30
• Right click Canvas
• Select Run MUnit suite
All contents © MuleSoft Inc.
Run MUnit Test
31
Run MUnit Test
• Right click In Test
• Select Run MUnit test
All contents © MuleSoft Inc.
DEMO on MUnit
All contents © MuleSoft Inc.
View test results and coverage
MUnit Coverage Report
33
1) All the tests for all test
suites
Green means successful
2) Errors: shows the
reason for test failure
3) Coverage: % of the
flow that were covered
4) Detailed coverage
report.
All contents © MuleSoft Inc.
Failures
Munit Failures
34
Munit Test Suite
FAIL
SUCCESS
All contents © MuleSoft Inc.
TESTING ERRORS
35
For the MUnit test we can configure ‘Expected Error Type’ or ‘Expected Exception’ or both
Validation:Null
All contents © MuleSoft Inc.
DEMO on MUnit RAML APIKit
All contents © MuleSoft Inc.
Anypoint Service Mesh
All contents © MuleSoft Inc.
Increasing demands drive the need for microservices
38
Customer
expectations
Hyper-specialized products
More agile business models
Disruptive
competitors
Microservices
architectures
91% of organizations are using or
planning to use microservices*
All contents © MuleSoft Inc.
Choosing microservices is the easy part...
39
Isolated
expertise
Siloed management and
governance
Custom coded network configs
99%
of organizations adopting
microservices report
challenges*
SAP
Inconsistent
security across
services
All contents © MuleSoft Inc.
Anypoint Service Mesh - Introduction
• Anypoint Service Mesh enables accelerated adoption of microservices by
providing the following features to non-MuleSoft microservices
• Discoverability
• Management
• Security
• Non MuleSoft microservices can be written using different languages and
platforms and gets deployed in various different environments.
• Provides resilient service-to-service communication using zero-trust policies to
handle traffic control, fault tolerance and load balancing
• Extends MuleSoft API Management capabilities to any non-Mule service, with policies,
security and analytics all applied directly from Anypoint Platform
• Amplifies reuse of services with discovery of non-Mule services within Exchange,
available for use in future projects
All contents © MuleSoft Inc.
Anypoint Platform October 2019 Launch
All contents © MuleSoft Inc.
Discoverability and governance with a service mesh
All contents © MuleSoft Inc.
Anypoint Service Mesh - Architecture
All contents © MuleSoft Inc.
Anypoint Service Mesh – Request Flow
1. The client, which might be another microservice or any Kubernetes Ingress component, sends a request to the
service.
2. Envoy captures the request and redirects it to the Istio-mixer.
3. The Mixer adapter then calls the Anypoint Service Mesh adapter to perform policy checks and verifications.
4. The Anypoint Service Mesh adapter performs policy checks and responds back to the Mixer.
5. The Mixer communicates the outcome of the policy checks to the Envoy proxy.
6. When no policy violations are encountered, the request is routed to the microservice. The microservice runs the
service logic and sends the response back to the client.
All contents © MuleSoft Inc.
Anypoint Service Mesh – Prerequisites
• Your Anypoint Service Mesh installation requires the following applications and
Kubernetes environments:
• Kubernetes 1.12+ or a newer cluster, with RBAC (Role-Based Access Control)
enabled
• Helm 2.13.0 or later Tip: To verify installed version, use the helm version. For more
information about how to install Helm, see the Helm installation documentation. .
• Kubectl version 1.12 or later (compatible with the cluster) is installed on your local
machine Tip: To verify installed version, use the kubectl version.
• One of the following environments on which to run Kubernetes:
Google Kubernetes Engine (GKE)
Amazon EKS
Azure Kubernetes Service (AKS)
• Not installed Istio in the cluster
All contents © MuleSoft Inc.
Anypoint Service Mesh – Installation
• To download the Service Mesh software use the
following command.
– curl -
Ls http://anypoint.mulesoft.com/servicemes
h/xapi/v1/install > service-mesh && chmod
+x service-mesh
• Installing Service Mesh:
– ./service-mesh install
– Installer installs Istio, Service Catalog,
Anypoint Service Mesh Broker, and ClusterIP
Service components are installed in your
Kubernetes cluster.
– Enter the Client-id, client-secret and License
file path.
All contents © MuleSoft Inc.
Anypoint Service Mesh – Configuration
• Provision the Adapter
• Check the adapter status.
• ./service-mesh adapter list
• The status values include:
• Ready—The adapter is now ready to be used.
• Failed—The adapter was not created successfully. An
error occurred.
• Provisioning—The adapter is in the process of being
provisioned.
All contents © MuleSoft Inc.
CLI Help for Adapter Commands
Help command for the service-mesh help.
./service-mesh adapter help
All contents © MuleSoft Inc.
Provisioning Adapter
• Determine the adapter size based on the plan.
• From Anypoint Platform, obtain the the client ID and client secret for your
environment
• Command to provision Adapter:
./service-mesh adapter create 
--name=<adapter name> 
--namespace=<adapter namespace> 
--size=<adapter plan size> 
--clientId=<clientId of the environment or organization> 
--clientSecret=<client secret of the environment or organization>  --platformUri=<URL of Anypoint Platform>
• Checking Adapter Status:
• ./service-mesh adapter list
All contents © MuleSoft Inc.
Provisioning Adapter – Contd.
• Review adapter logs to see detailed information about Kubernetes events
and adapter transactions:
• ./service-mesh adapter logs --name=<adapter_name>
--namespace=<namespace>
• To check whether the applications are redeployed, run the following
command:
• kubectl get pods -n <namespace>
All contents © MuleSoft Inc.
Create an API
1. Go to Anypoint Platform > API Manager and select the Manage API drop-down
list.
2. Select Create new API.
3. The Creating an asset page is displayed.
4. Specify the Name, and Asset types details for the API.
5. Your Asset is now created in Exchange for reuse. After you create the Asset, you
are now ready to perform Endpoint configuration.
6. The Endpoint Configuration window is displayed.
7. In the Managing type field, select the Basic Endpoint radio button.
8. In the Application type field, select the Non-Mule application radio button.
All contents © MuleSoft Inc.
Binding APIs with Services
1. Go to Anypoint Platform > API administration, and expand the API version name to
display the instances.
2. Click an instance name and copy the API ID that is displayed. Make sure to save this API ID
to a text editor.
3. To retrieve the service name from Kubernetes, with which you want to bind the API, run the
command:
kubectl get svc -n <namespace>
4. Verify that your microservice port is named following the requirements requested by Istio:
[https://istio.io/docs/setup/additional-setup/requirements/].
5. From the Anypoint Service Mesh installer download location in the Command window, type
the following command to bind the adapter with an application:
All contents © MuleSoft Inc.
Managing APIs with Anypoint Service Mesh
53
• Navigate to API Manager and select the specific API instance.
• From the left navigation, select Policies > Apply New Policy.
• Select any of the following policies to secure your APIs:
– Client ID Enforcement
– JWT Validation
– Rate Limit
– Rate Limit SLA-Based
All contents © MuleSoft Inc.
Managing APIs with Anypoint Service Mesh
54
• After the binding is done we will see the API being registered on the API manager.
All contents © MuleSoft Inc.
DEMO on Service Mesh
All contents © MuleSoft Inc.
Q & A
56
DEMO
Explore our new version
MuleSoft Documentation
All contents © MuleSoft Inc.
Find the answers you need, fast.
58https://docs.mulesoft.com/
The best place to ask questions and help others.
MuleSoft Help Center
All contents © MuleSoft Inc.
15,000+ members ready to help.
60
https://help.mulesoft.com/
• Check out the “MuleSoft
Training” category for all
training and certification-
related questions
All contents © MuleSoft Inc.
Join Charlotte MuleSoft Discussion Group.
61
https://help.mulesoft.com/s/
group/0F92T0000004odaSAA
/charlotte-meetups
• Check out the “Charlotte
MuleSoft Discussion Group.”
category for all your
questions which you want
to discuss within the
Charlotte Group.
All contents © MuleSoft Inc.
Take a stand !
62
• Nominate yourself for the next meetup
speaker and suggest a topic as well.
All contents © MuleSoft Inc.
What’s next
63
• Feedback:
– Contact your organizer Subhash Patel, Aravind Ramadugu or Savannah
Williamson to suggest topics.
– Contact MuleSoft at meetup@mulesoft.com for ways to improve the program.
All contents © MuleSoft Inc.
Please Tweet
64
• Nominate yourself for
the next meetup speaker
and suggest a topic as
well.
Tweet your pictures with the hashtag
#MuleSoftMeetup
Thank you

More Related Content

What's hot

Mule soft meetup_virtual_ charlotte_2020_final1
Mule soft meetup_virtual_ charlotte_2020_final1Mule soft meetup_virtual_ charlotte_2020_final1
Mule soft meetup_virtual_ charlotte_2020_final1Subhash Patel
 
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...Manish Kumar Yadav
 
MuleSoft Clustring, Okta, CI/CD Integration with Jenkins
MuleSoft Clustring, Okta, CI/CD Integration with JenkinsMuleSoft Clustring, Okta, CI/CD Integration with Jenkins
MuleSoft Clustring, Okta, CI/CD Integration with JenkinsManish Kumar Yadav
 
MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...
MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...
MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...Manish Kumar Yadav
 
Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018Ryan Anthony Andal
 
MuleSoft Meetup Virtual_ 2_Charlotte
MuleSoft Meetup Virtual_ 2_CharlotteMuleSoft Meetup Virtual_ 2_Charlotte
MuleSoft Meetup Virtual_ 2_CharlotteSubhash Patel
 
Mumbai MuleSoft Meetup 13
Mumbai MuleSoft Meetup 13Mumbai MuleSoft Meetup 13
Mumbai MuleSoft Meetup 13Akshata Sawant
 
MuleSoft meetup_sg_no2_may19
MuleSoft meetup_sg_no2_may19MuleSoft meetup_sg_no2_may19
MuleSoft meetup_sg_no2_may19Julian Douch
 
Error Handling in Mulesoft
Error Handling in MulesoftError Handling in Mulesoft
Error Handling in MulesoftAmit Singh
 
MuleSoft Manchester Meetup #2 slides 29th October 2019
MuleSoft Manchester Meetup #2 slides 29th October 2019MuleSoft Manchester Meetup #2 slides 29th October 2019
MuleSoft Manchester Meetup #2 slides 29th October 2019Ieva Navickaite
 
MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19Julian Douch
 
Mumbai MuleSoft Meetup 12
Mumbai MuleSoft Meetup 12Mumbai MuleSoft Meetup 12
Mumbai MuleSoft Meetup 12Akshata Sawant
 
Nashik MuleSoft Virtual Meetup#1 - Shared and Dedicated Load Balancer
Nashik MuleSoft Virtual Meetup#1 - Shared and Dedicated Load BalancerNashik MuleSoft Virtual Meetup#1 - Shared and Dedicated Load Balancer
Nashik MuleSoft Virtual Meetup#1 - Shared and Dedicated Load BalancerJitendra Bafna
 
On prem to cloud hub migration (updated)
On prem to cloud hub migration (updated)On prem to cloud hub migration (updated)
On prem to cloud hub migration (updated)Sandeep Deshmukh
 
Kochi mulesoft meetup 02
Kochi mulesoft meetup 02Kochi mulesoft meetup 02
Kochi mulesoft meetup 02sumitahuja94
 
Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4Tejas Purohit
 
Second Caracas MuleSoft Meetup Slides
Second Caracas MuleSoft Meetup SlidesSecond Caracas MuleSoft Meetup Slides
Second Caracas MuleSoft Meetup SlidesFernando Silva
 
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
MuleSoft Meetup Mumbai Mule 4 Presentation SlideMuleSoft Meetup Mumbai Mule 4 Presentation Slide
MuleSoft Meetup Mumbai Mule 4 Presentation SlideManish Kumar Yadav
 
Warsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime FabricWarsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime FabricPatryk Bandurski
 

What's hot (20)

Mule soft meetup_virtual_ charlotte_2020_final1
Mule soft meetup_virtual_ charlotte_2020_final1Mule soft meetup_virtual_ charlotte_2020_final1
Mule soft meetup_virtual_ charlotte_2020_final1
 
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
 
MuleSoft Clustring, Okta, CI/CD Integration with Jenkins
MuleSoft Clustring, Okta, CI/CD Integration with JenkinsMuleSoft Clustring, Okta, CI/CD Integration with Jenkins
MuleSoft Clustring, Okta, CI/CD Integration with Jenkins
 
MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...
MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...
MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...
 
Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018
 
MuleSoft Meetup Virtual_ 2_Charlotte
MuleSoft Meetup Virtual_ 2_CharlotteMuleSoft Meetup Virtual_ 2_Charlotte
MuleSoft Meetup Virtual_ 2_Charlotte
 
Mumbai MuleSoft Meetup 13
Mumbai MuleSoft Meetup 13Mumbai MuleSoft Meetup 13
Mumbai MuleSoft Meetup 13
 
MuleSoft meetup_sg_no2_may19
MuleSoft meetup_sg_no2_may19MuleSoft meetup_sg_no2_may19
MuleSoft meetup_sg_no2_may19
 
Error Handling in Mulesoft
Error Handling in MulesoftError Handling in Mulesoft
Error Handling in Mulesoft
 
MuleSoft Manchester Meetup #2 slides 29th October 2019
MuleSoft Manchester Meetup #2 slides 29th October 2019MuleSoft Manchester Meetup #2 slides 29th October 2019
MuleSoft Manchester Meetup #2 slides 29th October 2019
 
WHISHWORKS-MuleSoft Hyderabad Meetup -Oct 2018
WHISHWORKS-MuleSoft Hyderabad Meetup -Oct 2018WHISHWORKS-MuleSoft Hyderabad Meetup -Oct 2018
WHISHWORKS-MuleSoft Hyderabad Meetup -Oct 2018
 
MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19
 
Mumbai MuleSoft Meetup 12
Mumbai MuleSoft Meetup 12Mumbai MuleSoft Meetup 12
Mumbai MuleSoft Meetup 12
 
Nashik MuleSoft Virtual Meetup#1 - Shared and Dedicated Load Balancer
Nashik MuleSoft Virtual Meetup#1 - Shared and Dedicated Load BalancerNashik MuleSoft Virtual Meetup#1 - Shared and Dedicated Load Balancer
Nashik MuleSoft Virtual Meetup#1 - Shared and Dedicated Load Balancer
 
On prem to cloud hub migration (updated)
On prem to cloud hub migration (updated)On prem to cloud hub migration (updated)
On prem to cloud hub migration (updated)
 
Kochi mulesoft meetup 02
Kochi mulesoft meetup 02Kochi mulesoft meetup 02
Kochi mulesoft meetup 02
 
Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4
 
Second Caracas MuleSoft Meetup Slides
Second Caracas MuleSoft Meetup SlidesSecond Caracas MuleSoft Meetup Slides
Second Caracas MuleSoft Meetup Slides
 
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
MuleSoft Meetup Mumbai Mule 4 Presentation SlideMuleSoft Meetup Mumbai Mule 4 Presentation Slide
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
 
Warsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime FabricWarsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime Fabric
 

Similar to MuleSoft Meetup Charlotte 2019 - Dec 10

MuleSoft Online MeetUp 03_11_2020
MuleSoft Online MeetUp 03_11_2020MuleSoft Online MeetUp 03_11_2020
MuleSoft Online MeetUp 03_11_2020DianeKesler1
 
Mule Testing in Mulesfoft 4.X
Mule Testing in Mulesfoft 4.XMule Testing in Mulesfoft 4.X
Mule Testing in Mulesfoft 4.XAmit Singh
 
Mule Meetup Hyderabad - Aug 2020
Mule Meetup Hyderabad - Aug 2020Mule Meetup Hyderabad - Aug 2020
Mule Meetup Hyderabad - Aug 2020Sravan Lingam
 
Vancouver mulesoft meetup_23-july
Vancouver mulesoft meetup_23-julyVancouver mulesoft meetup_23-july
Vancouver mulesoft meetup_23-julyVikalp Bhalia
 
Stockholm MuleSoft Meetup - Albin Kjellin, 15 Feb 2018
Stockholm MuleSoft Meetup - Albin Kjellin, 15 Feb 2018Stockholm MuleSoft Meetup - Albin Kjellin, 15 Feb 2018
Stockholm MuleSoft Meetup - Albin Kjellin, 15 Feb 2018Ana Chiriţescu
 
Manila MuleSoft Meetup - August 2020
Manila MuleSoft Meetup - August 2020Manila MuleSoft Meetup - August 2020
Manila MuleSoft Meetup - August 2020Ryan Anthony Andal
 
Sydney mule soft meetup 30 april 2020
Sydney mule soft meetup   30 april 2020Sydney mule soft meetup   30 april 2020
Sydney mule soft meetup 30 april 2020Royston Lobo
 
Princeton-NJ-Meetup-Troubleshooting-with-AnyPoint-Monitoring
Princeton-NJ-Meetup-Troubleshooting-with-AnyPoint-MonitoringPrinceton-NJ-Meetup-Troubleshooting-with-AnyPoint-Monitoring
Princeton-NJ-Meetup-Troubleshooting-with-AnyPoint-MonitoringSravan Lingam
 
Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019Zubair Aslam
 
Munit In Mule 4 | Patna MuleSoft Meetup #26
Munit In Mule 4 | Patna MuleSoft Meetup #26Munit In Mule 4 | Patna MuleSoft Meetup #26
Munit In Mule 4 | Patna MuleSoft Meetup #26shyamraj55
 
Engineering Student MuleSoft Meetup#4 - API Testing With MuleSoft
Engineering Student MuleSoft Meetup#4 - API Testing With MuleSoftEngineering Student MuleSoft Meetup#4 - API Testing With MuleSoft
Engineering Student MuleSoft Meetup#4 - API Testing With MuleSoftJitendra Bafna
 
Toronto Virtual Meetup #12 - Testing Strategies and MUnit Test Recorder
Toronto Virtual Meetup #12 - Testing Strategies and MUnit Test RecorderToronto Virtual Meetup #12 - Testing Strategies and MUnit Test Recorder
Toronto Virtual Meetup #12 - Testing Strategies and MUnit Test RecorderAlexandra N. Martinez
 
Vancouver mulesoft meetup_september_2020
Vancouver mulesoft meetup_september_2020Vancouver mulesoft meetup_september_2020
Vancouver mulesoft meetup_september_2020Vikalp Bhalia
 
First Caracas MuleSoft Meetup Slides
First Caracas MuleSoft Meetup SlidesFirst Caracas MuleSoft Meetup Slides
First Caracas MuleSoft Meetup SlidesFernando Silva
 
Mule soft meetup_indonesia_june2020
Mule soft meetup_indonesia_june2020Mule soft meetup_indonesia_june2020
Mule soft meetup_indonesia_june2020WendyTey4
 
6th Manila MuleSoft Meetup May 2020
6th Manila MuleSoft Meetup May 20206th Manila MuleSoft Meetup May 2020
6th Manila MuleSoft Meetup May 2020Christopher Co
 
MuleSoft MUnit Test Recorder Meetup
MuleSoft MUnit Test Recorder MeetupMuleSoft MUnit Test Recorder Meetup
MuleSoft MUnit Test Recorder MeetupAngel Alberici
 
Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptx
Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptxMulesoft Meetup Roma - Monitoring Framework & DevOps.pptx
Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptxAlfonso Martino
 

Similar to MuleSoft Meetup Charlotte 2019 - Dec 10 (20)

MuleSoft Online MeetUp 03_11_2020
MuleSoft Online MeetUp 03_11_2020MuleSoft Online MeetUp 03_11_2020
MuleSoft Online MeetUp 03_11_2020
 
Mule Testing in Mulesfoft 4.X
Mule Testing in Mulesfoft 4.XMule Testing in Mulesfoft 4.X
Mule Testing in Mulesfoft 4.X
 
Mule Meetup Hyderabad - Aug 2020
Mule Meetup Hyderabad - Aug 2020Mule Meetup Hyderabad - Aug 2020
Mule Meetup Hyderabad - Aug 2020
 
Vancouver mulesoft meetup_23-july
Vancouver mulesoft meetup_23-julyVancouver mulesoft meetup_23-july
Vancouver mulesoft meetup_23-july
 
Stockholm MuleSoft Meetup - Albin Kjellin, 15 Feb 2018
Stockholm MuleSoft Meetup - Albin Kjellin, 15 Feb 2018Stockholm MuleSoft Meetup - Albin Kjellin, 15 Feb 2018
Stockholm MuleSoft Meetup - Albin Kjellin, 15 Feb 2018
 
Manila MuleSoft Meetup - August 2020
Manila MuleSoft Meetup - August 2020Manila MuleSoft Meetup - August 2020
Manila MuleSoft Meetup - August 2020
 
Mule soft indore meetup 2
Mule soft indore meetup 2Mule soft indore meetup 2
Mule soft indore meetup 2
 
Sydney mule soft meetup 30 april 2020
Sydney mule soft meetup   30 april 2020Sydney mule soft meetup   30 april 2020
Sydney mule soft meetup 30 april 2020
 
Princeton-NJ-Meetup-Troubleshooting-with-AnyPoint-Monitoring
Princeton-NJ-Meetup-Troubleshooting-with-AnyPoint-MonitoringPrinceton-NJ-Meetup-Troubleshooting-with-AnyPoint-Monitoring
Princeton-NJ-Meetup-Troubleshooting-with-AnyPoint-Monitoring
 
Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019
 
Munit In Mule 4 | Patna MuleSoft Meetup #26
Munit In Mule 4 | Patna MuleSoft Meetup #26Munit In Mule 4 | Patna MuleSoft Meetup #26
Munit In Mule 4 | Patna MuleSoft Meetup #26
 
Engineering Student MuleSoft Meetup#4 - API Testing With MuleSoft
Engineering Student MuleSoft Meetup#4 - API Testing With MuleSoftEngineering Student MuleSoft Meetup#4 - API Testing With MuleSoft
Engineering Student MuleSoft Meetup#4 - API Testing With MuleSoft
 
Chicago meetup-14-may 2020
Chicago meetup-14-may 2020Chicago meetup-14-may 2020
Chicago meetup-14-may 2020
 
Toronto Virtual Meetup #12 - Testing Strategies and MUnit Test Recorder
Toronto Virtual Meetup #12 - Testing Strategies and MUnit Test RecorderToronto Virtual Meetup #12 - Testing Strategies and MUnit Test Recorder
Toronto Virtual Meetup #12 - Testing Strategies and MUnit Test Recorder
 
Vancouver mulesoft meetup_september_2020
Vancouver mulesoft meetup_september_2020Vancouver mulesoft meetup_september_2020
Vancouver mulesoft meetup_september_2020
 
First Caracas MuleSoft Meetup Slides
First Caracas MuleSoft Meetup SlidesFirst Caracas MuleSoft Meetup Slides
First Caracas MuleSoft Meetup Slides
 
Mule soft meetup_indonesia_june2020
Mule soft meetup_indonesia_june2020Mule soft meetup_indonesia_june2020
Mule soft meetup_indonesia_june2020
 
6th Manila MuleSoft Meetup May 2020
6th Manila MuleSoft Meetup May 20206th Manila MuleSoft Meetup May 2020
6th Manila MuleSoft Meetup May 2020
 
MuleSoft MUnit Test Recorder Meetup
MuleSoft MUnit Test Recorder MeetupMuleSoft MUnit Test Recorder Meetup
MuleSoft MUnit Test Recorder Meetup
 
Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptx
Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptxMulesoft Meetup Roma - Monitoring Framework & DevOps.pptx
Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptx
 

Recently uploaded

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 

Recently uploaded (20)

Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 

MuleSoft Meetup Charlotte 2019 - Dec 10

  • 1. All contents © MuleSoft Inc. Welcome To MuleSoftMeetup 1
  • 2. All contents © MuleSoft Inc. Welcome To MuleSoftMeetup 2 Charlotte MuleSoft Meetup 4 10th Dec 2019
  • 3. All contents © MuleSoft Inc. Agenda 3 5:30 PM Introductions & Welcome 5:45 PM Networking + Dinner 6:00 PM API Autodiscovery - API Promotion & by Avinash Vaddi 6:30 PM Munit in Mule 4 by Diane Kesler. 7:00 PM Microservices and its Discoverability, Governance with a Service Mesh by Aravind Ramadugu. 7:30 PM Social Hour 8:00 PM Close
  • 4. All contents © MuleSoft Inc. API Autodiscovery - API Promotion
  • 5. All contents © MuleSoft Inc. About Autodiscovery • Autodiscovery is a mechanism used to pair an API in API Manager to its deployed Mule application. • Setting up autodiscovery allows API Manager to manage the API. When set up correctly, it shows the API status, represented as a green dot if the API is being tracked, or a gray dot if untracked.
  • 6. All contents © MuleSoft Inc.
  • 7. All contents © MuleSoft Inc. About Autodiscovery(Cont..) • By configuring autodiscovery you can use policy management, and API Analytics, accessed from within API Manager. • When autodiscovery is correctly configured in your Mule application you can say that your application’s API is tracked by or paired to API Manager. • An API in a Mule runtime can only be associated with one autodiscovery instance. • No two Autodiscoveries can be associated to the same API in a Mule Runtime.
  • 8. All contents © MuleSoft Inc. Prerequisites • API must exist in API Manager, configured with either a basic endpoint, or a proxy endpoint. • Mule must be configured to use Anypoint Platform credentials. • The autodiscovery element must be configured in your Mule application. This XML element must point to the specific API in API manager which you want to pair to.
  • 9. All contents © MuleSoft Inc.
  • 10. All contents © MuleSoft Inc. Manage the API in API manager • Once the RAML is published in Exchange, it needs to be managed in the API manager. • In the API MANAGER tab in Anypoint Platform, click on Manage API and select Manage API from Exchange. • Enter the API name. Select Managing type as Basic Endpoint. Check the box for the Mule version as we are managing it in Mule4. • Once you save the configuration, the API will visible in the API manager but the status of the API will be "UNREGISTERED". • It means that until now, it has not yet been associated with an actual implementation. • The most important thing to notice in the API is the API Autodicovery tag. • This will help us to pair the API in the API Manger to its deployed Mule Application.
  • 11. All contents © MuleSoft Inc. Proxy vs Autodiscovery • Proxy: When we are creating a Proxy in API Manager we are adding governance (applying policies, managing traffic, adding authentication methods, etc.) to an API which already exists and it is going to consume 0.1 vCore by default. • There are two main use cases for creating a proxy: • When the company has in a SOA implementation and has already created quite a lot of services for which there is no control or governance. • When you want to expose data externally and deploy the proxy in a DMZ following the Gateway pattern.
  • 12. All contents © MuleSoft Inc. Proxy vs Autodiscovery(Cont..) • Auto-Discovery: API auto-discovery is the mechanism to manage an API from API Manager by pairing the deployed application to an API created on the platform, regardless of how it was deployed. Auto-discovery will not consume extra cores since you manage the Mule API directly.
  • 13. All contents © MuleSoft Inc.
  • 14. All contents © MuleSoft Inc.
  • 15. All contents © MuleSoft Inc. MUnit is… • Integrated with Anypoint Studio, allowing you to create, design and run MUnit tests just like you would Mule applications. • It provides a full suite of integration and unit test capabilities. • Integrated with Maven and Surefire for integration with your continuous deployment environment What is Munit?
  • 16. All contents © MuleSoft Inc. Overview of MUnit 16 With MUnit you can: • Create your test by writing Mule code • Minimize manual testing • Mock processors • Spy any processor • Verify processor calls • Enable or ignore particular tests • Check visual coverage in Studio • Generate coverage reports
  • 17. All contents © MuleSoft Inc. MUnit Suite Sub Modules 17 • MUnit MUnit is divided in two main sub modules: • MUnit Tools
  • 18. All contents © MuleSoft Inc. MUnit Operations MUnit Module 18 • Before Suite - runs BEFORE executing MUnit Test Suite • Before Test - runs BEFORE executing MUnit Test • After Test - runs AFTER executing MUnit Test • After Suite - runs AFTER executing MUnit Test Suite • Test – adds a new test • Set Event – sets a mule event • Set null payload – defines a null payload for testing
  • 19. All contents © MuleSoft Inc. MUnit Tools Operations MUnit Tools Module 19 • Assert - validate the state of a Mule event’s content – Equals – Expression – That • Mock when - mock an event processor when it matches the defined name and attributes • Spy - what happens before/after an event processor is called • Verify call - verify if a processor was called • Fail - allows you to fail your test on purpose • Run custom - custom assertion
  • 20. All contents © MuleSoft Inc. Create an MUnit Suite 20 Various ways to create MUnit Tests Method 1: File>New>MUnit Test Method 2 – Pallet Test Operation
  • 21. All contents © MuleSoft Inc. Adding Tests Creates XML 21 Various ways to add MUnit Test RESULTS: XML Creation Method 3- From Flow
  • 22. All contents © MuleSoft Inc. • Behavior Scope – Meant to set all the preconditions before executing the test logic – Mocks and spies go in this section • Execution Scope – Meant to have the testing logic which will wait for all processes to finish before executing the next scope – Run flows in this section • Validation Scope – Meant to have all the validations regarding the result of the execution scope – Assertions and verifications go here MUnit Test Scopes 22
  • 23. All contents © MuleSoft Inc. Set Event Set Event Processor 23 – Allows you to define a Mule Event. – Normally used at the beginning of an MUnit test, to define the first message to send to the flow being tested. – You can define as many properties per each scope as you need for your test.
  • 24. All contents © MuleSoft Inc. Assert that Assert That Event Processor 24 – Allows you to run assertions to validate the state of an event’s content – Can validate the event after the production code runs – Uses DataWeave functions called MUnit matchers to define the assertion conditions for any value in an expression – Include the prefix MunitTool:: in the expression • notNullValue() checks that the expression is not null. As shown: #[MunitTools::notNullValue()]
  • 25. All contents © MuleSoft Inc. Matchers Assert That MUnit Matchers 25 • Core Matchers - evaluate core values in the expression • String Matchers - perform assertions on String expressions • Comparable Matchers - compare the expression against a specified value • Iterable and Map Matchers - when your expression is an array or a map of data • withMediaType(String) #[MunitTools::withMediaType('text/xml’)] • containsString(String) #[MunitTools::containsString('example’)] • greaterThanOrEqualTo(Comparable) #[MunitTools::greaterThanOrEqualTo(20)] • isEmpty() #[MunitTools::isEmpty()] Examples
  • 26. All contents © MuleSoft Inc. Mock when Mock When Event Processor 26 • Allows you to mock an event processor when it matches the defined name and attributes 1) Pick processor 2) Select target processor 3) Select attributes 4) Click OK
  • 27. All contents © MuleSoft Inc. Configure “Then return” section Mock When - Then Return 27 • Configure Then Return to define the type of response the mocked processor should return • It could be a payload, a variable, attributes, or even an error 1) Choose type of response 2) Click Add icon 3) Enter values 4) Click OK
  • 28. All contents © MuleSoft Inc. Spy Spy Event Processor 28 – Allows you to spy what happens before and after an event processor is called – Tells MUnit to run a set of instructions before and/or after the spied event 1) Pick processor 2) Select target processor 3) Select attributes 4) Click OK
  • 29. All contents © MuleSoft Inc. Verify Call Verify Call Event Processor 29 – Allows you to verify if a processor was called – you can validate if a specific processor has been called: • with a particular set of attributes • a specific number of times
  • 30. All contents © MuleSoft Inc. Run MUnit Suite Select src/test/munit>Run As>Munit Run MUnit Suite 30 • Right click Canvas • Select Run MUnit suite
  • 31. All contents © MuleSoft Inc. Run MUnit Test 31 Run MUnit Test • Right click In Test • Select Run MUnit test
  • 32. All contents © MuleSoft Inc. DEMO on MUnit
  • 33. All contents © MuleSoft Inc. View test results and coverage MUnit Coverage Report 33 1) All the tests for all test suites Green means successful 2) Errors: shows the reason for test failure 3) Coverage: % of the flow that were covered 4) Detailed coverage report.
  • 34. All contents © MuleSoft Inc. Failures Munit Failures 34 Munit Test Suite FAIL SUCCESS
  • 35. All contents © MuleSoft Inc. TESTING ERRORS 35 For the MUnit test we can configure ‘Expected Error Type’ or ‘Expected Exception’ or both Validation:Null
  • 36. All contents © MuleSoft Inc. DEMO on MUnit RAML APIKit
  • 37. All contents © MuleSoft Inc. Anypoint Service Mesh
  • 38. All contents © MuleSoft Inc. Increasing demands drive the need for microservices 38 Customer expectations Hyper-specialized products More agile business models Disruptive competitors Microservices architectures 91% of organizations are using or planning to use microservices*
  • 39. All contents © MuleSoft Inc. Choosing microservices is the easy part... 39 Isolated expertise Siloed management and governance Custom coded network configs 99% of organizations adopting microservices report challenges* SAP Inconsistent security across services
  • 40. All contents © MuleSoft Inc. Anypoint Service Mesh - Introduction • Anypoint Service Mesh enables accelerated adoption of microservices by providing the following features to non-MuleSoft microservices • Discoverability • Management • Security • Non MuleSoft microservices can be written using different languages and platforms and gets deployed in various different environments. • Provides resilient service-to-service communication using zero-trust policies to handle traffic control, fault tolerance and load balancing • Extends MuleSoft API Management capabilities to any non-Mule service, with policies, security and analytics all applied directly from Anypoint Platform • Amplifies reuse of services with discovery of non-Mule services within Exchange, available for use in future projects
  • 41. All contents © MuleSoft Inc. Anypoint Platform October 2019 Launch
  • 42. All contents © MuleSoft Inc. Discoverability and governance with a service mesh
  • 43. All contents © MuleSoft Inc. Anypoint Service Mesh - Architecture
  • 44. All contents © MuleSoft Inc. Anypoint Service Mesh – Request Flow 1. The client, which might be another microservice or any Kubernetes Ingress component, sends a request to the service. 2. Envoy captures the request and redirects it to the Istio-mixer. 3. The Mixer adapter then calls the Anypoint Service Mesh adapter to perform policy checks and verifications. 4. The Anypoint Service Mesh adapter performs policy checks and responds back to the Mixer. 5. The Mixer communicates the outcome of the policy checks to the Envoy proxy. 6. When no policy violations are encountered, the request is routed to the microservice. The microservice runs the service logic and sends the response back to the client.
  • 45. All contents © MuleSoft Inc. Anypoint Service Mesh – Prerequisites • Your Anypoint Service Mesh installation requires the following applications and Kubernetes environments: • Kubernetes 1.12+ or a newer cluster, with RBAC (Role-Based Access Control) enabled • Helm 2.13.0 or later Tip: To verify installed version, use the helm version. For more information about how to install Helm, see the Helm installation documentation. . • Kubectl version 1.12 or later (compatible with the cluster) is installed on your local machine Tip: To verify installed version, use the kubectl version. • One of the following environments on which to run Kubernetes: Google Kubernetes Engine (GKE) Amazon EKS Azure Kubernetes Service (AKS) • Not installed Istio in the cluster
  • 46. All contents © MuleSoft Inc. Anypoint Service Mesh – Installation • To download the Service Mesh software use the following command. – curl - Ls http://anypoint.mulesoft.com/servicemes h/xapi/v1/install > service-mesh && chmod +x service-mesh • Installing Service Mesh: – ./service-mesh install – Installer installs Istio, Service Catalog, Anypoint Service Mesh Broker, and ClusterIP Service components are installed in your Kubernetes cluster. – Enter the Client-id, client-secret and License file path.
  • 47. All contents © MuleSoft Inc. Anypoint Service Mesh – Configuration • Provision the Adapter • Check the adapter status. • ./service-mesh adapter list • The status values include: • Ready—The adapter is now ready to be used. • Failed—The adapter was not created successfully. An error occurred. • Provisioning—The adapter is in the process of being provisioned.
  • 48. All contents © MuleSoft Inc. CLI Help for Adapter Commands Help command for the service-mesh help. ./service-mesh adapter help
  • 49. All contents © MuleSoft Inc. Provisioning Adapter • Determine the adapter size based on the plan. • From Anypoint Platform, obtain the the client ID and client secret for your environment • Command to provision Adapter: ./service-mesh adapter create --name=<adapter name> --namespace=<adapter namespace> --size=<adapter plan size> --clientId=<clientId of the environment or organization> --clientSecret=<client secret of the environment or organization> --platformUri=<URL of Anypoint Platform> • Checking Adapter Status: • ./service-mesh adapter list
  • 50. All contents © MuleSoft Inc. Provisioning Adapter – Contd. • Review adapter logs to see detailed information about Kubernetes events and adapter transactions: • ./service-mesh adapter logs --name=<adapter_name> --namespace=<namespace> • To check whether the applications are redeployed, run the following command: • kubectl get pods -n <namespace>
  • 51. All contents © MuleSoft Inc. Create an API 1. Go to Anypoint Platform > API Manager and select the Manage API drop-down list. 2. Select Create new API. 3. The Creating an asset page is displayed. 4. Specify the Name, and Asset types details for the API. 5. Your Asset is now created in Exchange for reuse. After you create the Asset, you are now ready to perform Endpoint configuration. 6. The Endpoint Configuration window is displayed. 7. In the Managing type field, select the Basic Endpoint radio button. 8. In the Application type field, select the Non-Mule application radio button.
  • 52. All contents © MuleSoft Inc. Binding APIs with Services 1. Go to Anypoint Platform > API administration, and expand the API version name to display the instances. 2. Click an instance name and copy the API ID that is displayed. Make sure to save this API ID to a text editor. 3. To retrieve the service name from Kubernetes, with which you want to bind the API, run the command: kubectl get svc -n <namespace> 4. Verify that your microservice port is named following the requirements requested by Istio: [https://istio.io/docs/setup/additional-setup/requirements/]. 5. From the Anypoint Service Mesh installer download location in the Command window, type the following command to bind the adapter with an application:
  • 53. All contents © MuleSoft Inc. Managing APIs with Anypoint Service Mesh 53 • Navigate to API Manager and select the specific API instance. • From the left navigation, select Policies > Apply New Policy. • Select any of the following policies to secure your APIs: – Client ID Enforcement – JWT Validation – Rate Limit – Rate Limit SLA-Based
  • 54. All contents © MuleSoft Inc. Managing APIs with Anypoint Service Mesh 54 • After the binding is done we will see the API being registered on the API manager.
  • 55. All contents © MuleSoft Inc. DEMO on Service Mesh
  • 56. All contents © MuleSoft Inc. Q & A 56 DEMO
  • 57. Explore our new version MuleSoft Documentation
  • 58. All contents © MuleSoft Inc. Find the answers you need, fast. 58https://docs.mulesoft.com/
  • 59. The best place to ask questions and help others. MuleSoft Help Center
  • 60. All contents © MuleSoft Inc. 15,000+ members ready to help. 60 https://help.mulesoft.com/ • Check out the “MuleSoft Training” category for all training and certification- related questions
  • 61. All contents © MuleSoft Inc. Join Charlotte MuleSoft Discussion Group. 61 https://help.mulesoft.com/s/ group/0F92T0000004odaSAA /charlotte-meetups • Check out the “Charlotte MuleSoft Discussion Group.” category for all your questions which you want to discuss within the Charlotte Group.
  • 62. All contents © MuleSoft Inc. Take a stand ! 62 • Nominate yourself for the next meetup speaker and suggest a topic as well.
  • 63. All contents © MuleSoft Inc. What’s next 63 • Feedback: – Contact your organizer Subhash Patel, Aravind Ramadugu or Savannah Williamson to suggest topics. – Contact MuleSoft at meetup@mulesoft.com for ways to improve the program.
  • 64. All contents © MuleSoft Inc. Please Tweet 64 • Nominate yourself for the next meetup speaker and suggest a topic as well. Tweet your pictures with the hashtag #MuleSoftMeetup