SlideShare a Scribd company logo
1 of 71
Saturday, 1st Feb 2020
[Faridabad-India]
All contents © MuleSoft Inc.
Introductions
2
• About the organizer:
– Pankaj Goyal
– Amit Singh
• About the speaker:
– Pankaj Goyal
– Arunesh Kumar
– Abhay Aggarwal
• About the sponsor:
– Centric Consulting
A SHOW OF HANDS:
Who is new to this MeetUp?
All contents © MuleSoft Inc.
Agenda
3
• Introductions
• MuleSoft Overview
• Integrations Design patterns
• Central Repository Setup
• What’s next
• Networking time
All contents © MuleSoft Inc.
Trivia- Quiz Session
4
• Trivia- Quiz Session
• After each session there will be a Quiz, and best answer will get the
training and certification voucher.
[MuleSoft Overview]
All contents © MuleSoft Inc.
MuleSoft History
6
• MuleSoft Mission:
• To connect the world’s applications, data and devices to transform business
– The story behind the name
• Frustrated by integration "donkey work", Ross Mason, VP Product Strategy, founded the open
source Mule project in 2003. He created a new platform that emphasized ease of development
with quick and efficient assembly of components, instead of custom-coding by hand
– Company overview
• Company ◦ Founded in 2006, HQ: San Francisco
• 22 offices world-wide
• 1300+ employees worldwide
• Nearly 70% new subscription bookings driven by APIs, mobile and SaaS integration
All contents © MuleSoft Inc.
MuleSoft Overview
7
All contents © MuleSoft Inc.
Anypoint Platform
8
All contents © MuleSoft Inc.
MuleSoft Learning
9
• MuleSoft Training
• <https://training.mulesoft.com/>
• MuleSoft Docs
• <https://docs.mulesoft.com/general/>
• Developer Tutorials
• <https://developer.mulesoft.com/tutorials-and-howtos>
• MuleSoft Community
– Meetups groups
– Blogs
– Forum or Help center
All contents © MuleSoft Inc.
Trivia Quiz
10
• Q1.
How MuleSoft Solve business/IT problems?
Presented by - Abhay Agarwal
1st Feb 2020
Enterprise Integration
Design patterns in Mule
All contents © MuleSoft Inc.
Design patterns
12
All contents © MuleSoft Inc.
Enterprise Integration Design patterns
13
• Enterprise Integration Patterns are accepted solutions to recurring
problems within a given context
• The patterns provide a framework for designing, building messaging
and integration systems, as well as a common language for teams to
use when architecting solutions.
All contents © MuleSoft Inc.
Enterprise Integration Design patterns
14
• 65 patterns structured into various categories, which largely follow the flow of a
message from one system to the next through channels, routing, and
transformations
• Enterprise Integration patterns do not change. Just technologies changes.
• The patterns are brought to life with examples implemented in messaging
technologies, such as JMS, SOAP, MSMQ, .NET, and other EAI Tools. The solutions
are relevant for a wide range of integration tools and platforms, such as IBM
WebSphere MQ, TIBCO, Vitria, WebMethods (Software AG), or Microsoft BizTalk,
messaging systems, such as JMS, WCF, Rabbit MQ, or MSMQ, ESB's such as Apache
Camel, Mule, WSO2, Oracle Service Bus, Open ESB, SonicMQ, Fiorano or Fuse
ServiceMix.
All contents © MuleSoft Inc.
EI Design pattern categories
15
• Enterprise design patterns are roughly divided into below mentioned
categories
– Integration Styles
– Messaging Systems
– Messaging Channels
– Message Construction
– Message Routing
– Message Transformation
– Messaging Endpoints
All contents © MuleSoft Inc.
Mapping Enterprise Integration Design
Patterns into Mule
16
All contents © MuleSoft Inc.
Mapping Enterprise Integration Design
Patterns into Mule
17
All contents © MuleSoft Inc.
Mapping Enterprise Integration Design
Patterns into Mule
18
All contents © MuleSoft Inc.
Mapping Enterprise Integration Design
Patterns into Mule
19
All contents © MuleSoft Inc.
Patterns in Mule
20
• Patterns discussed in this presentation are used in Mulesoft
• We all are using these patterns unknowingly ( and knowingly , after
this presentation ends … ) while developing integration solutions in
Mulesoft
All contents © MuleSoft Inc.
Problem Statement 1 -
21
How do we communicate with another system if the message
originator does have all the required data items available?
All contents © MuleSoft Inc.
Problem Solution - Pattern - Content Enricher
22
Use a specialized transformer, a Content Enricher, to access an
external data source in order to augment a message with missing
information.
Also known as Data Enricher Pattern
All contents © MuleSoft Inc.
Pattern - Content Enricher
23
• Content Enricher uses information inside the incoming message (e.g.,key fields) to retrieve data from an external
source. After the Content Enricher retrieves the required data from the resource, it appends the data to the message.
• Following are the most common sources for the new data:
• 1. Computation: The Content Enricher may be able to compute the missing information. For example, if the receiving
system requires a city and state abbreviation, but the incoming message contains only a ZIP code, the algorithm can
supply the city and state information Body copy and bullets go here. Body copy should be set in the same weights and
color when possible.
• 2. Another System: This option is the most common one. The Content Enricher has to retrieve the missing data from
another system. This data resource can take on a number of forms, including a database, a file, an LDAP directory, an
application, or a user who manually enters missing data.
• 3. Environment: The Content Enricher may be able to retrieve the additional data from the operating environment. The
most common example is a time stamp. For example, the receiving system may require each message to carry a time
stamp. If the sending system does not include this field, the Content Enricher can get the current time from the
operating system and add it to the message.
All contents © MuleSoft Inc.
Pattern - Content Enricher – Example Problem
24
All contents © MuleSoft Inc.
Pattern - Content Enricher – Example Solution
25
All contents © MuleSoft Inc.
Pattern - Content Enricher – Mule
26
All contents © MuleSoft Inc.
Problem Statement 2 -
27
How do we handle a situation where the implementation of a single
logical function (e.g., inventory check) is spread across multiple
physical systems?
All contents © MuleSoft Inc.
Problem Solution
28
Use a Content-Based Router to route each message to the correct
recipient based on message content.
All contents © MuleSoft Inc.
Pattern – Content based Router
29
• Content-Based Router inspects the content of a message and routes
it to another channel based on the content of the message. Using
such a router enables the message producer to send messages to a
single channel and leave it to the Content-Based Router to route
them to the proper destination. This alleviates the sending
application from this task and avoids coupling the message producer
to specific destination channels.
All contents © MuleSoft Inc.
Pattern – Content based Router
30
• Advantage - It uses predictive routing - all possible paths are known
before hand. This makes for efficient routing because each outgoing
message is sent directly to the correct system.
• Disadvantage - Content-Based Router has to have knowledge of all
possible recipients and their capabilities. As recipients are added,
removed, or changed, the Content-Based Router has to be changed
every time.
All contents © MuleSoft Inc.
Pattern – Content based Router – Mule
31
All contents © MuleSoft Inc.
Problem Statement 3 -
32
How do you maintain the overall message flow when a message needs
to be sent to multiple recipients, each of which may send a reply?
How can a participant solicit responses from a number of participants
without connecting to all of them?
All contents © MuleSoft Inc.
Problem Solution
33
Use a Scatter-Gather that broadcasts a message to multiple
recipients and re-aggregates the responses back into a single
message.
All contents © MuleSoft Inc.
Pattern – Scatter Gather
34
• Scatter-Gather is a routing message pattern where in we sends a
request message to multiple targets concurrently. Then collects the
responses from all routes and aggregates them back into a single
response.
• Uses another pattern – Aggregator
All contents © MuleSoft Inc.
Pattern – Scatter Gather
35
• Examples –
– Insurance Quotes engine
– Airline price engine
– Bank Loan rates engine
All contents © MuleSoft Inc.
Pattern – Scatter Gather – Mule
36
All contents © MuleSoft Inc.
Problem Statement 4 -
37
How do we combine the results of individual, but related messages so
that they can be processed as a whole?
All contents © MuleSoft Inc.
Problem Solution
38
Use a stateful filter, an Aggregator, to collect and store individual
messages until a complete set of related messages has been received.
Then, the Aggregator publishes a single message distilled from the
individual messages.
All contents © MuleSoft Inc.
Pattern – Aggregator
39
• The Aggregator is a special Filter that receives a stream of messages
and identifies messages that are correlated. Once a complete set of
messages has been received (more on how to decide when a set is
'complete' below), the Aggregator collects information from each
correlated message and publishes a single, aggregated message to
the output channel for further processing.
All contents © MuleSoft Inc.
Problem Statement 5 -
40
How can a component avoid receiving uninteresting messages ?
All contents © MuleSoft Inc.
Problem Solution
41
Use a special kind of Message Router, a Message Filter, to eliminate
undesired messages from a channel based on a set of criteria
All contents © MuleSoft Inc.
Pattern - Message Filter
42
• Message Filter pattern is used to eliminate undesired messages from
a channel based on a set of criteria.
• Message Filter has only a single output channel. If the message
content matches the criteria specified by the Message Filter, the
message is routed to the output channel. If the message content
does not match the criteria, the message is discarded.
All contents © MuleSoft Inc.
Pattern - Message Filter - Mule
43
All contents © MuleSoft Inc.
Summary
44
• Enterprise Integration design patterns are patterns used to solve
common problem encountered in Integration based development
• Integration patterns are being used by all major ESB players in
market – Tibco, Mulesoft, Apache Camel etc
• Mulesoft uses Integration design pattern extensively and efficiently ,
some of the common example is Scatter Gather , Content based
Routing etc.
All contents © MuleSoft Inc.
References
45
• Enterprise Integration Patterns book
– Gregor Hohpe and Bobby Woolf
– ISBN 0321200683
• Mulesoft documentation
All contents © MuleSoft Inc.
Trivia Quiz
46
• Q2. What are EAI design patterns that MuleSoft support?
By: Arunesh Kumar
Central Repository Setup
Are you ready ?
All contents © MuleSoft Inc.
Introduction Central Repository
48
o Maven repository is managed by Maven community. It is not required to be configured.
o JFrog Repository is managed by Jfrog community but also, we managed. It is required to
be configured.
o MuleSoft Exchange repository is managed by MuleSoft community. Only pom.xml
required to configured.
Central repository contains many commonly used libraries (JAR, POM ). This repository is managed
by different community.
Like :- Maven, Binary repository(Jfrog, Nexus), MuleSoft Exchange etc.
But Today will discuss how to setup Central repository with Jfrog, MuleSoft Exchange.
All contents © MuleSoft Inc.
Introduction Central Repository
49
The way we managed our check-in codes ( In form of Deployable Archives) in central
repository .
All contents © MuleSoft Inc.
Introduction Central Repository
50
In Jfrog, pre-defined “libs-release-local” and “libs-snapshot-local” but we can setup
as per our requirement. Like
“mulesoft-release-esb” and “mulesoft-snapshot-esb”
OR
“centric-release-esb” and “centric-snapshot-esb”
In Central repository, We can manage our artifacts in below version category.
o Release version
o Snapshot version
MuleSoft support Maven. So First need to understand how maven (pom.xml) configure
In our project.
All contents © MuleSoft Inc.
Introduction Central Repository
51
As we know that, In Maven required to configured POM.xml file in our projects.
All contents © MuleSoft Inc.
Introduction Central Repository
52
All contents © MuleSoft Inc.
API pom.xml Configuration
53
In pom.xml configuration, we need to below
1. groupId
2. artifactId
3. Version
4. Packaging
5. properties
6. Dependency
7. profiles
8. Repositories
9. pluginRepositories
All contents © MuleSoft Inc.
API pom.xml Configuration
54
All contents © MuleSoft Inc.
API pom.xml Configuration
55
All contents © MuleSoft Inc.
Settings.xml Configuration
56
All contents © MuleSoft Inc.
Settings.xml Configuration
57
All contents © MuleSoft Inc.
Central Repository -Jenkins
58
All contents © MuleSoft Inc.
Central Repository -Jenkins
59
All contents © MuleSoft Inc.
Central Repository -JFrog
60
All contents © MuleSoft Inc.
Central Repository -JFrog
61
All contents © MuleSoft Inc.
Central Repository –MuleSoft Exchange
62
We can also setup MuleSoft Exchange maven repository using below required information
To construct the elements of a Maven POM file, you need to determine your organization ID:
1. Log into Anypoint Platform and click Access Management.
2. Click the organization name for the top level or a business group and view your Organization ID in the
Organization Info screen.
3. Copy the organization ID and add it to the examples that follow for how to set up your project’s POM file.
Group id must be Organization ID
...
<groupId>ORGANIZATION_ID</groupId>
...
All contents © MuleSoft Inc.
Central Repository –MuleSoft Exchange
63
All contents © MuleSoft Inc.
Central Repository –MuleSoft Exchange
64
Sample example of group ID
Sample example of distributionManagement
DEMO
65
JFrog, MuleSoft Exchange
All contents © MuleSoft Inc.
Trivia Quiz- Q3
66
• What configurations are need in pom.xml to upload artifacts in
JFROG ?
• What configurations are need in pom.xml to upload artifacts in
MuleSoft Exchange maven repository ?
Q/A
67
See you next time
Please send topic suggestions to the organizer
Networking time
Introduce yourself to your neighbors!
See you next time
Please send topic suggestions to the organizer
THANK YOU
71

