SlideShare a Scribd company logo
1 of 31
9th November 2019
Bangalore MeetUp Community
Networking time
Introduce yourself to your Neighbours!
All contents © MuleSoft Inc.
Agenda
3
10:30AM - 10:45 AM : Short Introductions
11:15AM - 11:45 PM : Developing An OData Enabled API In Mule
11:45AM - 12:15 PM : Thread Management & Auto-Tuning in Mule 4
12:15 PM - 12:45PM : Open forum discussion and Q&A
12:45PM - 1:00PM : Wrap up
1:00 PM : Snack Time
All contents © MuleSoft Inc.
CHEERS..!!
4
We have prizes to give away!
As a Token for your Positive Participation and Enthusiasm
A SHOW OF HANDS:
New Members With Us.!!
Developing An OData Enabled API In Mule
All contents © MuleSoft Inc.
Agenda
6
 What is OData ?
 Why the organizations adopting OData ?
 Prerequisites
 Anotomy Of URL
 Demo
 Q&A
All contents © MuleSoft Inc.
What is OData ?
• It is an open data protocol , or OData built upon REST principles to
allow the creation and consumption of querable RESTful API’s.
•It is built upon EDM(Entity Data Model) data model and any client can
access metadata over the URL .
All contents © MuleSoft Inc.
Why Organizations are adopting OData
8
 Operations are built upon REST principles.
 Easy access of metadata .
 OData is easy to learn , if we know SQL.
 It is open source , flexible and light-weight .
All contents © MuleSoft Inc.
Prerequisites
9
The following software is required for creating and using an OData-enabled API
with APIkit:
 OData Plugin
 Mule EE 4.1.1 and later
 Anypoint Studio 7.1.4 and later
 Maven
Installing the APIKit OData Extension
https://docs.mulesoft.com/apikit/4.x/creating-an-odata-api-with-apikit
All contents © MuleSoft Inc.
Anatomy of URL
10
http://localhost:8081/api/odata.svc/customers(1)/products?$select=CompanyName&&$filter=CompanyName eq 'Bottom-Dollar'​
Source Root URI : http://localhost:8081/api/odata.svc/​
Resource path : customers(1)/products
Query options : $select=CompanyName&&$filter=CompanyName eq 'Bottom-Dollar'
All contents © MuleSoft Inc.
Demo
 Synchronizing Data between Mysql and Salesforce
Using OData API
 Generating BI report in Tableau using OData API
All contents © MuleSoft Inc. 12
All contents © MuleSoft Inc. 13
All contents © MuleSoft Inc. 14
Thread Management &
Auto-Tuning
in
Mule 4
Gaurav & Swapnil
All contents © MuleSoft Inc.
Agenda
16
 Thread Management and How it is done in Mule 4?
 Different Thread Pools in Mule 4
 Live Interactive Example Plus Demo
 Q&A
All contents © MuleSoft Inc.
Centralized Thread Pools
• Mule 4 eradicates the need for manual thread pool configuration as
this is done automatically by the Mule runtime.
• Thread pools are no longer configurable at the level of a Mule
application. We now have three centralized pools:
 CPU_INTENSIVE
 CPU_LITE
 BLOCKING_IO
