SlideShare a Scribd company logo
1 of 28
Download to read offline
All contents © MuleSoft, LLC
A Visual Language for
Systems Integration
A focus on essential complexity
Matt McLarty, Global Field CTO
@mattmclartybc | matt.mclarty@mulesoft.com
All contents © MuleSoft, LLC
A look back at 25 years of systems integration...
2
1996-2002
All contents © MuleSoft, LLC
A look back at 25 years of systems integration...
3
2003-2010
All contents © MuleSoft, LLC
A look back at 25 years of systems integration...
4
2006-present
All contents © MuleSoft, LLC
A look back at 25 years of systems integration...
5
2014-present
All contents © MuleSoft, LLC
A look back at 25 years of systems integration...
6
2017-present*
*(actually 1996-present)
All contents © MuleSoft, LLC
The Evolution of Application Integration
7
What has changed?
Protocols
Technology
Styles
EAI Broker ESB
API
Gateway
Service
Mesh
SOA API-led Microservices Serverless
All contents © MuleSoft, LLC
The Evolution of Application Integration
8
What hasn’t changed?
Interaction types
Interaction patterns
Composition patterns
Queries Commands Events
Request-
Reply
One-way Multicast Batch Stream
Aggregation Orchestration Choreography
All contents © MuleSoft, LLC
Complexity in Software Engineering
9
All contents © MuleSoft, LLC
Essential vs. Accidental Complexity
10
Essential Complexity Accidental Complexity
The complexity of the software’s problem
space: its functional scope and customer
needs (e.g. correlating and analyzing
large amounts of data in real time)
The complexity of the software’s solution
space: its implementation details (e.g.
the languages, processes and messages
used to do the work)
All contents © MuleSoft, LLC
Complexity in Integration
11
Essential Complexity Accidental Complexity
Queries
Commands
Events
Request-
Reply
One-way Multicast Batch Stream
Aggregation
Orchestration
Choreography
EAI
Broker
ESB
API
Gateway
Service
Mesh
SOA
API-led
Microservices Serverless
All contents © MuleSoft, LLC
Power of visualization
12
From https://www.ruthmalan.com/journal/journalcurrent.htm
Ruth Malan
All contents © MuleSoft, LLC
Visualization in Software Architecture
13
DDD
Eric Evans
C4
Simon Brown
EIP
Hohpe, Wolff
From https://www.enterpriseintegrationpatterns.com/index.html
From https://martinfowler.com/bliki/BoundedContext.html Fromhttps://leanpub.com/software-architecture-for-developers
All contents © MuleSoft, LLC
Visualizing Interactions
14
“The greatest leverage in systems architecting
is at the interfaces...
When the components of a system are highly
independent, operationally and managerially,
the architecture of the system is the
interfaces…
The components are outside the scope and
control of an architect of the whole.”
Eberhardt Rechtin, The Art of Systems Architecting
From https://sdincose.org/wp-content/uploads/2017/10/TheArtOfSystemsEngineering_inaugural.pdf
All contents © MuleSoft, LLC
What’s the Problem?
15
How can we visually map the
integration problem space?
All contents © MuleSoft, LLC
Interaction Types
16
Query
Command
Event
?
!
:
Interaction where a component
asks another component to provide
specific information
Interaction where a component
communicates the result of a task
to other components
Interaction where a component
asks another component to
complete a state-changing task
All contents © MuleSoft, LLC
Interaction Patterns
17
Request-Reply
One-way
Multicast
Batch
Stream
Component sends a message to another component and
expects immediate or delayed response message
Component sends a message to another
component without expecting a response
Component sends a single message to
multiple interested components
Component sends a bounded collection
of messages to another component
Component sends an unbounded series
of messages to another component
All contents © MuleSoft, LLC
An Example: FlexPay
18
● Mobile is transforming the payments landscape
● Customers want to be recognized for their full portfolio of
holdings with Cumulus, not just account by account
● “FlexPay” is a customer-centric, dynamic payments initiative
that removes the “single account authorization” restriction
● Payments are authorized in real time utilizing a number of data
points and customer preferences
● Payments may be posted immediately or later based on
customer preferences and situational awareness
FlexPay
All contents © MuleSoft, LLC
FlexPay Landscape
19
Product
Proxies
Product
Proxies
Payments API
Customer
Authentication
Payments
Authorization
Payments
Fulfillment
Customer Risk
Scoring
Product
Monitor
Mobile Web
Product
Proxies
Product Systems (Accounts, Credit Cards, PLC, etc.)
All contents © MuleSoft, LLC
Product Activity
20
Product
Proxies
Product
Proxies
Payments API
Customer
Authentication
Payments
Authorization
Payments
Fulfillment
Customer Risk
Scoring
Product
Monitor
Mobile Web
Product
Proxies
Product Systems (Accounts, Credit Cards, PLC, etc.)
:
Product Monitor
queries product
systems to report new
account activity
Product Monitor
streams account
activity to Customer
Risk Scoring service to
update customer
authorization viability
?
All contents © MuleSoft, LLC
Payment Authorization
21
Product
Proxies
Product
Proxies
Payments API
Customer
Authentication
Payments
Authorization
Payments
Fulfillment
Customer Risk
Scoring
Product
Monitor
Mobile Web
Product
Proxies
Product Systems (Accounts, Credit Cards, PLC, etc.)
?
!
:
!
Authentication
requested for
customer
Notification that
the customer is
now online
Payment
transaction sent
for authorization
Payments Authorization
service asks for current
customer score data
All contents © MuleSoft, LLC
Transaction Fulfillment
22
Product
Proxies
Product
Proxies
Payments API
Customer
Authentication
Payments
Authorization
Payments
Fulfillment
Customer Risk
Scoring
Product
Monitor
Mobile Web
Product
Proxies
Product Systems (Accounts, Credit Cards, PLC, etc.)
:
!
Payments Authorization
service sends
notification of approved
transaction
Daily batch of payment
transactions sent to
product systems
All contents © MuleSoft, LLC
FlexPay Interactions
23
Product
Proxies
Product
Proxies
Payments API
Customer
Authentication
Payments
Authorization
Payments
Fulfillment
Customer Risk
Scoring
Product
Monitor
Mobile Web
Product
Proxies
Product Systems (Accounts, Credit Cards, PLC, etc.)
?
:
?
!
:
!
:
!
All contents © MuleSoft, LLC
How does visual modeling help?
24
Getting business and
IT on the same page
Illustrating data life
cycles
Opening up external
ecosystems
Defining and evolving
service boundaries
Resolving interaction
synchronicity
All contents © MuleSoft, LLC
What will be addressed next?
25
Composition patterns... Binding to solutions... Service design canvas...
Aggregation
Orchestration
Choreography
Whiteboards?
Specifications?
Design Studios?
From
https://dzone.com/articles/streamli
ned-microservice-design-in-practice
All contents © MuleSoft, LLC
Summary
26
● Integration primitives and patterns are stable
● Visualization helps to model essential complexity
● The “visual language” for integration consists of:
○ Interaction types
○ Interaction patterns
● Visualizing integration has many applications
All contents © MuleSoft, LLC
For more information...
27
Visual Integration Blog Series
The many flavours of API coordination
API interaction types
A primitive look at digital integration
A visual language for digital integration
5 ways a visual integration approach helps
Resources on Visual Software Architecture
Ruth Malan - Design Visualization: Smoke and Mirrors
Simon Brown - The C4 Model for Software Architecture
Eric Evans - At Last! Some Boundaries (Context mapping presentation)
All contents © MuleSoft, LLC
Thank you!

