SlideShare uma empresa Scribd logo
All contents © MuleSoft, LLC
December 2020
Chris Hughes, Strategic Advisor at MuleSoft
Using the Mule 4 SDK
to build a Connector
All contents © MuleSoft, LLC
Agenda
1. Introduction
a. What is a Connector?
b. Mule 4 SDK for Java vs. Mule 3 DevKit
c. Best Practices
2. Mule 4 SDK Object Model
3. How to build your own Extension
4. docu-connector Code Walkthrough
5. docu-connector Demonstration
2
All contents © MuleSoft, LLC
Introduction: What is a Connector?
Mule 4 provides a well-defined mechanism to extend the runtime, by creating “modules” that
you can easily add to Mule applications.
Examples of modules include:
● Connectors, such as HTTP
● Modules, such as the Validations module
3
All contents © MuleSoft, LLC
Introduction: Mule 4 SDK vs. Mule 3 DevKit
● Mule 4 SDK replaces DevKit
● DevKit is not available for Mule 4
● Mule 4 provides XML and Java SDKs
● Mule 4 SDK makes use of Java Annotations, but is not a code generator
● Mule 4 SDK is more flexible than DevKit and supports:
○ Transactions
○ Request-Response message sources
○ Dynamic configurations
○ Routers
○ Non-blocking operations
○ Classloading isolation
4
All contents © MuleSoft, LLC
Introduction: Best Practices
General Rules:
● A connector’s purpose is to bring the target system into the Mule language
● A connector should not include operations that implement specific business use cases
● Coding Rules
○ Design for Thread Safety
○ Never Access Flow Variables
○ Never Use Message Attributes as Parameters
○ Don’t Access the MuleContext
5
All contents © MuleSoft, LLC
Mule 4 SDK Object Model
6
All contents © MuleSoft, LLC
Mule 4 SDK Object Model
Core Elements of the SDK Object Model are:
● Component
○ Given a set of parameters, a component encapsulates functionality that can be executed to
produce or alter messages in a flow
● Configuration
○ A set of parameters that affect the behaviour of the module
○ Sources and Operations may depend on a Configuration for parameters
● Connection Provider
○ Handles management of connections created from a Configuration
○ Configurations may have none, one, or many Connection Providers
● Parameter
○ A value placeholder whose context can be defined within all of the above
7
All contents © MuleSoft, LLC
How to build your own Extension
● https://docs.mulesoft.com/mule-sdk/1.1/getting-started
● Remember: a connector should be a generic extension to the Mule runtime (not specific
to a business use case)
● Consider how the target system aligns with the Mule SDK Object Model:
○ Just because the SDK provides a ConnectionProvider annotation doesn’t mean your extension
has to make use of one!
● There are some good advanced examples on GitHub, but avoid unnecessary complexity:
○ https://github.com/mulesoft/mule-email-connector
○ https://github.com/mulesoft/mule-http-connector
● Or, you could take a look at my simple DocuSign connector:
○ https://github.com/mule-org-uk/docu-connector
8
All contents © MuleSoft, LLC
Why build a DocuSign Connector?
● DocuSign already exposes a REST API
● DocuSign Authentication process is:
○ JWT-based, but
○ Requires the definition, review, and promotion of an “integrator key”
○ Relies on algorithm that would be difficult (if not impossible) to implement in DataWeave
○ Easily reusable, if defined appropriately
○ https://developers.docusign.com/platform/auth/jwt/jwt-get-token/
9
All contents © MuleSoft, LLC
Time to look at some code!
docu-connector Code Walkthrough
10
All contents © MuleSoft, LLC
Let’s see it in action!
docu-connector Demonstration
11
All contents © MuleSoft, LLC
Thank you!

Mais conteúdo relacionado

Mais procurados

microservices in mulesoft
microservices in mulesoftmicroservices in mulesoft
microservices in mulesoft
René Lucena
 
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
Julian Douch
 
Richmond MuleSoft Meetup 2021-08-18
Richmond MuleSoft Meetup 2021-08-18Richmond MuleSoft Meetup 2021-08-18
Richmond MuleSoft Meetup 2021-08-18
Tom Obermeyer
 