• Mule 4 optimizes the execution of a flow to avoid unnecessary
thread switches.
All contents © MuleSoft Inc.
HTTP Thread Pools
• The Mule 4 HTTP module uses Grizzly under the covers, which needs
selector thread pools configured.
• The concept of selector threads was introduced with J2SE 1.4 release, that
introduced JAVA NIO (Non Blocking I/O), which checks the state of NIO
channels and create and dispatch events when they arrive
• HTTP Listener selectors poll for request events only.
HTTP Requester selectors poll for response events only.
All contents © MuleSoft Inc.
HTTP Thread Pools (contd..)
• There is a Special Thread Pool for the HTTP Listener as well as HTTP
Requester.!!
• Configured at the Mule runtime level and shared by all applications
deployed to that runtime.
• 2 applications on one runtime both using an HTTP Requester will have
one selector pool each for that HTTP Requester. Same goes for HTTP
Listener.
All contents © MuleSoft Inc.
Thread pool responsibilities
• The source of the flow and each event processor must execute in a
thread that is taken from 1 of the 3 centralized thread pools (plus
selector threads needed by HTTP Listener and Requester)
• The task accomplished by an event processor is either 100%
nonblocking, partially blocking, or mostly blocking.
All contents © MuleSoft Inc.
Thread pool responsibilities (contd..)
• The CPU_LITE pool is for tasks that are 100% non-blocking and take <
10ms to complete.
• The CPU_INTENSIVE pool is for tasks that take > 10ms and are
potentially blocking less than 20% of the clock time.
• The BLOCKING_IO pool is for tasks that are blocked most of the time.
All contents © MuleSoft Inc.
Thread pool sizing
• The minimum size of the three thread pools is determined when the
Mule runtime starts up.
• The minimum size of the shared Grizzly pool for the HTTP Listener is
determined upon the deployment of the first app to the Mule runtime
that uses an HTTP Listener.
• The size of the dedicated Grizzly for the HTTP Requester pool is
determined upon deployment of each app that uses an HTTP Requester.
All contents © MuleSoft Inc.
Thread pool sizing (contd..)
• The minimum size of the three thread pools is determined when the
Mule runtime starts up.
• In all cases, the min no.
of threads equal the no. of
CPU cores available to the
Mule runtime.
• The size of the dedicated
Grizzly for HTTP Requester
pool is determined upon
deployment of each app that uses an HTTP Requester.
All contents © MuleSoft Inc.
Thread pool sizing (contd..)
• For a Mule runtime sitting on a 2 core / 1 Gig machine or container,
the following table shows what the minimum and maximum values
are for each thread pool –
All contents © MuleSoft Inc.
Thread Pool Scheduler Assignment Criteria
• Each of the five pools discussed previously has its own Scheduler.
When a Mule 4 app is deployed each of its event processors is
assigned a Scheduler following the criteria as –
All contents © MuleSoft Inc.
Mule Runtime Example for Consumption Of Thread Pools
All contents © MuleSoft Inc.All contents © MuleSoft Inc.
Quiz
15
Q&A
All contents © MuleSoft Inc.
What’s next
29
• Share:
– Tweet your pictures with the hashtag #BangaloreMuleMeetup
– Share the pics in WhatsApp group
• Let the community know you.. 
– Invite your network to join: https://meetups.mulesoft.com/bangalore/
• Feedback:
– Contact either Rajesh, Gaurav, Pruthvi or, Swapnil to suggest topics for
next meetup
– Contact MuleSoft at meetup@mulesoft.com for ways to improve the
program
THANK YOU
Meetup bangalore 9_novupdated

More Related Content

What's hot

SAP TechEd 2013 session Tec118 managing your-environment
SAP TechEd 2013 session Tec118 managing your-environmentSAP TechEd 2013 session Tec118 managing your-environment
SAP TechEd 2013 session Tec118 managing your-environmentChris Kernaghan
 
CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef CookbooksCIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef CookbooksICF CIRCUIT
 
Apache Knox setup and hive and hdfs Access using KNOX
Apache Knox setup and hive and hdfs Access using KNOXApache Knox setup and hive and hdfs Access using KNOX
Apache Knox setup and hive and hdfs Access using KNOXAbhishek Mallick
 
Managing Enterprise Hadoop Clusters with Apache Ambari
Managing Enterprise Hadoop Clusters with Apache AmbariManaging Enterprise Hadoop Clusters with Apache Ambari
Managing Enterprise Hadoop Clusters with Apache AmbariJayush Luniya
 
Kubernetes Boston — Custom High Availability of Kubernetes
Kubernetes Boston — Custom High Availability of KubernetesKubernetes Boston — Custom High Availability of Kubernetes
Kubernetes Boston — Custom High Availability of KubernetesMike Splain
 
Chef Tutorial for DEVOPS Newbies
Chef Tutorial for DEVOPS NewbiesChef Tutorial for DEVOPS Newbies
Chef Tutorial for DEVOPS NewbiesMamun Rashid, CCDH
 