More Related Content

What's hot

How to Execute a Successful API Strategy
How to Execute a Successful API StrategyHow to Execute a Successful API Strategy
How to Execute a Successful API StrategyMatt McLarty
 
Microservice Lifecycle Demo Presentation
Microservice Lifecycle Demo PresentationMicroservice Lifecycle Demo Presentation
Microservice Lifecycle Demo PresentationMatt McLarty
 
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 for Enterprises
MuleSoft for EnterprisesMuleSoft for Enterprises
MuleSoft for EnterprisesPrashantGolani1
 
The Payer of the Future: Modernizing Health Insurance with API-led Connectivity
The Payer of the Future: Modernizing Health Insurance with API-led ConnectivityThe Payer of the Future: Modernizing Health Insurance with API-led Connectivity
The Payer of the Future: Modernizing Health Insurance with API-led ConnectivityMuleSoft
 
Mule: What's New and Coming?
Mule: What's New and Coming?Mule: What's New and Coming?
Mule: What's New and Coming?MuleSoft
 
Object Store V2 Workshop
Object Store V2 WorkshopObject Store V2 Workshop
Object Store V2 WorkshopMuleSoft
 
TIBCO vs MuleSoft Differentiators
TIBCO vs MuleSoft DifferentiatorsTIBCO vs MuleSoft Differentiators
TIBCO vs MuleSoft DifferentiatorsSatish Nannapaneni
 