More Related Content

Similar to 1st Feb 2020 MuleSoft Meetup

Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019Zubair Aslam
 
Mule concepts flows
Mule concepts flowsMule concepts flows
Mule concepts flowskunal vishe
 
Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4Tejas Purohit
 
Mule soft meetups-24012020
Mule soft meetups-24012020Mule soft meetups-24012020
Mule soft meetups-24012020Pablo Bellissimo
 
Delhi MuleSoft Meetup - 19 march2022
Delhi MuleSoft Meetup - 19 march2022Delhi MuleSoft Meetup - 19 march2022
Delhi MuleSoft Meetup - 19 march2022AnuragSharma900
 
The Overview of Microservices Architecture
The Overview of Microservices ArchitectureThe Overview of Microservices Architecture
The Overview of Microservices ArchitectureParia Heidari
 
West Yorkshire Mulesoft Meetup #5
West Yorkshire Mulesoft Meetup #5West Yorkshire Mulesoft Meetup #5
West Yorkshire Mulesoft Meetup #5Francis Edwards
 
DevOps and APIs: Great Alone, Better Together
DevOps and APIs: Great Alone, Better Together DevOps and APIs: Great Alone, Better Together
DevOps and APIs: Great Alone, Better Together 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 OperationsJulian Douch
 
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
 
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
 