Altitude SF 2017: Advanced VCL: Shielding and Clustering
Altitude SF 2017: Advanced VCL: Shielding and ClusteringAltitude SF 2017: Advanced VCL: Shielding and Clustering
Altitude SF 2017: Advanced VCL: Shielding and ClusteringFastly
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Edureka!
 
Chef-Zero & Local Mode
Chef-Zero & Local ModeChef-Zero & Local Mode
Chef-Zero & Local ModeMichael Goetz
 
Altitude SF 2017: Security at the edge
Altitude SF 2017: Security at the edgeAltitude SF 2017: Security at the edge
Altitude SF 2017: Security at the edgeFastly
 
RESTful web apps with Apache Sling - 2013 version
RESTful web apps with Apache Sling - 2013 versionRESTful web apps with Apache Sling - 2013 version
RESTful web apps with Apache Sling - 2013 versionBertrand Delacretaz
 
Aem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAshokkumar T A
 
Terraform day 3
Terraform day 3Terraform day 3
Terraform day 3Kalkey
 
CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkBo-Yi Wu
 
Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Chef
 
Introducing in-house PaaS in SmartNews
Introducing in-house PaaS in SmartNewsIntroducing in-house PaaS in SmartNews
Introducing in-house PaaS in SmartNewsNobutoshi Ogata
 

What's hot (20)

Chef fundamentals
Chef fundamentalsChef fundamentals
Chef fundamentals
 
SAP TechEd 2013 session Tec118 managing your-environment
SAP TechEd 2013 session Tec118 managing your-environmentSAP TechEd 2013 session Tec118 managing your-environment
SAP TechEd 2013 session Tec118 managing your-environment
 
Final terraform
Final terraformFinal terraform
Final terraform
 
CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef CookbooksCIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
 
Apache Knox setup and hive and hdfs Access using KNOX
Apache Knox setup and hive and hdfs Access using KNOXApache Knox setup and hive and hdfs Access using KNOX
Apache Knox setup and hive and hdfs Access using KNOX
 
Managing Enterprise Hadoop Clusters with Apache Ambari
Managing Enterprise Hadoop Clusters with Apache AmbariManaging Enterprise Hadoop Clusters with Apache Ambari
Managing Enterprise Hadoop Clusters with Apache Ambari
 
Kubernetes Boston — Custom High Availability of Kubernetes
Kubernetes Boston — Custom High Availability of KubernetesKubernetes Boston — Custom High Availability of Kubernetes
Kubernetes Boston — Custom High Availability of Kubernetes
 
Chef Tutorial for DEVOPS Newbies
Chef Tutorial for DEVOPS NewbiesChef Tutorial for DEVOPS Newbies
Chef Tutorial for DEVOPS Newbies
 
Altitude SF 2017: Advanced VCL: Shielding and Clustering
Altitude SF 2017: Advanced VCL: Shielding and ClusteringAltitude SF 2017: Advanced VCL: Shielding and Clustering
Altitude SF 2017: Advanced VCL: Shielding and Clustering
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
 
Basics Of Servlet
Basics Of ServletBasics Of Servlet
Basics Of Servlet
 
Chef-Zero & Local Mode
Chef-Zero & Local ModeChef-Zero & Local Mode
Chef-Zero & Local Mode
 
Altitude SF 2017: Security at the edge
Altitude SF 2017: Security at the edgeAltitude SF 2017: Security at the edge
Altitude SF 2017: Security at the edge
 
Deploying SharePoint @ Cloud
Deploying SharePoint @ CloudDeploying SharePoint @ Cloud
Deploying SharePoint @ Cloud
 
RESTful web apps with Apache Sling - 2013 version
RESTful web apps with Apache Sling - 2013 versionRESTful web apps with Apache Sling - 2013 version
RESTful web apps with Apache Sling - 2013 version
 
Aem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAem dispatcher – tips & tricks
Aem dispatcher – tips & tricks
 
Terraform day 3
Terraform day 3Terraform day 3
Terraform day 3
 
CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC Framework
 
Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1
 
Introducing in-house PaaS in SmartNews
Introducing in-house PaaS in SmartNewsIntroducing in-house PaaS in SmartNews
Introducing in-house PaaS in SmartNews
 

Similar to Meetup bangalore 9_novupdated