MuleSoft Development | What Mulesoft Development Means for Business
MuleSoft Development | What Mulesoft Development Means for BusinessMuleSoft Development | What Mulesoft Development Means for Business
MuleSoft Development | What Mulesoft Development Means for BusinessTizbi, Inc.
 
Anypoint Platform for Pivotal Cloud Foundry
Anypoint Platform for Pivotal Cloud FoundryAnypoint Platform for Pivotal Cloud Foundry
Anypoint Platform for Pivotal Cloud FoundryMuleSoft
 
Biztalk vs mulesoft
Biztalk vs mulesoft Biztalk vs mulesoft
Biztalk vs mulesoft Bui Kiet
 
How to Enable LoB IT to Be Self-Sufficient with Integration
How to Enable LoB IT to Be Self-Sufficient with IntegrationHow to Enable LoB IT to Be Self-Sufficient with Integration
How to Enable LoB IT to Be Self-Sufficient with IntegrationMuleSoft
 
Value of Integration: Results from a Benchmark Study
Value of Integration: Results from a Benchmark StudyValue of Integration: Results from a Benchmark Study
Value of Integration: Results from a Benchmark StudyMuleSoft
 
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...MuleSoft
 
Vanrish Mulesoft Integration architect ppt
Vanrish Mulesoft Integration architect pptVanrish Mulesoft Integration architect ppt
Vanrish Mulesoft Integration architect pptRajnish Kumar
 
The Blueprint for Change: How the Best Are Succeeding in Transformation
The Blueprint for Change: How the Best Are Succeeding in TransformationThe Blueprint for Change: How the Best Are Succeeding in Transformation
The Blueprint for Change: How the Best Are Succeeding in TransformationMuleSoft
 
MuleSoft Architecture Presentation
MuleSoft Architecture PresentationMuleSoft Architecture Presentation
MuleSoft Architecture PresentationRupesh Sinha
 
Mulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different servicesMulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different servicesByreddy Sravan Kumar Reddy
 
Vancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff SessionVancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff SessionMatt McLarty
 

What's hot (20)

How to Execute a Successful API Strategy
How to Execute a Successful API StrategyHow to Execute a Successful API Strategy
How to Execute a Successful API Strategy
 
Microservice Lifecycle Demo Presentation
Microservice Lifecycle Demo PresentationMicroservice Lifecycle Demo Presentation
Microservice Lifecycle Demo Presentation
 
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 for Enterprises
MuleSoft for EnterprisesMuleSoft for Enterprises
MuleSoft for Enterprises
 
The Payer of the Future: Modernizing Health Insurance with API-led Connectivity
The Payer of the Future: Modernizing Health Insurance with API-led ConnectivityThe Payer of the Future: Modernizing Health Insurance with API-led Connectivity
The Payer of the Future: Modernizing Health Insurance with API-led Connectivity
 
Mule: What's New and Coming?
Mule: What's New and Coming?Mule: What's New and Coming?
Mule: What's New and Coming?
 
Demystifying MuleSoft
Demystifying MuleSoftDemystifying MuleSoft
Demystifying MuleSoft
 
Object Store V2 Workshop
Object Store V2 WorkshopObject Store V2 Workshop
Object Store V2 Workshop
 