Jaipur Mule soft virtual meetup #1
Jaipur Mule soft virtual meetup #1Jaipur Mule soft virtual meetup #1
Jaipur Mule soft virtual meetup #1Lalit Panwar
 
Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018Ryan Anthony Andal
 
Mule enterprise service introduction
Mule enterprise service introductionMule enterprise service introduction
Mule enterprise service introductionSon Nguyen
 
MuleSoft approach to the integration - Warsaw MuleSoft Meetup
MuleSoft approach to the integration - Warsaw MuleSoft MeetupMuleSoft approach to the integration - Warsaw MuleSoft Meetup
MuleSoft approach to the integration - Warsaw MuleSoft MeetupPatryk Bandurski
 

Similar to 1st Feb 2020 MuleSoft Meetup (20)

Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019
 
ESP POC Findings
ESP POC FindingsESP POC Findings
ESP POC Findings
 
Mule concepts flows
Mule concepts flowsMule concepts flows
Mule concepts flows
 
Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4
 
Mule soft meetups-24012020
Mule soft meetups-24012020Mule soft meetups-24012020
Mule soft meetups-24012020
 
Delhi MuleSoft Meetup - 19 march2022
Delhi MuleSoft Meetup - 19 march2022Delhi MuleSoft Meetup - 19 march2022
Delhi MuleSoft Meetup - 19 march2022
 