Flow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECT
Flow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECTFlow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECT
Flow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECTSabrina Marechal
 
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
MuleSoft Meetup Singapore - Reliable Messaging & RTF OperationsMuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
MuleSoft Meetup Singapore - Reliable Messaging & RTF OperationsJulian Douch
 
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
 
Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4Tejas Purohit
 
WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015Pavel Bucek
 
Warsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime FabricWarsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime FabricPatryk Bandurski
 
Ahmedabad MuleSoft 3rd Meetup
Ahmedabad MuleSoft 3rd Meetup Ahmedabad MuleSoft 3rd Meetup
Ahmedabad MuleSoft 3rd Meetup Rajesh Maheshwari
 
MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019Subhash Patel
 
Mule esb _web_services
Mule esb _web_servicesMule esb _web_services
Mule esb _web_servicesNaresh Naidu
 
Mule esb whole_web_services
Mule esb whole_web_servicesMule esb whole_web_services
Mule esb whole_web_servicesNaresh Naidu
 
Mumbai MuleSoft Meetup 11
Mumbai MuleSoft Meetup 11Mumbai MuleSoft Meetup 11
Mumbai MuleSoft Meetup 11Akshata Sawant
 
MuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysMuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysAngel Alberici
 
Princeton-NJ-Meetup-Externalizing-Mule-logs-Azure-blog-storage.pptx
Princeton-NJ-Meetup-Externalizing-Mule-logs-Azure-blog-storage.pptxPrinceton-NJ-Meetup-Externalizing-Mule-logs-Azure-blog-storage.pptx
Princeton-NJ-Meetup-Externalizing-Mule-logs-Azure-blog-storage.pptxSravan Lingam
 
São Paulo MuleSoft Meetup #5 - Runtime Fabric
São Paulo MuleSoft Meetup #5 - Runtime FabricSão Paulo MuleSoft Meetup #5 - Runtime Fabric
São Paulo MuleSoft Meetup #5 - Runtime FabricGuilherme Pereira Silva
 
Manila MuleSoft Meetup #3 December 2018
Manila MuleSoft Meetup #3 December 2018Manila MuleSoft Meetup #3 December 2018
Manila MuleSoft Meetup #3 December 2018Christopher Co
 
Mule soft meetup warsaw november 13th, 2019
Mule soft meetup   warsaw november 13th, 2019Mule soft meetup   warsaw november 13th, 2019
Mule soft meetup warsaw november 13th, 2019Patryk Bandurski
 
PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg
PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg
PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg PROIDEA
 
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter MuleSoft
 

Similar to Meetup bangalore 9_novupdated (20)

Flow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECT
Flow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECTFlow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECT
Flow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECT
 
Mule meetup 25thjan
Mule meetup 25thjanMule meetup 25thjan
Mule meetup 25thjan
 
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
MuleSoft Meetup Singapore - Reliable Messaging & RTF OperationsMuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
 
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
 
Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4
 
WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015
 
Warsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime FabricWarsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime Fabric
 
Ahmedabad MuleSoft 3rd Meetup
Ahmedabad MuleSoft 3rd Meetup Ahmedabad MuleSoft 3rd Meetup
Ahmedabad MuleSoft 3rd Meetup
 
MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019
 
Mule esb _web_services
Mule esb _web_servicesMule esb _web_services
Mule esb _web_services
 
Mule esb whole_web_services
Mule esb whole_web_servicesMule esb whole_web_services
Mule esb whole_web_services
 
Mumbai MuleSoft Meetup 11
Mumbai MuleSoft Meetup 11Mumbai MuleSoft Meetup 11
Mumbai MuleSoft Meetup 11
 
Cracow MuleSoft Meetup #1
Cracow MuleSoft Meetup #1Cracow MuleSoft Meetup #1
Cracow MuleSoft Meetup #1
 
MuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysMuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleys
 
Princeton-NJ-Meetup-Externalizing-Mule-logs-Azure-blog-storage.pptx
Princeton-NJ-Meetup-Externalizing-Mule-logs-Azure-blog-storage.pptxPrinceton-NJ-Meetup-Externalizing-Mule-logs-Azure-blog-storage.pptx
Princeton-NJ-Meetup-Externalizing-Mule-logs-Azure-blog-storage.pptx
 