TIBCO vs MuleSoft Differentiators
TIBCO vs MuleSoft DifferentiatorsTIBCO vs MuleSoft Differentiators
TIBCO vs MuleSoft Differentiators
 
MuleSoft Development | What Mulesoft Development Means for Business
MuleSoft Development | What Mulesoft Development Means for BusinessMuleSoft Development | What Mulesoft Development Means for Business
MuleSoft Development | What Mulesoft Development Means for Business
 
Anypoint Platform for Pivotal Cloud Foundry
Anypoint Platform for Pivotal Cloud FoundryAnypoint Platform for Pivotal Cloud Foundry
Anypoint Platform for Pivotal Cloud Foundry
 
Biztalk vs mulesoft
Biztalk vs mulesoft Biztalk vs mulesoft
Biztalk vs mulesoft
 
How to Enable LoB IT to Be Self-Sufficient with Integration
How to Enable LoB IT to Be Self-Sufficient with IntegrationHow to Enable LoB IT to Be Self-Sufficient with Integration
How to Enable LoB IT to Be Self-Sufficient with Integration
 
Value of Integration: Results from a Benchmark Study
Value of Integration: Results from a Benchmark StudyValue of Integration: Results from a Benchmark Study
Value of Integration: Results from a Benchmark Study
 
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
 
Vanrish Mulesoft Integration architect ppt
Vanrish Mulesoft Integration architect pptVanrish Mulesoft Integration architect ppt
Vanrish Mulesoft Integration architect ppt
 
The Blueprint for Change: How the Best Are Succeeding in Transformation
The Blueprint for Change: How the Best Are Succeeding in TransformationThe Blueprint for Change: How the Best Are Succeeding in Transformation
The Blueprint for Change: How the Best Are Succeeding in Transformation
 
MuleSoft Architecture Presentation
MuleSoft Architecture PresentationMuleSoft Architecture Presentation
MuleSoft Architecture Presentation
 
Mulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different servicesMulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different services
 
Vancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff SessionVancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff Session
 

Similar to A Visual Language for Systems Integration

IRJET- Website Health Checker
IRJET- Website Health CheckerIRJET- Website Health Checker
IRJET- Website Health CheckerIRJET Journal
 
Raleigh MuleSoft Meetup - October
Raleigh MuleSoft Meetup  - October Raleigh MuleSoft Meetup  - October
Raleigh MuleSoft Meetup - October Savannah Cole
 
Automate the development lifecycle with cumulus ci on april 9th, 2020
Automate the development lifecycle with cumulus ci on april 9th, 2020Automate the development lifecycle with cumulus ci on april 9th, 2020
Automate the development lifecycle with cumulus ci on april 9th, 2020Sudipta Deb ☁
 
MuleSoft Meetup Charlotte 2019
MuleSoft Meetup Charlotte  2019MuleSoft Meetup Charlotte  2019
MuleSoft Meetup Charlotte 2019Subhash Patel
 
Kochi Mulesoft Meetup #10 - MuleSoft Composer: Connect apps and data easily w...
Kochi Mulesoft Meetup #10 - MuleSoft Composer: Connect apps and data easily w...Kochi Mulesoft Meetup #10 - MuleSoft Composer: Connect apps and data easily w...
Kochi Mulesoft Meetup #10 - MuleSoft Composer: Connect apps and data easily w...sumitahuja94
 
Jaipur Mule soft virtual meetup #1
Jaipur Mule soft virtual meetup #1Jaipur Mule soft virtual meetup #1
Jaipur Mule soft virtual meetup #1Lalit Panwar
 
Meetup slide 20_apr
Meetup slide 20_aprMeetup slide 20_apr
Meetup slide 20_aprSantosh Ojha
 
MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019Julian Douch
 
Meet up slides_mumbai_21032020_final
Meet up slides_mumbai_21032020_finalMeet up slides_mumbai_21032020_final
Meet up slides_mumbai_21032020_finalAkshata Sawant
 