MuleSoft Meetup Singapore June 2021
MuleSoft Meetup Singapore June 2021MuleSoft Meetup Singapore June 2021
MuleSoft Meetup Singapore June 2021
Julian Douch
 
Meetup bangalore-sept5th 2020 (1)
Meetup bangalore-sept5th 2020 (1)Meetup bangalore-sept5th 2020 (1)
Meetup bangalore-sept5th 2020 (1)
D.Rajesh Kumar
 
Chicago rtf meetup august 17 2021
Chicago rtf meetup august 17 2021Chicago rtf meetup august 17 2021
Chicago rtf meetup august 17 2021
prasenjit banerjee
 
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
D.Rajesh Kumar
 
Jaipur MuleSoft Meetup Group - Virtual Meetup #5
Jaipur MuleSoft Meetup Group - Virtual Meetup #5Jaipur MuleSoft Meetup Group - Virtual Meetup #5
Jaipur MuleSoft Meetup Group - Virtual Meetup #5
Lalit Panwar
 
MuleSoft Meetup Bangalore - March 6 2021
MuleSoft Meetup Bangalore - March 6 2021MuleSoft Meetup Bangalore - March 6 2021
MuleSoft Meetup Bangalore - March 6 2021
Nagaraju K R
 
Melbourne Virtual MuleSoft Meetup November 2020
Melbourne Virtual MuleSoft Meetup November 2020Melbourne Virtual MuleSoft Meetup November 2020
Melbourne Virtual MuleSoft Meetup November 2020
Daniel Soffner
 
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...
Angel Alberici
 
MuleSoft Meetup Houston #15
MuleSoft Meetup Houston #15MuleSoft Meetup Houston #15
MuleSoft Meetup Houston #15
Jim Andrews
 
MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021
Nicholas Bowman
 
Mulesoft Solutions for SOA
Mulesoft Solutions for SOAMulesoft Solutions for SOA
Mulesoft Solutions for SOA
kumar gaurav
 
Vancouver mulesoft meetup_23-july
Vancouver mulesoft meetup_23-julyVancouver mulesoft meetup_23-july
Vancouver mulesoft meetup_23-july
Vikalp Bhalia
 
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Eva Mave Ng
 
Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)
Nicholas Bowman
 
Containerising the Mule Runtime with Kubernetes & From Zero to Batch : MuleS...
Containerising the Mule Runtime with Kubernetes & From Zero to Batch  : MuleS...Containerising the Mule Runtime with Kubernetes & From Zero to Batch  : MuleS...
Containerising the Mule Runtime with Kubernetes & From Zero to Batch : MuleS...
Angel Alberici
 
VPCs, Metrics Framework, Back pressure : MuleSoft Virtual Muleys Meetups
VPCs, Metrics Framework, Back pressure  : MuleSoft Virtual Muleys MeetupsVPCs, Metrics Framework, Back pressure  : MuleSoft Virtual Muleys Meetups
VPCs, Metrics Framework, Back pressure : MuleSoft Virtual Muleys Meetups
Angel Alberici
 
MuleSoft Summer Meetup - Germany - 09 Jun 2021
MuleSoft Summer Meetup - Germany - 09 Jun 2021MuleSoft Summer Meetup - Germany - 09 Jun 2021
MuleSoft Summer Meetup - Germany - 09 Jun 2021
MulesoftMunichMeetup
 

Mais procurados (20)

microservices in mulesoft
microservices in mulesoftmicroservices in mulesoft
microservices in mulesoft
 
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
 
Richmond MuleSoft Meetup 2021-08-18
Richmond MuleSoft Meetup 2021-08-18Richmond MuleSoft Meetup 2021-08-18
Richmond MuleSoft Meetup 2021-08-18
 
MuleSoft Meetup Singapore June 2021
MuleSoft Meetup Singapore June 2021MuleSoft Meetup Singapore June 2021
MuleSoft Meetup Singapore June 2021
 
Meetup bangalore-sept5th 2020 (1)
Meetup bangalore-sept5th 2020 (1)Meetup bangalore-sept5th 2020 (1)
Meetup bangalore-sept5th 2020 (1)
 
Chicago rtf meetup august 17 2021
Chicago rtf meetup august 17 2021Chicago rtf meetup august 17 2021
Chicago rtf meetup august 17 2021
 
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
 