São Paulo MuleSoft Meetup #5 - Runtime Fabric
São Paulo MuleSoft Meetup #5 - Runtime FabricSão Paulo MuleSoft Meetup #5 - Runtime Fabric
São Paulo MuleSoft Meetup #5 - Runtime Fabric
 
Manila MuleSoft Meetup #3 December 2018
Manila MuleSoft Meetup #3 December 2018Manila MuleSoft Meetup #3 December 2018
Manila MuleSoft Meetup #3 December 2018
 
Mule soft meetup warsaw november 13th, 2019
Mule soft meetup   warsaw november 13th, 2019Mule soft meetup   warsaw november 13th, 2019
Mule soft meetup warsaw november 13th, 2019
 
PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg
PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg
PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg
 
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
 

More from D.Rajesh Kumar

Mule soft meetup_-_finland_september_25th__2020 v2.0
Mule soft meetup_-_finland_september_25th__2020 v2.0Mule soft meetup_-_finland_september_25th__2020 v2.0
Mule soft meetup_-_finland_september_25th__2020 v2.0D.Rajesh Kumar
 
Meetup bangalore-sept5th 2020 (1)
Meetup bangalore-sept5th 2020 (1)Meetup bangalore-sept5th 2020 (1)
Meetup bangalore-sept5th 2020 (1)D.Rajesh Kumar
 
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__2020D.Rajesh Kumar
 
Bangalore mulesoft meetup#10
Bangalore mulesoft meetup#10Bangalore mulesoft meetup#10
Bangalore mulesoft meetup#10D.Rajesh Kumar
 
Meetup bangalore june29th2019
Meetup bangalore june29th2019Meetup bangalore june29th2019
Meetup bangalore june29th2019D.Rajesh Kumar
 
mulesoft meetup @ bangalore
mulesoft meetup @ bangaloremulesoft meetup @ bangalore
mulesoft meetup @ bangaloreD.Rajesh Kumar
 
Meetup_Bangalore_Rajesh
Meetup_Bangalore_RajeshMeetup_Bangalore_Rajesh
Meetup_Bangalore_RajeshD.Rajesh Kumar
 
Calico to secure host interfaces
Calico to secure host interfacesCalico to secure host interfaces
Calico to secure host interfacesD.Rajesh Kumar
 
Calico and how interprets neutron api
Calico and how interprets neutron apiCalico and how interprets neutron api
Calico and how interprets neutron apiD.Rajesh Kumar
 
Calico with open stack and chef
Calico with open stack and chefCalico with open stack and chef
Calico with open stack and chefD.Rajesh Kumar
 
Calico with open stack
Calico with open stackCalico with open stack
Calico with open stackD.Rajesh Kumar
 
Slack connector with in MULE
Slack connector with in MULESlack connector with in MULE
Slack connector with in MULED.Rajesh Kumar
 
MuleSoft Offers a Data Migration Solution
MuleSoft Offers a Data Migration SolutionMuleSoft Offers a Data Migration Solution
MuleSoft Offers a Data Migration SolutionD.Rajesh Kumar
 
Mule version-crowd highlights
Mule version-crowd highlightsMule version-crowd highlights
Mule version-crowd highlightsD.Rajesh Kumar
 

More from D.Rajesh Kumar (20)

Mule soft meetup_-_finland_september_25th__2020 v2.0
Mule soft meetup_-_finland_september_25th__2020 v2.0Mule soft meetup_-_finland_september_25th__2020 v2.0
Mule soft meetup_-_finland_september_25th__2020 v2.0
 
Meetup bangalore-sept5th 2020 (1)
Meetup bangalore-sept5th 2020 (1)Meetup bangalore-sept5th 2020 (1)
Meetup bangalore-sept5th 2020 (1)
 
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
 
Bangalore mulesoft meetup#10
Bangalore mulesoft meetup#10Bangalore mulesoft meetup#10
Bangalore mulesoft meetup#10
 
Meetup bangalore june29th2019
Meetup bangalore june29th2019Meetup bangalore june29th2019
Meetup bangalore june29th2019
 