MuleSoft Composer - 09122021 - Virtual Muleys
MuleSoft Composer - 09122021 - Virtual Muleys MuleSoft Composer - 09122021 - Virtual Muleys
MuleSoft Composer - 09122021 - Virtual Muleys Angel Alberici
 
Mule soft meetup_indonesia_june2020
Mule soft meetup_indonesia_june2020Mule soft meetup_indonesia_june2020
Mule soft meetup_indonesia_june2020WendyTey4
 
An e-Commerce Platform for Selling Single Product Reltus for Tinnitus
An e-Commerce Platform for Selling Single Product Reltus for Tinnitus	An e-Commerce Platform for Selling Single Product Reltus for Tinnitus
An e-Commerce Platform for Selling Single Product Reltus for Tinnitus Mike Taylor
 
technical project manager 12 yrs
technical project manager 12 yrstechnical project manager 12 yrs
technical project manager 12 yrsNitin Katlana
 
Composer Overview Meetup.pdf
Composer Overview Meetup.pdfComposer Overview Meetup.pdf
Composer Overview Meetup.pdfJimmy Attia
 
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) - VirtualMuleys63Angel Alberici
 
MuleSoft Composer - Online Portuguese Meetup Group
MuleSoft Composer - Online Portuguese Meetup GroupMuleSoft Composer - Online Portuguese Meetup Group
MuleSoft Composer - Online Portuguese Meetup GroupGuilherme Pereira Silva
 
Architecture and Distributed Systems, Web Distributed Systems Design
Architecture and Distributed Systems, Web Distributed Systems DesignArchitecture and Distributed Systems, Web Distributed Systems Design
Architecture and Distributed Systems, Web Distributed Systems DesignArmen Arzumanyan
 
Authentication with OAuth and Connected Apps
Authentication with OAuth and Connected AppsAuthentication with OAuth and Connected Apps
Authentication with OAuth and Connected AppsSalesforce Developers
 

Similar to A Visual Language for Systems Integration (20)

IRJET- Website Health Checker
IRJET- Website Health CheckerIRJET- Website Health Checker
IRJET- Website Health Checker
 
Raleigh MuleSoft Meetup - October
Raleigh MuleSoft Meetup  - October Raleigh MuleSoft Meetup  - October
Raleigh MuleSoft Meetup - October
 
Event Architecture with Mule - Meetup SP 2017
Event Architecture with Mule - Meetup SP 2017Event Architecture with Mule - Meetup SP 2017
Event Architecture with Mule - Meetup SP 2017
 
Automate the development lifecycle with cumulus ci on april 9th, 2020
Automate the development lifecycle with cumulus ci on april 9th, 2020Automate the development lifecycle with cumulus ci on april 9th, 2020
Automate the development lifecycle with cumulus ci on april 9th, 2020
 
MuleSoft Meetup Charlotte 2019
MuleSoft Meetup Charlotte  2019MuleSoft Meetup Charlotte  2019
MuleSoft Meetup Charlotte 2019
 
Kochi Mulesoft Meetup #10 - MuleSoft Composer: Connect apps and data easily w...
Kochi Mulesoft Meetup #10 - MuleSoft Composer: Connect apps and data easily w...Kochi Mulesoft Meetup #10 - MuleSoft Composer: Connect apps and data easily w...
Kochi Mulesoft Meetup #10 - MuleSoft Composer: Connect apps and data easily w...
 
mulecomposer.pdf
mulecomposer.pdfmulecomposer.pdf
mulecomposer.pdf
 
Jaipur Mule soft virtual meetup #1
Jaipur Mule soft virtual meetup #1Jaipur Mule soft virtual meetup #1
Jaipur Mule soft virtual meetup #1
 
Meetup slide 20_apr
Meetup slide 20_aprMeetup slide 20_apr
Meetup slide 20_apr
 
MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019
 
Meet up slides_mumbai_21032020_final
Meet up slides_mumbai_21032020_finalMeet up slides_mumbai_21032020_final
Meet up slides_mumbai_21032020_final
 