Jaipur MuleSoft Meetup Group - Virtual Meetup #5
Jaipur MuleSoft Meetup Group - Virtual Meetup #5Jaipur MuleSoft Meetup Group - Virtual Meetup #5
Jaipur MuleSoft Meetup Group - Virtual Meetup #5
 
MuleSoft Meetup Bangalore - March 6 2021
MuleSoft Meetup Bangalore - March 6 2021MuleSoft Meetup Bangalore - March 6 2021
MuleSoft Meetup Bangalore - March 6 2021
 
Melbourne Virtual MuleSoft Meetup November 2020
Melbourne Virtual MuleSoft Meetup November 2020Melbourne Virtual MuleSoft Meetup November 2020
Melbourne Virtual MuleSoft Meetup November 2020
 
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...
 
MuleSoft Meetup Houston #15
MuleSoft Meetup Houston #15MuleSoft Meetup Houston #15
MuleSoft Meetup Houston #15
 
MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021
 
Mulesoft Solutions for SOA
Mulesoft Solutions for SOAMulesoft Solutions for SOA
Mulesoft Solutions for SOA
 
Vancouver mulesoft meetup_23-july
Vancouver mulesoft meetup_23-julyVancouver mulesoft meetup_23-july
Vancouver mulesoft meetup_23-july
 
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
 
Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)
 
Containerising the Mule Runtime with Kubernetes & From Zero to Batch : MuleS...
Containerising the Mule Runtime with Kubernetes & From Zero to Batch  : MuleS...Containerising the Mule Runtime with Kubernetes & From Zero to Batch  : MuleS...
Containerising the Mule Runtime with Kubernetes & From Zero to Batch : MuleS...
 
VPCs, Metrics Framework, Back pressure : MuleSoft Virtual Muleys Meetups
VPCs, Metrics Framework, Back pressure  : MuleSoft Virtual Muleys MeetupsVPCs, Metrics Framework, Back pressure  : MuleSoft Virtual Muleys Meetups
VPCs, Metrics Framework, Back pressure : MuleSoft Virtual Muleys Meetups
 
MuleSoft Summer Meetup - Germany - 09 Jun 2021
MuleSoft Summer Meetup - Germany - 09 Jun 2021MuleSoft Summer Meetup - Germany - 09 Jun 2021
MuleSoft Summer Meetup - Germany - 09 Jun 2021
 

Semelhante a Using the Mule 4 SDK to build a connector : MuleSoft Virtual Muleys Meetups

Custom Connector using Java and XML SDK in MuleSoft | Kolkata MuleSoft Meetup #6
Custom Connector using Java and XML SDK in MuleSoft | Kolkata MuleSoft Meetup #6Custom Connector using Java and XML SDK in MuleSoft | Kolkata MuleSoft Meetup #6
Custom Connector using Java and XML SDK in MuleSoft | Kolkata MuleSoft Meetup #6
Roikka Hazarika
 
Mulesoft Meetup Bangalore - 6th March 2021
Mulesoft Meetup Bangalore -  6th March 2021Mulesoft Meetup Bangalore -  6th March 2021
Mulesoft Meetup Bangalore - 6th March 2021
Gaurav Sethi
 
Building Custom Connectors Using XML SDK in Mule 4
Building Custom Connectors Using XML SDK in Mule 4Building Custom Connectors Using XML SDK in Mule 4
Building Custom Connectors Using XML SDK in Mule 4
Manish Kumar Yadav
 
Introduction to CloudHub 2.0
Introduction to CloudHub 2.0Introduction to CloudHub 2.0
Introduction to CloudHub 2.0
NeerajKumar1965
 
Ahmadabad mule soft_meetup_20_february_2021_muleconnectordevelopment
Ahmadabad mule soft_meetup_20_february_2021_muleconnectordevelopmentAhmadabad mule soft_meetup_20_february_2021_muleconnectordevelopment
Ahmadabad mule soft_meetup_20_february_2021_muleconnectordevelopment
Shekh Muenuddeen
 
Discover Salesforce Commerce Cloud and Vlocity Integration Patterns
Discover Salesforce Commerce Cloud and Vlocity Integration PatternsDiscover Salesforce Commerce Cloud and Vlocity Integration Patterns
Discover Salesforce Commerce Cloud and Vlocity Integration Patterns
Eva Mave Ng
 
MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...
MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...
MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...
Jitendra Bafna
 
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
Sravan Lingam
 
Custom MuleSoft connector using Java SDK
Custom MuleSoft connector using Java SDKCustom MuleSoft connector using Java SDK
Custom MuleSoft connector using Java SDK
Amit Singh
 
MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019
Subhash Patel
 
Cracow MuleSoft Meetup #1
Cracow MuleSoft Meetup #1Cracow MuleSoft Meetup #1
Cracow MuleSoft Meetup #1
Wojtek Maciejczyk
 
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
 
Custom Connector development using Mule SDK
Custom Connector development using Mule SDKCustom Connector development using Mule SDK
Custom Connector development using Mule SDK
Navin Kare
 
How to Expand Anypoint Platform's Capabilities by Developing Custom Connectors
How to Expand Anypoint Platform's Capabilities by Developing Custom ConnectorsHow to Expand Anypoint Platform's Capabilities by Developing Custom Connectors
How to Expand Anypoint Platform's Capabilities by Developing Custom Connectors
AaronLieberman5
 
Anypoint connector dev kit
Anypoint connector dev kitAnypoint connector dev kit
Anypoint connector dev kit
himajareddys
 
MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...
MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...
MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...
Jitendra Bafna
 
Melbourne Virtual MuleSoft Meetup December 2022
Melbourne Virtual MuleSoft Meetup December 2022Melbourne Virtual MuleSoft Meetup December 2022
Melbourne Virtual MuleSoft Meetup December 2022
Daniel Soffner
 
Mule anypoint connector dev kit
Mule  anypoint connector dev kitMule  anypoint connector dev kit
Mule anypoint connector dev kit
D.Rajesh Kumar
 
Mule anypoint connector
Mule  anypoint connectorMule  anypoint connector
Mule anypoint connector
D.Rajesh Kumar
 
Mule tcat server
Mule  tcat serverMule  tcat server
Mule tcat server
D.Rajesh Kumar
 

Semelhante a Using the Mule 4 SDK to build a connector : MuleSoft Virtual Muleys Meetups (20)

Custom Connector using Java and XML SDK in MuleSoft | Kolkata MuleSoft Meetup #6
Custom Connector using Java and XML SDK in MuleSoft | Kolkata MuleSoft Meetup #6Custom Connector using Java and XML SDK in MuleSoft | Kolkata MuleSoft Meetup #6
Custom Connector using Java and XML SDK in MuleSoft | Kolkata MuleSoft Meetup #6
 
Mulesoft Meetup Bangalore - 6th March 2021
Mulesoft Meetup Bangalore -  6th March 2021Mulesoft Meetup Bangalore -  6th March 2021
Mulesoft Meetup Bangalore - 6th March 2021
 
Building Custom Connectors Using XML SDK in Mule 4
Building Custom Connectors Using XML SDK in Mule 4Building Custom Connectors Using XML SDK in Mule 4
Building Custom Connectors Using XML SDK in Mule 4
 
Introduction to CloudHub 2.0
Introduction to CloudHub 2.0Introduction to CloudHub 2.0
Introduction to CloudHub 2.0
 
Ahmadabad mule soft_meetup_20_february_2021_muleconnectordevelopment
Ahmadabad mule soft_meetup_20_february_2021_muleconnectordevelopmentAhmadabad mule soft_meetup_20_february_2021_muleconnectordevelopment
Ahmadabad mule soft_meetup_20_february_2021_muleconnectordevelopment
 
Discover Salesforce Commerce Cloud and Vlocity Integration Patterns
Discover Salesforce Commerce Cloud and Vlocity Integration PatternsDiscover Salesforce Commerce Cloud and Vlocity Integration Patterns
Discover Salesforce Commerce Cloud and Vlocity Integration Patterns
 
MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...
MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...
MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...
 
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
 
Custom MuleSoft connector using Java SDK
Custom MuleSoft connector using Java SDKCustom MuleSoft connector using Java SDK
Custom MuleSoft connector using Java SDK
 
MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019
 
Cracow MuleSoft Meetup #1
Cracow MuleSoft Meetup #1Cracow MuleSoft Meetup #1
Cracow MuleSoft Meetup #1
 
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...
 