mulesoft meetup @ bangalore
mulesoft meetup @ bangaloremulesoft meetup @ bangalore
mulesoft meetup @ bangalore
 
Meetup_Bangalore_Rajesh
Meetup_Bangalore_RajeshMeetup_Bangalore_Rajesh
Meetup_Bangalore_Rajesh
 
Calico and container
Calico and containerCalico and container
Calico and container
 
Calico docker+ipam
Calico docker+ipamCalico docker+ipam
Calico docker+ipam
 
Calico architecture
Calico architectureCalico architecture
Calico architecture
 
Calico to secure host interfaces
Calico to secure host interfacesCalico to secure host interfaces
Calico to secure host interfaces
 
Calico and how interprets neutron api
Calico and how interprets neutron apiCalico and how interprets neutron api
Calico and how interprets neutron api
 
Calico with open stack and chef
Calico with open stack and chefCalico with open stack and chef
Calico with open stack and chef
 
Calico with open stack
Calico with open stackCalico with open stack
Calico with open stack
 
Calico with docker
Calico with dockerCalico with docker
Calico with docker
 
Object Store in Mule
Object Store in MuleObject Store in Mule
Object Store in Mule
 
Slack connector with in MULE
Slack connector with in MULESlack connector with in MULE
Slack connector with in MULE
 
MuleSoft Offers a Data Migration Solution
MuleSoft Offers a Data Migration SolutionMuleSoft Offers a Data Migration Solution
MuleSoft Offers a Data Migration Solution
 
Mule version-crowd highlights
Mule version-crowd highlightsMule version-crowd highlights
Mule version-crowd highlights
 
Mule ctf
Mule  ctfMule  ctf
Mule ctf
 