MuleSoft Composer - 09122021 - Virtual Muleys
MuleSoft Composer - 09122021 - Virtual Muleys MuleSoft Composer - 09122021 - Virtual Muleys
MuleSoft Composer - 09122021 - Virtual Muleys
 
Mule soft meetup_indonesia_june2020
Mule soft meetup_indonesia_june2020Mule soft meetup_indonesia_june2020
Mule soft meetup_indonesia_june2020
 
An e-Commerce Platform for Selling Single Product Reltus for Tinnitus
An e-Commerce Platform for Selling Single Product Reltus for Tinnitus	An e-Commerce Platform for Selling Single Product Reltus for Tinnitus
An e-Commerce Platform for Selling Single Product Reltus for Tinnitus
 
technical project manager 12 yrs
technical project manager 12 yrstechnical project manager 12 yrs
technical project manager 12 yrs
 
Composer Overview Meetup.pdf
Composer Overview Meetup.pdfComposer Overview Meetup.pdf
Composer Overview Meetup.pdf
 
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
 
MuleSoft Composer - Online Portuguese Meetup Group
MuleSoft Composer - Online Portuguese Meetup GroupMuleSoft Composer - Online Portuguese Meetup Group
MuleSoft Composer - Online Portuguese Meetup Group
 
Architecture and Distributed Systems, Web Distributed Systems Design
Architecture and Distributed Systems, Web Distributed Systems DesignArchitecture and Distributed Systems, Web Distributed Systems Design
Architecture and Distributed Systems, Web Distributed Systems Design
 
Authentication with OAuth and Connected Apps
Authentication with OAuth and Connected AppsAuthentication with OAuth and Connected Apps
Authentication with OAuth and Connected Apps
 

More from Matt McLarty

Composable data for the composable enterprise
Composable data for the composable enterpriseComposable data for the composable enterprise
Composable data for the composable enterpriseMatt McLarty
 
Value Networks in Open Banking
Value Networks in Open BankingValue Networks in Open Banking
Value Networks in Open BankingMatt McLarty
 
Mapping API business models through value exchange
Mapping API business models through value exchangeMapping API business models through value exchange
Mapping API business models through value exchangeMatt McLarty
 
Overcoming RESTlessness
Overcoming RESTlessnessOvercoming RESTlessness
Overcoming RESTlessnessMatt McLarty
 
Microservices: 5 Years In
Microservices: 5 Years InMicroservices: 5 Years In
Microservices: 5 Years InMatt McLarty
 
Design-Based Microservices AKA Planes, Trains & Automobiles
Design-Based Microservices AKA Planes, Trains & AutomobilesDesign-Based Microservices AKA Planes, Trains & Automobiles
Design-Based Microservices AKA Planes, Trains & AutomobilesMatt McLarty
 
API Security in a Microservice Architecture
API Security in a Microservice ArchitectureAPI Security in a Microservice Architecture
API Security in a Microservice ArchitectureMatt McLarty
 
A Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesA Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesMatt McLarty
 
API360 Microservices Summit Welcome
API360 Microservices Summit WelcomeAPI360 Microservices Summit Welcome
API360 Microservices Summit WelcomeMatt McLarty
 
Defining Microservices
Defining MicroservicesDefining Microservices
Defining MicroservicesMatt McLarty
 
The Agile Roots of Microservices
The Agile Roots of MicroservicesThe Agile Roots of Microservices
The Agile Roots of MicroservicesMatt McLarty
 

More from Matt McLarty (11)

Composable data for the composable enterprise
Composable data for the composable enterpriseComposable data for the composable enterprise
Composable data for the composable enterprise
 
Value Networks in Open Banking
Value Networks in Open BankingValue Networks in Open Banking
Value Networks in Open Banking
 
Mapping API business models through value exchange
Mapping API business models through value exchangeMapping API business models through value exchange
Mapping API business models through value exchange
 
Overcoming RESTlessness
Overcoming RESTlessnessOvercoming RESTlessness
Overcoming RESTlessness
 
Microservices: 5 Years In
Microservices: 5 Years InMicroservices: 5 Years In
Microservices: 5 Years In
 