Custom Connector development using Mule SDK
Custom Connector development using Mule SDKCustom Connector development using Mule SDK
Custom Connector development using Mule SDK
 
How to Expand Anypoint Platform's Capabilities by Developing Custom Connectors
How to Expand Anypoint Platform's Capabilities by Developing Custom ConnectorsHow to Expand Anypoint Platform's Capabilities by Developing Custom Connectors
How to Expand Anypoint Platform's Capabilities by Developing Custom Connectors
 
Anypoint connector dev kit
Anypoint connector dev kitAnypoint connector dev kit
Anypoint connector dev kit
 
MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...
MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...
MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...
 
Melbourne Virtual MuleSoft Meetup December 2022
Melbourne Virtual MuleSoft Meetup December 2022Melbourne Virtual MuleSoft Meetup December 2022
Melbourne Virtual MuleSoft Meetup December 2022
 
Mule anypoint connector dev kit
Mule  anypoint connector dev kitMule  anypoint connector dev kit
Mule anypoint connector dev kit
 
Mule anypoint connector
Mule  anypoint connectorMule  anypoint connector
Mule anypoint connector
 
Mule tcat server
Mule  tcat serverMule  tcat server
Mule tcat server
 

Mais de Angel Alberici

MuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysMuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleys
Angel Alberici
 
20220324 - Angel Updates - PKO
20220324 - Angel Updates - PKO20220324 - Angel Updates - PKO
20220324 - Angel Updates - PKO
Angel Alberici
 
MuleSoft PKO - C4E and Platform Insights
MuleSoft PKO - C4E and Platform InsightsMuleSoft PKO - C4E and Platform Insights
MuleSoft PKO - C4E and Platform Insights
Angel Alberici
 
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
Angel Alberici
 
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Angel Alberici
 
20210428 - Sustainable Engineering practices & API Communities: Adoption Best...
20210428 - Sustainable Engineering practices & API Communities: Adoption Best...20210428 - Sustainable Engineering practices & API Communities: Adoption Best...
20210428 - Sustainable Engineering practices & API Communities: Adoption Best...
Angel Alberici
 
Operationalizing your C4E VirtualMuleys & Deployment Considerations: Cloudhub...
Operationalizing your C4E VirtualMuleys & Deployment Considerations: Cloudhub...Operationalizing your C4E VirtualMuleys & Deployment Considerations: Cloudhub...
Operationalizing your C4E VirtualMuleys & Deployment Considerations: Cloudhub...
Angel Alberici
 
MuleSoft Runtime Fabric (RTF): Foundations : MuleSoft Virtual Muleys Meetups
MuleSoft Runtime Fabric (RTF): Foundations  : MuleSoft Virtual Muleys MeetupsMuleSoft Runtime Fabric (RTF): Foundations  : MuleSoft Virtual Muleys Meetups
MuleSoft Runtime Fabric (RTF): Foundations : MuleSoft Virtual Muleys Meetups
Angel Alberici
 

Mais de Angel Alberici (8)

MuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysMuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleys
 
20220324 - Angel Updates - PKO
20220324 - Angel Updates - PKO20220324 - Angel Updates - PKO
20220324 - Angel Updates - PKO
 
MuleSoft PKO - C4E and Platform Insights
MuleSoft PKO - C4E and Platform InsightsMuleSoft PKO - C4E and Platform Insights
MuleSoft PKO - C4E and Platform Insights
 
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
 
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
 
20210428 - Sustainable Engineering practices & API Communities: Adoption Best...
20210428 - Sustainable Engineering practices & API Communities: Adoption Best...20210428 - Sustainable Engineering practices & API Communities: Adoption Best...
20210428 - Sustainable Engineering practices & API Communities: Adoption Best...
 
Operationalizing your C4E VirtualMuleys & Deployment Considerations: Cloudhub...
Operationalizing your C4E VirtualMuleys & Deployment Considerations: Cloudhub...Operationalizing your C4E VirtualMuleys & Deployment Considerations: Cloudhub...
Operationalizing your C4E VirtualMuleys & Deployment Considerations: Cloudhub...
 