Recently uploaded

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Meetup bangalore 9_novupdated

  • 1. 9th November 2019 Bangalore MeetUp Community
  • 3. All contents © MuleSoft Inc. Agenda 3 10:30AM - 10:45 AM : Short Introductions 11:15AM - 11:45 PM : Developing An OData Enabled API In Mule 11:45AM - 12:15 PM : Thread Management & Auto-Tuning in Mule 4 12:15 PM - 12:45PM : Open forum discussion and Q&A 12:45PM - 1:00PM : Wrap up 1:00 PM : Snack Time
  • 4. All contents © MuleSoft Inc. CHEERS..!! 4 We have prizes to give away! As a Token for your Positive Participation and Enthusiasm A SHOW OF HANDS: New Members With Us.!!
  • 5. Developing An OData Enabled API In Mule
  • 6. All contents © MuleSoft Inc. Agenda 6  What is OData ?  Why the organizations adopting OData ?  Prerequisites  Anotomy Of URL  Demo  Q&A
  • 7. All contents © MuleSoft Inc. What is OData ? • It is an open data protocol , or OData built upon REST principles to allow the creation and consumption of querable RESTful API’s. •It is built upon EDM(Entity Data Model) data model and any client can access metadata over the URL .
  • 8. All contents © MuleSoft Inc. Why Organizations are adopting OData 8  Operations are built upon REST principles.  Easy access of metadata .  OData is easy to learn , if we know SQL.  It is open source , flexible and light-weight .
  • 9. All contents © MuleSoft Inc. Prerequisites 9 The following software is required for creating and using an OData-enabled API with APIkit:  OData Plugin  Mule EE 4.1.1 and later  Anypoint Studio 7.1.4 and later  Maven Installing the APIKit OData Extension https://docs.mulesoft.com/apikit/4.x/creating-an-odata-api-with-apikit
  • 10. All contents © MuleSoft Inc. Anatomy of URL 10 http://localhost:8081/api/odata.svc/customers(1)/products?$select=CompanyName&&$filter=CompanyName eq 'Bottom-Dollar'​ Source Root URI : http://localhost:8081/api/odata.svc/​ Resource path : customers(1)/products Query options : $select=CompanyName&&$filter=CompanyName eq 'Bottom-Dollar'
  • 11. All contents © MuleSoft Inc. Demo  Synchronizing Data between Mysql and Salesforce Using OData API  Generating BI report in Tableau using OData API
  • 12. All contents © MuleSoft Inc. 12
  • 13. All contents © MuleSoft Inc. 13
  • 14. All contents © MuleSoft Inc. 14
  • 16. All contents © MuleSoft Inc. Agenda 16  Thread Management and How it is done in Mule 4?  Different Thread Pools in Mule 4  Live Interactive Example Plus Demo  Q&A
  • 17. All contents © MuleSoft Inc. Centralized Thread Pools • Mule 4 eradicates the need for manual thread pool configuration as this is done automatically by the Mule runtime. • Thread pools are no longer configurable at the level of a Mule application. We now have three centralized pools:  CPU_INTENSIVE  CPU_LITE  BLOCKING_IO • Mule 4 optimizes the execution of a flow to avoid unnecessary thread switches.
  • 18. All contents © MuleSoft Inc. HTTP Thread Pools • The Mule 4 HTTP module uses Grizzly under the covers, which needs selector thread pools configured. • The concept of selector threads was introduced with J2SE 1.4 release, that introduced JAVA NIO (Non Blocking I/O), which checks the state of NIO channels and create and dispatch events when they arrive • HTTP Listener selectors poll for request events only. HTTP Requester selectors poll for response events only.
  • 19. All contents © MuleSoft Inc. HTTP Thread Pools (contd..) • There is a Special Thread Pool for the HTTP Listener as well as HTTP Requester.!! • Configured at the Mule runtime level and shared by all applications deployed to that runtime. • 2 applications on one runtime both using an HTTP Requester will have one selector pool each for that HTTP Requester. Same goes for HTTP Listener.
  • 20. All contents © MuleSoft Inc. Thread pool responsibilities • The source of the flow and each event processor must execute in a thread that is taken from 1 of the 3 centralized thread pools (plus selector threads needed by HTTP Listener and Requester) • The task accomplished by an event processor is either 100% nonblocking, partially blocking, or mostly blocking.
  • 21. All contents © MuleSoft Inc. Thread pool responsibilities (contd..) • The CPU_LITE pool is for tasks that are 100% non-blocking and take < 10ms to complete. • The CPU_INTENSIVE pool is for tasks that take > 10ms and are potentially blocking less than 20% of the clock time. • The BLOCKING_IO pool is for tasks that are blocked most of the time.
  • 22. All contents © MuleSoft Inc. Thread pool sizing • The minimum size of the three thread pools is determined when the Mule runtime starts up. • The minimum size of the shared Grizzly pool for the HTTP Listener is determined upon the deployment of the first app to the Mule runtime that uses an HTTP Listener. • The size of the dedicated Grizzly for the HTTP Requester pool is determined upon deployment of each app that uses an HTTP Requester.
  • 23. All contents © MuleSoft Inc. Thread pool sizing (contd..) • The minimum size of the three thread pools is determined when the Mule runtime starts up. • In all cases, the min no. of threads equal the no. of CPU cores available to the Mule runtime. • The size of the dedicated Grizzly for HTTP Requester pool is determined upon deployment of each app that uses an HTTP Requester.
  • 24. All contents © MuleSoft Inc. Thread pool sizing (contd..) • For a Mule runtime sitting on a 2 core / 1 Gig machine or container, the following table shows what the minimum and maximum values are for each thread pool –
  • 25. All contents © MuleSoft Inc. Thread Pool Scheduler Assignment Criteria • Each of the five pools discussed previously has its own Scheduler. When a Mule 4 app is deployed each of its event processors is assigned a Scheduler following the criteria as –
  • 26. All contents © MuleSoft Inc. Mule Runtime Example for Consumption Of Thread Pools
  • 27. All contents © MuleSoft Inc.All contents © MuleSoft Inc. Quiz 15
  • 28. Q&A
  • 29. All contents © MuleSoft Inc. What’s next 29 • Share: – Tweet your pictures with the hashtag #BangaloreMuleMeetup – Share the pics in WhatsApp group • Let the community know you..  – Invite your network to join: https://meetups.mulesoft.com/bangalore/ • Feedback: – Contact either Rajesh, Gaurav, Pruthvi or, Swapnil to suggest topics for next meetup – Contact MuleSoft at meetup@mulesoft.com for ways to improve the program