The Overview of Microservices Architecture
The Overview of Microservices ArchitectureThe Overview of Microservices Architecture
The Overview of Microservices Architecture
 
West Yorkshire Mulesoft Meetup #5
West Yorkshire Mulesoft Meetup #5West Yorkshire Mulesoft Meetup #5
West Yorkshire Mulesoft Meetup #5
 
DevOps and APIs: Great Alone, Better Together
DevOps and APIs: Great Alone, Better Together DevOps and APIs: Great Alone, Better Together
DevOps and APIs: Great Alone, Better Together
 
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
 
Mule esb naveen
Mule esb naveenMule esb naveen
Mule esb naveen
 
Niranjan mule esb
Niranjan mule esbNiranjan mule esb
Niranjan mule esb
 
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...
 
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
 
Jaipur Mule soft virtual meetup #1
Jaipur Mule soft virtual meetup #1Jaipur Mule soft virtual meetup #1
Jaipur Mule soft virtual meetup #1
 
Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018
 
02 basics
02 basics02 basics
02 basics
 
Mule soft indore meetup 2
Mule soft indore meetup 2Mule soft indore meetup 2
Mule soft indore meetup 2
 
Mule enterprise service introduction
Mule enterprise service introductionMule enterprise service introduction
Mule enterprise service introduction
 