MuleSoft Runtime Fabric (RTF): Foundations : MuleSoft Virtual Muleys Meetups
MuleSoft Runtime Fabric (RTF): Foundations  : MuleSoft Virtual Muleys MeetupsMuleSoft Runtime Fabric (RTF): Foundations  : MuleSoft Virtual Muleys Meetups
MuleSoft Runtime Fabric (RTF): Foundations : MuleSoft Virtual Muleys Meetups
 

Último

UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 

Último (20)

UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 

Using the Mule 4 SDK to build a connector : MuleSoft Virtual Muleys Meetups

  • 1. All contents © MuleSoft, LLC December 2020 Chris Hughes, Strategic Advisor at MuleSoft Using the Mule 4 SDK to build a Connector
  • 2. All contents © MuleSoft, LLC Agenda 1. Introduction a. What is a Connector? b. Mule 4 SDK for Java vs. Mule 3 DevKit c. Best Practices 2. Mule 4 SDK Object Model 3. How to build your own Extension 4. docu-connector Code Walkthrough 5. docu-connector Demonstration 2
  • 3. All contents © MuleSoft, LLC Introduction: What is a Connector? Mule 4 provides a well-defined mechanism to extend the runtime, by creating “modules” that you can easily add to Mule applications. Examples of modules include: ● Connectors, such as HTTP ● Modules, such as the Validations module 3
  • 4. All contents © MuleSoft, LLC Introduction: Mule 4 SDK vs. Mule 3 DevKit ● Mule 4 SDK replaces DevKit ● DevKit is not available for Mule 4 ● Mule 4 provides XML and Java SDKs ● Mule 4 SDK makes use of Java Annotations, but is not a code generator ● Mule 4 SDK is more flexible than DevKit and supports: ○ Transactions ○ Request-Response message sources ○ Dynamic configurations ○ Routers ○ Non-blocking operations ○ Classloading isolation 4
  • 5. All contents © MuleSoft, LLC Introduction: Best Practices General Rules: ● A connector’s purpose is to bring the target system into the Mule language ● A connector should not include operations that implement specific business use cases ● Coding Rules ○ Design for Thread Safety ○ Never Access Flow Variables ○ Never Use Message Attributes as Parameters ○ Don’t Access the MuleContext 5
  • 6. All contents © MuleSoft, LLC Mule 4 SDK Object Model 6
  • 7. All contents © MuleSoft, LLC Mule 4 SDK Object Model Core Elements of the SDK Object Model are: ● Component ○ Given a set of parameters, a component encapsulates functionality that can be executed to produce or alter messages in a flow ● Configuration ○ A set of parameters that affect the behaviour of the module ○ Sources and Operations may depend on a Configuration for parameters ● Connection Provider ○ Handles management of connections created from a Configuration ○ Configurations may have none, one, or many Connection Providers ● Parameter ○ A value placeholder whose context can be defined within all of the above 7
  • 8. All contents © MuleSoft, LLC How to build your own Extension ● https://docs.mulesoft.com/mule-sdk/1.1/getting-started ● Remember: a connector should be a generic extension to the Mule runtime (not specific to a business use case) ● Consider how the target system aligns with the Mule SDK Object Model: ○ Just because the SDK provides a ConnectionProvider annotation doesn’t mean your extension has to make use of one! ● There are some good advanced examples on GitHub, but avoid unnecessary complexity: ○ https://github.com/mulesoft/mule-email-connector ○ https://github.com/mulesoft/mule-http-connector ● Or, you could take a look at my simple DocuSign connector: ○ https://github.com/mule-org-uk/docu-connector 8
  • 9. All contents © MuleSoft, LLC Why build a DocuSign Connector? ● DocuSign already exposes a REST API ● DocuSign Authentication process is: ○ JWT-based, but ○ Requires the definition, review, and promotion of an “integrator key” ○ Relies on algorithm that would be difficult (if not impossible) to implement in DataWeave ○ Easily reusable, if defined appropriately ○ https://developers.docusign.com/platform/auth/jwt/jwt-get-token/ 9
  • 10. All contents © MuleSoft, LLC Time to look at some code! docu-connector Code Walkthrough 10
  • 11. All contents © MuleSoft, LLC Let’s see it in action! docu-connector Demonstration 11
  • 12. All contents © MuleSoft, LLC Thank you!