Design-Based Microservices AKA Planes, Trains & Automobiles
Design-Based Microservices AKA Planes, Trains & AutomobilesDesign-Based Microservices AKA Planes, Trains & Automobiles
Design-Based Microservices AKA Planes, Trains & Automobiles
 
API Security in a Microservice Architecture
API Security in a Microservice ArchitectureAPI Security in a Microservice Architecture
API Security in a Microservice Architecture
 
A Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesA Capability Blueprint for Microservices
A Capability Blueprint for Microservices
 
API360 Microservices Summit Welcome
API360 Microservices Summit WelcomeAPI360 Microservices Summit Welcome
API360 Microservices Summit Welcome
 
Defining Microservices
Defining MicroservicesDefining Microservices
Defining Microservices
 
The Agile Roots of Microservices
The Agile Roots of MicroservicesThe Agile Roots of Microservices
The Agile Roots of Microservices
 

Recently uploaded

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 

Recently uploaded (20)

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 

A Visual Language for Systems Integration

  • 1. All contents © MuleSoft, LLC A Visual Language for Systems Integration A focus on essential complexity Matt McLarty, Global Field CTO @mattmclartybc | matt.mclarty@mulesoft.com
  • 2. All contents © MuleSoft, LLC A look back at 25 years of systems integration... 2 1996-2002
  • 3. All contents © MuleSoft, LLC A look back at 25 years of systems integration... 3 2003-2010
  • 4. All contents © MuleSoft, LLC A look back at 25 years of systems integration... 4 2006-present
  • 5. All contents © MuleSoft, LLC A look back at 25 years of systems integration... 5 2014-present
  • 6. All contents © MuleSoft, LLC A look back at 25 years of systems integration... 6 2017-present* *(actually 1996-present)
  • 7. All contents © MuleSoft, LLC The Evolution of Application Integration 7 What has changed? Protocols Technology Styles EAI Broker ESB API Gateway Service Mesh SOA API-led Microservices Serverless
  • 8. All contents © MuleSoft, LLC The Evolution of Application Integration 8 What hasn’t changed? Interaction types Interaction patterns Composition patterns Queries Commands Events Request- Reply One-way Multicast Batch Stream Aggregation Orchestration Choreography
  • 9. All contents © MuleSoft, LLC Complexity in Software Engineering 9
  • 10. All contents © MuleSoft, LLC Essential vs. Accidental Complexity 10 Essential Complexity Accidental Complexity The complexity of the software’s problem space: its functional scope and customer needs (e.g. correlating and analyzing large amounts of data in real time) The complexity of the software’s solution space: its implementation details (e.g. the languages, processes and messages used to do the work)
  • 11. All contents © MuleSoft, LLC Complexity in Integration 11 Essential Complexity Accidental Complexity Queries Commands Events Request- Reply One-way Multicast Batch Stream Aggregation Orchestration Choreography EAI Broker ESB API Gateway Service Mesh SOA API-led Microservices Serverless
  • 12. All contents © MuleSoft, LLC Power of visualization 12 From https://www.ruthmalan.com/journal/journalcurrent.htm Ruth Malan
  • 13. All contents © MuleSoft, LLC Visualization in Software Architecture 13 DDD Eric Evans C4 Simon Brown EIP Hohpe, Wolff From https://www.enterpriseintegrationpatterns.com/index.html From https://martinfowler.com/bliki/BoundedContext.html Fromhttps://leanpub.com/software-architecture-for-developers
  • 14. All contents © MuleSoft, LLC Visualizing Interactions 14 “The greatest leverage in systems architecting is at the interfaces... When the components of a system are highly independent, operationally and managerially, the architecture of the system is the interfaces… The components are outside the scope and control of an architect of the whole.” Eberhardt Rechtin, The Art of Systems Architecting From https://sdincose.org/wp-content/uploads/2017/10/TheArtOfSystemsEngineering_inaugural.pdf
  • 15. All contents © MuleSoft, LLC What’s the Problem? 15 How can we visually map the integration problem space?
  • 16. All contents © MuleSoft, LLC Interaction Types 16 Query Command Event ? ! : Interaction where a component asks another component to provide specific information Interaction where a component communicates the result of a task to other components Interaction where a component asks another component to complete a state-changing task
  • 17. All contents © MuleSoft, LLC Interaction Patterns 17 Request-Reply One-way Multicast Batch Stream Component sends a message to another component and expects immediate or delayed response message Component sends a message to another component without expecting a response Component sends a single message to multiple interested components Component sends a bounded collection of messages to another component Component sends an unbounded series of messages to another component
  • 18. All contents © MuleSoft, LLC An Example: FlexPay 18 ● Mobile is transforming the payments landscape ● Customers want to be recognized for their full portfolio of holdings with Cumulus, not just account by account ● “FlexPay” is a customer-centric, dynamic payments initiative that removes the “single account authorization” restriction ● Payments are authorized in real time utilizing a number of data points and customer preferences ● Payments may be posted immediately or later based on customer preferences and situational awareness FlexPay
  • 19. All contents © MuleSoft, LLC FlexPay Landscape 19 Product Proxies Product Proxies Payments API Customer Authentication Payments Authorization Payments Fulfillment Customer Risk Scoring Product Monitor Mobile Web Product Proxies Product Systems (Accounts, Credit Cards, PLC, etc.)
  • 20. All contents © MuleSoft, LLC Product Activity 20 Product Proxies Product Proxies Payments API Customer Authentication Payments Authorization Payments Fulfillment Customer Risk Scoring Product Monitor Mobile Web Product Proxies Product Systems (Accounts, Credit Cards, PLC, etc.) : Product Monitor queries product systems to report new account activity Product Monitor streams account activity to Customer Risk Scoring service to update customer authorization viability ?
  • 21. All contents © MuleSoft, LLC Payment Authorization 21 Product Proxies Product Proxies Payments API Customer Authentication Payments Authorization Payments Fulfillment Customer Risk Scoring Product Monitor Mobile Web Product Proxies Product Systems (Accounts, Credit Cards, PLC, etc.) ? ! : ! Authentication requested for customer Notification that the customer is now online Payment transaction sent for authorization Payments Authorization service asks for current customer score data
  • 22. All contents © MuleSoft, LLC Transaction Fulfillment 22 Product Proxies Product Proxies Payments API Customer Authentication Payments Authorization Payments Fulfillment Customer Risk Scoring Product Monitor Mobile Web Product Proxies Product Systems (Accounts, Credit Cards, PLC, etc.) : ! Payments Authorization service sends notification of approved transaction Daily batch of payment transactions sent to product systems
  • 23. All contents © MuleSoft, LLC FlexPay Interactions 23 Product Proxies Product Proxies Payments API Customer Authentication Payments Authorization Payments Fulfillment Customer Risk Scoring Product Monitor Mobile Web Product Proxies Product Systems (Accounts, Credit Cards, PLC, etc.) ? : ? ! : ! : !
  • 24. All contents © MuleSoft, LLC How does visual modeling help? 24 Getting business and IT on the same page Illustrating data life cycles Opening up external ecosystems Defining and evolving service boundaries Resolving interaction synchronicity
  • 25. All contents © MuleSoft, LLC What will be addressed next? 25 Composition patterns... Binding to solutions... Service design canvas... Aggregation Orchestration Choreography Whiteboards? Specifications? Design Studios? From https://dzone.com/articles/streamli ned-microservice-design-in-practice
  • 26. All contents © MuleSoft, LLC Summary 26 ● Integration primitives and patterns are stable ● Visualization helps to model essential complexity ● The “visual language” for integration consists of: ○ Interaction types ○ Interaction patterns ● Visualizing integration has many applications
  • 27. All contents © MuleSoft, LLC For more information... 27 Visual Integration Blog Series The many flavours of API coordination API interaction types A primitive look at digital integration A visual language for digital integration 5 ways a visual integration approach helps Resources on Visual Software Architecture Ruth Malan - Design Visualization: Smoke and Mirrors Simon Brown - The C4 Model for Software Architecture Eric Evans - At Last! Some Boundaries (Context mapping presentation)
  • 28. All contents © MuleSoft, LLC Thank you!