MuleSoft approach to the integration - Warsaw MuleSoft Meetup
MuleSoft approach to the integration - Warsaw MuleSoft MeetupMuleSoft approach to the integration - Warsaw MuleSoft Meetup
MuleSoft approach to the integration - Warsaw MuleSoft Meetup
 

Recently uploaded

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
 
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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
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
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 

Recently uploaded (20)

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
 
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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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?
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
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
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
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
 

1st Feb 2020 MuleSoft Meetup

  • 1. Saturday, 1st Feb 2020 [Faridabad-India]
  • 2. All contents © MuleSoft Inc. Introductions 2 • About the organizer: – Pankaj Goyal – Amit Singh • About the speaker: – Pankaj Goyal – Arunesh Kumar – Abhay Aggarwal • About the sponsor: – Centric Consulting A SHOW OF HANDS: Who is new to this MeetUp?
  • 3. All contents © MuleSoft Inc. Agenda 3 • Introductions • MuleSoft Overview • Integrations Design patterns • Central Repository Setup • What’s next • Networking time
  • 4. All contents © MuleSoft Inc. Trivia- Quiz Session 4 • Trivia- Quiz Session • After each session there will be a Quiz, and best answer will get the training and certification voucher.
  • 6. All contents © MuleSoft Inc. MuleSoft History 6 • MuleSoft Mission: • To connect the world’s applications, data and devices to transform business – The story behind the name • Frustrated by integration "donkey work", Ross Mason, VP Product Strategy, founded the open source Mule project in 2003. He created a new platform that emphasized ease of development with quick and efficient assembly of components, instead of custom-coding by hand – Company overview • Company ◦ Founded in 2006, HQ: San Francisco • 22 offices world-wide • 1300+ employees worldwide • Nearly 70% new subscription bookings driven by APIs, mobile and SaaS integration
  • 7. All contents © MuleSoft Inc. MuleSoft Overview 7
  • 8. All contents © MuleSoft Inc. Anypoint Platform 8
  • 9. All contents © MuleSoft Inc. MuleSoft Learning 9 • MuleSoft Training • <https://training.mulesoft.com/> • MuleSoft Docs • <https://docs.mulesoft.com/general/> • Developer Tutorials • <https://developer.mulesoft.com/tutorials-and-howtos> • MuleSoft Community – Meetups groups – Blogs – Forum or Help center
  • 10. All contents © MuleSoft Inc. Trivia Quiz 10 • Q1. How MuleSoft Solve business/IT problems?
  • 11. Presented by - Abhay Agarwal 1st Feb 2020 Enterprise Integration Design patterns in Mule
  • 12. All contents © MuleSoft Inc. Design patterns 12
  • 13. All contents © MuleSoft Inc. Enterprise Integration Design patterns 13 • Enterprise Integration Patterns are accepted solutions to recurring problems within a given context • The patterns provide a framework for designing, building messaging and integration systems, as well as a common language for teams to use when architecting solutions.
  • 14. All contents © MuleSoft Inc. Enterprise Integration Design patterns 14 • 65 patterns structured into various categories, which largely follow the flow of a message from one system to the next through channels, routing, and transformations • Enterprise Integration patterns do not change. Just technologies changes. • The patterns are brought to life with examples implemented in messaging technologies, such as JMS, SOAP, MSMQ, .NET, and other EAI Tools. The solutions are relevant for a wide range of integration tools and platforms, such as IBM WebSphere MQ, TIBCO, Vitria, WebMethods (Software AG), or Microsoft BizTalk, messaging systems, such as JMS, WCF, Rabbit MQ, or MSMQ, ESB's such as Apache Camel, Mule, WSO2, Oracle Service Bus, Open ESB, SonicMQ, Fiorano or Fuse ServiceMix.
  • 15. All contents © MuleSoft Inc. EI Design pattern categories 15 • Enterprise design patterns are roughly divided into below mentioned categories – Integration Styles – Messaging Systems – Messaging Channels – Message Construction – Message Routing – Message Transformation – Messaging Endpoints
  • 16. All contents © MuleSoft Inc. Mapping Enterprise Integration Design Patterns into Mule 16
  • 17. All contents © MuleSoft Inc. Mapping Enterprise Integration Design Patterns into Mule 17
  • 18. All contents © MuleSoft Inc. Mapping Enterprise Integration Design Patterns into Mule 18
  • 19. All contents © MuleSoft Inc. Mapping Enterprise Integration Design Patterns into Mule 19
  • 20. All contents © MuleSoft Inc. Patterns in Mule 20 • Patterns discussed in this presentation are used in Mulesoft • We all are using these patterns unknowingly ( and knowingly , after this presentation ends … ) while developing integration solutions in Mulesoft
  • 21. All contents © MuleSoft Inc. Problem Statement 1 - 21 How do we communicate with another system if the message originator does have all the required data items available?
  • 22. All contents © MuleSoft Inc. Problem Solution - Pattern - Content Enricher 22 Use a specialized transformer, a Content Enricher, to access an external data source in order to augment a message with missing information. Also known as Data Enricher Pattern
  • 23. All contents © MuleSoft Inc. Pattern - Content Enricher 23 • Content Enricher uses information inside the incoming message (e.g.,key fields) to retrieve data from an external source. After the Content Enricher retrieves the required data from the resource, it appends the data to the message. • Following are the most common sources for the new data: • 1. Computation: The Content Enricher may be able to compute the missing information. For example, if the receiving system requires a city and state abbreviation, but the incoming message contains only a ZIP code, the algorithm can supply the city and state information Body copy and bullets go here. Body copy should be set in the same weights and color when possible. • 2. Another System: This option is the most common one. The Content Enricher has to retrieve the missing data from another system. This data resource can take on a number of forms, including a database, a file, an LDAP directory, an application, or a user who manually enters missing data. • 3. Environment: The Content Enricher may be able to retrieve the additional data from the operating environment. The most common example is a time stamp. For example, the receiving system may require each message to carry a time stamp. If the sending system does not include this field, the Content Enricher can get the current time from the operating system and add it to the message.
  • 24. All contents © MuleSoft Inc. Pattern - Content Enricher – Example Problem 24
  • 25. All contents © MuleSoft Inc. Pattern - Content Enricher – Example Solution 25
  • 26. All contents © MuleSoft Inc. Pattern - Content Enricher – Mule 26
  • 27. All contents © MuleSoft Inc. Problem Statement 2 - 27 How do we handle a situation where the implementation of a single logical function (e.g., inventory check) is spread across multiple physical systems?
  • 28. All contents © MuleSoft Inc. Problem Solution 28 Use a Content-Based Router to route each message to the correct recipient based on message content.
  • 29. All contents © MuleSoft Inc. Pattern – Content based Router 29 • Content-Based Router inspects the content of a message and routes it to another channel based on the content of the message. Using such a router enables the message producer to send messages to a single channel and leave it to the Content-Based Router to route them to the proper destination. This alleviates the sending application from this task and avoids coupling the message producer to specific destination channels.
  • 30. All contents © MuleSoft Inc. Pattern – Content based Router 30 • Advantage - It uses predictive routing - all possible paths are known before hand. This makes for efficient routing because each outgoing message is sent directly to the correct system. • Disadvantage - Content-Based Router has to have knowledge of all possible recipients and their capabilities. As recipients are added, removed, or changed, the Content-Based Router has to be changed every time.
  • 31. All contents © MuleSoft Inc. Pattern – Content based Router – Mule 31
  • 32. All contents © MuleSoft Inc. Problem Statement 3 - 32 How do you maintain the overall message flow when a message needs to be sent to multiple recipients, each of which may send a reply? How can a participant solicit responses from a number of participants without connecting to all of them?
  • 33. All contents © MuleSoft Inc. Problem Solution 33 Use a Scatter-Gather that broadcasts a message to multiple recipients and re-aggregates the responses back into a single message.
  • 34. All contents © MuleSoft Inc. Pattern – Scatter Gather 34 • Scatter-Gather is a routing message pattern where in we sends a request message to multiple targets concurrently. Then collects the responses from all routes and aggregates them back into a single response. • Uses another pattern – Aggregator
  • 35. All contents © MuleSoft Inc. Pattern – Scatter Gather 35 • Examples – – Insurance Quotes engine – Airline price engine – Bank Loan rates engine
  • 36. All contents © MuleSoft Inc. Pattern – Scatter Gather – Mule 36
  • 37. All contents © MuleSoft Inc. Problem Statement 4 - 37 How do we combine the results of individual, but related messages so that they can be processed as a whole?
  • 38. All contents © MuleSoft Inc. Problem Solution 38 Use a stateful filter, an Aggregator, to collect and store individual messages until a complete set of related messages has been received. Then, the Aggregator publishes a single message distilled from the individual messages.
  • 39. All contents © MuleSoft Inc. Pattern – Aggregator 39 • The Aggregator is a special Filter that receives a stream of messages and identifies messages that are correlated. Once a complete set of messages has been received (more on how to decide when a set is 'complete' below), the Aggregator collects information from each correlated message and publishes a single, aggregated message to the output channel for further processing.
  • 40. All contents © MuleSoft Inc. Problem Statement 5 - 40 How can a component avoid receiving uninteresting messages ?
  • 41. All contents © MuleSoft Inc. Problem Solution 41 Use a special kind of Message Router, a Message Filter, to eliminate undesired messages from a channel based on a set of criteria
  • 42. All contents © MuleSoft Inc. Pattern - Message Filter 42 • Message Filter pattern is used to eliminate undesired messages from a channel based on a set of criteria. • Message Filter has only a single output channel. If the message content matches the criteria specified by the Message Filter, the message is routed to the output channel. If the message content does not match the criteria, the message is discarded.
  • 43. All contents © MuleSoft Inc. Pattern - Message Filter - Mule 43
  • 44. All contents © MuleSoft Inc. Summary 44 • Enterprise Integration design patterns are patterns used to solve common problem encountered in Integration based development • Integration patterns are being used by all major ESB players in market – Tibco, Mulesoft, Apache Camel etc • Mulesoft uses Integration design pattern extensively and efficiently , some of the common example is Scatter Gather , Content based Routing etc.
  • 45. All contents © MuleSoft Inc. References 45 • Enterprise Integration Patterns book – Gregor Hohpe and Bobby Woolf – ISBN 0321200683 • Mulesoft documentation
  • 46. All contents © MuleSoft Inc. Trivia Quiz 46 • Q2. What are EAI design patterns that MuleSoft support?
  • 47. By: Arunesh Kumar Central Repository Setup Are you ready ?
  • 48. All contents © MuleSoft Inc. Introduction Central Repository 48 o Maven repository is managed by Maven community. It is not required to be configured. o JFrog Repository is managed by Jfrog community but also, we managed. It is required to be configured. o MuleSoft Exchange repository is managed by MuleSoft community. Only pom.xml required to configured. Central repository contains many commonly used libraries (JAR, POM ). This repository is managed by different community. Like :- Maven, Binary repository(Jfrog, Nexus), MuleSoft Exchange etc. But Today will discuss how to setup Central repository with Jfrog, MuleSoft Exchange.
  • 49. All contents © MuleSoft Inc. Introduction Central Repository 49 The way we managed our check-in codes ( In form of Deployable Archives) in central repository .
  • 50. All contents © MuleSoft Inc. Introduction Central Repository 50 In Jfrog, pre-defined “libs-release-local” and “libs-snapshot-local” but we can setup as per our requirement. Like “mulesoft-release-esb” and “mulesoft-snapshot-esb” OR “centric-release-esb” and “centric-snapshot-esb” In Central repository, We can manage our artifacts in below version category. o Release version o Snapshot version MuleSoft support Maven. So First need to understand how maven (pom.xml) configure In our project.
  • 51. All contents © MuleSoft Inc. Introduction Central Repository 51 As we know that, In Maven required to configured POM.xml file in our projects.
  • 52. All contents © MuleSoft Inc. Introduction Central Repository 52
  • 53. All contents © MuleSoft Inc. API pom.xml Configuration 53 In pom.xml configuration, we need to below 1. groupId 2. artifactId 3. Version 4. Packaging 5. properties 6. Dependency 7. profiles 8. Repositories 9. pluginRepositories
  • 54. All contents © MuleSoft Inc. API pom.xml Configuration 54
  • 55. All contents © MuleSoft Inc. API pom.xml Configuration 55
  • 56. All contents © MuleSoft Inc. Settings.xml Configuration 56
  • 57. All contents © MuleSoft Inc. Settings.xml Configuration 57
  • 58. All contents © MuleSoft Inc. Central Repository -Jenkins 58
  • 59. All contents © MuleSoft Inc. Central Repository -Jenkins 59
  • 60. All contents © MuleSoft Inc. Central Repository -JFrog 60
  • 61. All contents © MuleSoft Inc. Central Repository -JFrog 61
  • 62. All contents © MuleSoft Inc. Central Repository –MuleSoft Exchange 62 We can also setup MuleSoft Exchange maven repository using below required information To construct the elements of a Maven POM file, you need to determine your organization ID: 1. Log into Anypoint Platform and click Access Management. 2. Click the organization name for the top level or a business group and view your Organization ID in the Organization Info screen. 3. Copy the organization ID and add it to the examples that follow for how to set up your project’s POM file. Group id must be Organization ID ... <groupId>ORGANIZATION_ID</groupId> ...
  • 63. All contents © MuleSoft Inc. Central Repository –MuleSoft Exchange 63
  • 64. All contents © MuleSoft Inc. Central Repository –MuleSoft Exchange 64 Sample example of group ID Sample example of distributionManagement
  • 66. All contents © MuleSoft Inc. Trivia Quiz- Q3 66 • What configurations are need in pom.xml to upload artifacts in JFROG ? • What configurations are need in pom.xml to upload artifacts in MuleSoft Exchange maven repository ?
  • 68. See you next time Please send topic suggestions to the organizer
  • 70. See you next time Please send topic suggestions to the organizer