"The Intersection of architecture and implementation", Mark Richards

Fwdays
FwdaysFwdays
"The Intersection of architecture and implementation", Mark Richards
“We need an architecture that can
scale to 500,000 users with an average
response of 600ms under full load”
“No problem. I’m on it.
business
sponsor
software
architect
“Here’s the
architecture for the
new system…”
software
architect
development
team
“What protocol should we
use between services?”
“That’s an
implementation detail…”
software
architect
development
team
“What persistence
framework should we
use?”
“That’s also an
implementation detail…”
software
architect
development
team
“What third-party libraries
and services should we
use?”
“Again, an implementation
detail. Architecture is my job—
implementation is yours.”
software
architect
development
team
"The Intersection of architecture and implementation", Mark Richards
"The Intersection of architecture and implementation", Mark Richards
isomorphism
isomorphism
isos (meaning “equal”) and morphe (meaning “form”, or “shape”)
how close does the shape of one thing match the
shape of the other thing?
how close does the shape of the architecture match the
shape of the problem domain?
architecture to domain isomorphism
microservices architecture
single purpose functions deployed as separate
units with each unit owning its own data
layered architecture
single deployment with functionality
grouped by technical categories
how close does the shape of the architecture match the
shape of the implementation?
architecture to implementation isomorphism
how close does the shape of the architecture match the
shape of the implementation?
architecture to implementation isomorphism
Case Studies
“We’re expecting anywhere from several
thousand to a million concurrent customers
on the new system.”
"The Intersection of architecture and implementation", Mark Richards
software
architect
item_id
current_inv
max_inv
min_inv
Inventory
get current inventory
Too slow, and the services are too
tightly coupled together
item_id
current_inv
max_inv
min_inv
Inventory
update-able
in-memory cache
containing inventory
amounts
read-only
replicated cache
containing
inventory amounts
item_id
current_inv
max_inv
min_inv
Inventory
Much faster, and the services are
decoupled and no longer dependent
on each other
500 mb
500 mb
1.0 GB
1000 mb
2500 mb
3.5 GB
1500 mb
2500 mb
4.0 GB
1500 mb
2500 mb
4.0 GB
https://myapp.com/placeOrder?id=27a54826s
Service Unavailable
HTTP ERROR 503. The service is unavailable
Microservices
Scalability
Elasticity
Performance
Coupling
Microservices
Scalability
Elasticity
X
Scalability
Elasticity
“We have a very tight budget and timeframe
for this new venture, and we’re expecting a
significant amount of change to the underlying
data structures as we learn more about this
new line of business. We need to move fast
when those changes happen.”
"The Intersection of architecture and implementation", Mark Richards
persistence layer component component component
presentation layer
business layer
component component component
component component component
services layer component component component
Layers of isolation
Separation of
concerns
Good change
control
software
architect
persistence layer component component component
presentation layer
business layer
component component component
component component component
services layer component component component
Better
performance
calling the
database
directly
It’s easier
having the
code and
SQL together
persistence layer component component component
presentation layer
business layer
component component component
component component component
services layer component component component
“Wait—here’s the best part—then they said ‘Sure, we’ll have those
database changes out to you right away.’ Ha ha ha ha ha ha ha…”
persistence layer component component component
presentation layer
business layer
component component component
component component component
services layer component component component
Isolation
Change control
Performance
Convenience
XIsolation
Change control
Isolation
Change control
How does implementation get out of alignment with
architecture, and how can we prevent it from happening?
communication
“The most effective way to deal with
constant database change is to leverage
closed layers in the architecture. I’ve got to
let the development team know…”
software
architect
development
team
Architecture Decision Records
to the Rescue!
short text file; 1-2 pages long, one file per decision
(markdown, textile, asciidoc, plaintext, etc.)
architecture decision records
short noun phrase describing the decision
proposed, accepted, superseded
description of the problem and alternative
solutions available (documentation)
justification (the “why”)
tradeoffs and impact of decision
if developers don't know why you made a
decision, they are less likely to agree with it
“Do this.”
software
architect
development
team
“No. We
don’t agree.”
Second Law of
Software Architecture
“Why is more important
than how”
?
justification (the “why”)
tradeoffs and impact of decision
architecture decision records
"The Intersection of architecture and implementation", Mark Richards
"The Intersection of architecture and implementation", Mark Richards
collaboration
availability
scalability
performance
software architecture software development
software architecture software development
availability
scalability
performance
software architecture
software development
leadership
mentoring
availability
scalability
performance
if developers are not involved in the
decision, they will be less likely to follow it
“Do this because it
performs better.”
software
architect
development
team
“Okay.”
“We found a
better way to do
this.”
later…
“We’re going to use request/reply
messaging between our services because
it’s faster and more scalable.”
software
architect
“Actually, we decided to use REST
because it’s just as fast and it scales better
than messaging. Look it up on Google or
ChatGPT.”
development
team
the problem…
“But…but…this is my
decision…and messaging is faster
and more scalable in our
environment…”
software
architect
“Whatever. We’re
moving forward with
REST.”
development
team
the problem…
software
architect development
team
the problem…
“I ran some benchmarks between
REST and messaging in our production
environment. Take a look at this…”
software
architect development
team
demonstration defeats discussion
response
times
user load
REST
Messaging
This is our
expected load
Our production environment
This is our response
time SLA
demonstration defeats discussion
“Based on this, I’m thinking we
should probably use messaging to
communicate between our microservices.
What do you think?”
software
architect
“We were thinking of using REST,
but you’re right—based on this data,
messaging is a better choice.”
development
team
demonstration defeats discussion
proposed, accepted, superseded
architecture decision records
Status: RFC by 22 June
…
indicates request for
comments status prior to
the decision being made
with an end date
Accepted
Proposed
Status: RFC by 22 June
architecture risk
storming
architecture risk
storming
Microservices
Microservices
architectural
governance
“I hope the development team is
complying with the architecture decisions I
communicated through the ADR”
software
architect
development
team
“With all these coding changes, I
hope the architecture is still meeting its
scalability requirements.”
software
architect
development
team
“An architectural fitness function provides
an objective integrity assessment of some
architectural characteristic(s).”
architecture fitness functions
start
if (c1)
f1() f2()
if (c2)
f3() f4()
end
7
6
5
4
3
2
1
8
7
6
5
4
3
2
1
nodes
edges
response
times
!
threshold or trend reached
track
architecture fitness functions
average
duration
time
concurrent
users testing elasticity and scalability
operational characteristics
response time trend analysis
instances starting
instances started
only the business and service layers can access
the persistence layer to control change
throughout the architecture
structural integrity
https://www.archunit.org/
https://github.com/TNG/ArchUnit
https://search.maven.org/search?
q=g:com.tngtech.archunit
structural integrity
https://github.com/TNG/ArchUnitNET
NuGet: ArchUnitNET
structural integrity
H
https://github.com/BenMorris/NetArchTest
structural integrity
H
https://www.hello2morrow.com/products/
sonargraph/architect9
structural integrity
@Test
public void presentation_layer_cannot_access_persistence_layer() {
noClasses().that().resideInAPackage("..presentation..")
.should().accessClassesThat().resideInAPackage("..persistence..")
.because("we have a closed-layered architecture to control changes " +
"made in the database and persistence layer. Persistence " +
"layer can only communicate with the business layer.")
.check(myClasses);
}
structural integrity
public Presentation_Layer_Cannot_Access_Persistence_Layer() {
var result = Types.InCurrentDomain()
.That()
.ResideInNamespace("Myapp.Presentation")
.ShouldNot()
.HaveDependencyOn("Myapp.Persistence")
.GetResult().IsSuccessful;
}
structural integrity
"The Intersection of architecture and implementation", Mark Richards
“Developers should never take
components designed by
architects as the last word.
Rather, the initial design should
be viewed as a first draft, where
implementation will reveal more
details and refinements.”
embrace continuous
architecture change
"The Intersection of architecture and implementation", Mark Richards
1 de 81

Recomendados

Software engineering the genesis por
Software engineering  the genesisSoftware engineering  the genesis
Software engineering the genesisPawel Szulc
377 vistas48 diapositivas
Design Decisions For Understanding Software Architecture por
Design Decisions For Understanding Software ArchitectureDesign Decisions For Understanding Software Architecture
Design Decisions For Understanding Software ArchitectureTiffany Graham
2 vistas83 diapositivas
Illogical engineers por
Illogical engineersIllogical engineers
Illogical engineersPawel Szulc
257 vistas161 diapositivas
Illogical engineers por
Illogical engineersIllogical engineers
Illogical engineersPawel Szulc
1.2K vistas161 diapositivas
Cloud computing - an architect's perspective por
Cloud computing - an architect's perspectiveCloud computing - an architect's perspective
Cloud computing - an architect's perspectiveHARMAN Services
780 vistas6 diapositivas
Let's talk about... Microservices por
Let's talk about... MicroservicesLet's talk about... Microservices
Let's talk about... MicroservicesAlessandro Giorgetti
573 vistas73 diapositivas

Más contenido relacionado

Similar a "The Intersection of architecture and implementation", Mark Richards

The Big Picture - Integrating Buzzwords por
The Big Picture - Integrating BuzzwordsThe Big Picture - Integrating Buzzwords
The Big Picture - Integrating BuzzwordsAlessandro Giorgetti
563 vistas57 diapositivas
Microservices Architecture por
Microservices ArchitectureMicroservices Architecture
Microservices ArchitectureAlessandro Giorgetti
269 vistas68 diapositivas
Using patterns and pattern languages to make better architectural decisions por
Using patterns and pattern languages to make better architectural decisions Using patterns and pattern languages to make better architectural decisions
Using patterns and pattern languages to make better architectural decisions Chris Richardson
5.7K vistas48 diapositivas
Microservices why? por
Microservices   why?Microservices   why?
Microservices why?Sascha Düpre
480 vistas41 diapositivas
Software Modeling And Analysis Project por
Software Modeling And Analysis ProjectSoftware Modeling And Analysis Project
Software Modeling And Analysis ProjectPam Fenno
4 vistas49 diapositivas
Advanced web application architecture Way2Web por
Advanced web application architecture Way2WebAdvanced web application architecture Way2Web
Advanced web application architecture Way2WebMatthias Noback
2.9K vistas60 diapositivas

Similar a "The Intersection of architecture and implementation", Mark Richards(20)

Using patterns and pattern languages to make better architectural decisions por Chris Richardson
Using patterns and pattern languages to make better architectural decisions Using patterns and pattern languages to make better architectural decisions
Using patterns and pattern languages to make better architectural decisions
Chris Richardson5.7K vistas
Software Modeling And Analysis Project por Pam Fenno
Software Modeling And Analysis ProjectSoftware Modeling And Analysis Project
Software Modeling And Analysis Project
Pam Fenno4 vistas
Advanced web application architecture Way2Web por Matthias Noback
Advanced web application architecture Way2WebAdvanced web application architecture Way2Web
Advanced web application architecture Way2Web
Matthias Noback2.9K vistas
Developing Actors in Azure with .net por Marco Parenzan
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .net
Marco Parenzan80 vistas
Agile architecture upload por The Real Dyl
Agile architecture uploadAgile architecture upload
Agile architecture upload
The Real Dyl550 vistas
A Software Problem (and a maybe-solution) por YangJerng Hwa
A Software Problem (and a maybe-solution)A Software Problem (and a maybe-solution)
A Software Problem (and a maybe-solution)
YangJerng Hwa470 vistas
Reengineering including reverse & forward Engineering por Muhammad Chaudhry
Reengineering including reverse & forward EngineeringReengineering including reverse & forward Engineering
Reengineering including reverse & forward Engineering
Muhammad Chaudhry15.5K vistas
Architecting for Change: An Agile Approach por Ben Stopford
Architecting for Change: An Agile ApproachArchitecting for Change: An Agile Approach
Architecting for Change: An Agile Approach
Ben Stopford1.7K vistas
Microservices Architecture - Cloud Native Apps por Araf Karsh Hamid
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
Araf Karsh Hamid1.4K vistas
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클 por Oracle Korea
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
Oracle Korea257 vistas
The elegant way of implementing microservices with istio por Inho Kang
The elegant way of implementing microservices with istioThe elegant way of implementing microservices with istio
The elegant way of implementing microservices with istio
Inho Kang1.9K vistas
2014_report por K SEZER
2014_report2014_report
2014_report
K SEZER529 vistas
Lecture 17 design concepts (2) por IIUI
Lecture 17   design concepts (2)Lecture 17   design concepts (2)
Lecture 17 design concepts (2)
IIUI604 vistas
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015 por Mozaic Works
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Mozaic Works1.6K vistas

Más de Fwdays

"The role of CTO in a classical early-stage startup", Eugene Gusarov por
"The role of CTO in a classical early-stage startup", Eugene Gusarov"The role of CTO in a classical early-stage startup", Eugene Gusarov
"The role of CTO in a classical early-stage startup", Eugene GusarovFwdays
31 vistas43 diapositivas
"Cross-functional teams: what to do when a new hire doesn’t solve the busines... por
"Cross-functional teams: what to do when a new hire doesn’t solve the busines..."Cross-functional teams: what to do when a new hire doesn’t solve the busines...
"Cross-functional teams: what to do when a new hire doesn’t solve the busines...Fwdays
31 vistas29 diapositivas
"Ukrainian Mobile Banking Scaling in Practice. From 0 to 100 and beyond", Vad... por
"Ukrainian Mobile Banking Scaling in Practice. From 0 to 100 and beyond", Vad..."Ukrainian Mobile Banking Scaling in Practice. From 0 to 100 and beyond", Vad...
"Ukrainian Mobile Banking Scaling in Practice. From 0 to 100 and beyond", Vad...Fwdays
41 vistas30 diapositivas
"Thriving Culture in a Product Company — Practical Story", Volodymyr Tsukur por
"Thriving Culture in a Product Company — Practical Story", Volodymyr Tsukur"Thriving Culture in a Product Company — Practical Story", Volodymyr Tsukur
"Thriving Culture in a Product Company — Practical Story", Volodymyr TsukurFwdays
41 vistas31 diapositivas
"Fast Start to Building on AWS", Igor Ivaniuk por
"Fast Start to Building on AWS", Igor Ivaniuk"Fast Start to Building on AWS", Igor Ivaniuk
"Fast Start to Building on AWS", Igor IvaniukFwdays
44 vistas76 diapositivas
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ... por
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ..."Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...Fwdays
36 vistas39 diapositivas

Más de Fwdays(20)

"The role of CTO in a classical early-stage startup", Eugene Gusarov por Fwdays
"The role of CTO in a classical early-stage startup", Eugene Gusarov"The role of CTO in a classical early-stage startup", Eugene Gusarov
"The role of CTO in a classical early-stage startup", Eugene Gusarov
Fwdays31 vistas
"Cross-functional teams: what to do when a new hire doesn’t solve the busines... por Fwdays
"Cross-functional teams: what to do when a new hire doesn’t solve the busines..."Cross-functional teams: what to do when a new hire doesn’t solve the busines...
"Cross-functional teams: what to do when a new hire doesn’t solve the busines...
Fwdays31 vistas
"Ukrainian Mobile Banking Scaling in Practice. From 0 to 100 and beyond", Vad... por Fwdays
"Ukrainian Mobile Banking Scaling in Practice. From 0 to 100 and beyond", Vad..."Ukrainian Mobile Banking Scaling in Practice. From 0 to 100 and beyond", Vad...
"Ukrainian Mobile Banking Scaling in Practice. From 0 to 100 and beyond", Vad...
Fwdays41 vistas
"Thriving Culture in a Product Company — Practical Story", Volodymyr Tsukur por Fwdays
"Thriving Culture in a Product Company — Practical Story", Volodymyr Tsukur"Thriving Culture in a Product Company — Practical Story", Volodymyr Tsukur
"Thriving Culture in a Product Company — Practical Story", Volodymyr Tsukur
Fwdays41 vistas
"Fast Start to Building on AWS", Igor Ivaniuk por Fwdays
"Fast Start to Building on AWS", Igor Ivaniuk"Fast Start to Building on AWS", Igor Ivaniuk
"Fast Start to Building on AWS", Igor Ivaniuk
Fwdays44 vistas
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ... por Fwdays
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ..."Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...
Fwdays36 vistas
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi por Fwdays
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi
Fwdays26 vistas
"How we switched to Kanban and how it integrates with product planning", Vady... por Fwdays
"How we switched to Kanban and how it integrates with product planning", Vady..."How we switched to Kanban and how it integrates with product planning", Vady...
"How we switched to Kanban and how it integrates with product planning", Vady...
Fwdays62 vistas
"Bringing Flutter to Tide: a case study of a leading fintech platform in the ... por Fwdays
"Bringing Flutter to Tide: a case study of a leading fintech platform in the ..."Bringing Flutter to Tide: a case study of a leading fintech platform in the ...
"Bringing Flutter to Tide: a case study of a leading fintech platform in the ...
Fwdays24 vistas
"Shape Up: How to Develop Quickly and Avoid Burnout", Dmytro Popov por Fwdays
"Shape Up: How to Develop Quickly and Avoid Burnout", Dmytro Popov"Shape Up: How to Develop Quickly and Avoid Burnout", Dmytro Popov
"Shape Up: How to Develop Quickly and Avoid Burnout", Dmytro Popov
Fwdays61 vistas
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy por Fwdays
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy
Fwdays46 vistas
From “T” to “E”, Dmytro Gryn por Fwdays
From “T” to “E”, Dmytro GrynFrom “T” to “E”, Dmytro Gryn
From “T” to “E”, Dmytro Gryn
Fwdays36 vistas
"Why I left React in my TypeScript projects and where ", Illya Klymov por Fwdays
"Why I left React in my TypeScript projects and where ",  Illya Klymov"Why I left React in my TypeScript projects and where ",  Illya Klymov
"Why I left React in my TypeScript projects and where ", Illya Klymov
Fwdays248 vistas
"KillTech project: through innovation to a winning capability", Yelyzaveta B... por Fwdays
"KillTech project: through innovation to a winning capability",  Yelyzaveta B..."KillTech project: through innovation to a winning capability",  Yelyzaveta B...
"KillTech project: through innovation to a winning capability", Yelyzaveta B...
Fwdays230 vistas
"Dude, where’s my boilerplate? ", Oleksii Makodzeba por Fwdays
"Dude, where’s my boilerplate? ", Oleksii Makodzeba"Dude, where’s my boilerplate? ", Oleksii Makodzeba
"Dude, where’s my boilerplate? ", Oleksii Makodzeba
Fwdays116 vistas
"Pixel-Pushing Pundit Challenges in 2023, or Non-functional Requirements for ... por Fwdays
"Pixel-Pushing Pundit Challenges in 2023, or Non-functional Requirements for ..."Pixel-Pushing Pundit Challenges in 2023, or Non-functional Requirements for ...
"Pixel-Pushing Pundit Challenges in 2023, or Non-functional Requirements for ...
Fwdays90 vistas
"Do you really need your test environment?", Vlad Kampov por Fwdays
"Do you really need your test environment?", Vlad Kampov "Do you really need your test environment?", Vlad Kampov
"Do you really need your test environment?", Vlad Kampov
Fwdays213 vistas
"Crafting a Third-Party Banking Library with Web Components and React", Germa... por Fwdays
"Crafting a Third-Party Banking Library with Web Components and React", Germa..."Crafting a Third-Party Banking Library with Web Components and React", Germa...
"Crafting a Third-Party Banking Library with Web Components and React", Germa...
Fwdays180 vistas
"Generating Types without climbing a tree", Matteo Collina por Fwdays
"Generating Types without climbing a tree", Matteo Collina "Generating Types without climbing a tree", Matteo Collina
"Generating Types without climbing a tree", Matteo Collina
Fwdays89 vistas
"You Keep Using That Word", Sam Newman por Fwdays
"You Keep Using That Word", Sam Newman"You Keep Using That Word", Sam Newman
"You Keep Using That Word", Sam Newman
Fwdays37 vistas

Último

Report 2030 Digital Decade por
Report 2030 Digital DecadeReport 2030 Digital Decade
Report 2030 Digital DecadeMassimo Talia
14 vistas41 diapositivas
Data-centric AI and the convergence of data and model engineering: opportunit... por
Data-centric AI and the convergence of data and model engineering:opportunit...Data-centric AI and the convergence of data and model engineering:opportunit...
Data-centric AI and the convergence of data and model engineering: opportunit...Paolo Missier
34 vistas40 diapositivas
Attacking IoT Devices from a Web Perspective - Linux Day por
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day Simone Onofri
15 vistas68 diapositivas
STPI OctaNE CoE Brochure.pdf por
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdfmadhurjyapb
12 vistas1 diapositiva
Combining Orchestration and Choreography for a Clean Architecture por
Combining Orchestration and Choreography for a Clean ArchitectureCombining Orchestration and Choreography for a Clean Architecture
Combining Orchestration and Choreography for a Clean ArchitectureThomasHeinrichs1
69 vistas24 diapositivas
Black and White Modern Science Presentation.pptx por
Black and White Modern Science Presentation.pptxBlack and White Modern Science Presentation.pptx
Black and White Modern Science Presentation.pptxmaryamkhalid2916
14 vistas21 diapositivas

Último(20)

Report 2030 Digital Decade por Massimo Talia
Report 2030 Digital DecadeReport 2030 Digital Decade
Report 2030 Digital Decade
Massimo Talia14 vistas
Data-centric AI and the convergence of data and model engineering: opportunit... por Paolo Missier
Data-centric AI and the convergence of data and model engineering:opportunit...Data-centric AI and the convergence of data and model engineering:opportunit...
Data-centric AI and the convergence of data and model engineering: opportunit...
Paolo Missier34 vistas
Attacking IoT Devices from a Web Perspective - Linux Day por Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri15 vistas
STPI OctaNE CoE Brochure.pdf por madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb12 vistas
Combining Orchestration and Choreography for a Clean Architecture por ThomasHeinrichs1
Combining Orchestration and Choreography for a Clean ArchitectureCombining Orchestration and Choreography for a Clean Architecture
Combining Orchestration and Choreography for a Clean Architecture
ThomasHeinrichs169 vistas
Black and White Modern Science Presentation.pptx por maryamkhalid2916
Black and White Modern Science Presentation.pptxBlack and White Modern Science Presentation.pptx
Black and White Modern Science Presentation.pptx
maryamkhalid291614 vistas
Spesifikasi Lengkap ASUS Vivobook Go 14 por Dot Semarang
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14
Dot Semarang35 vistas
Business Analyst Series 2023 - Week 3 Session 5 por DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10209 vistas
SAP Automation Using Bar Code and FIORI.pdf por Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
Virendra Rai, PMP19 vistas
How the World's Leading Independent Automotive Distributor is Reinventing Its... por NUS-ISS
How the World's Leading Independent Automotive Distributor is Reinventing Its...How the World's Leading Independent Automotive Distributor is Reinventing Its...
How the World's Leading Independent Automotive Distributor is Reinventing Its...
NUS-ISS15 vistas
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum... por NUS-ISS
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
NUS-ISS34 vistas
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica... por NUS-ISS
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...
NUS-ISS16 vistas
Special_edition_innovator_2023.pdf por WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2216 vistas
Empathic Computing: Delivering the Potential of the Metaverse por Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst470 vistas
DALI Basics Course 2023 por Ivory Egg
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023
Ivory Egg14 vistas
handbook for web 3 adoption.pdf por Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex19 vistas
AI: mind, matter, meaning, metaphors, being, becoming, life values por Twain Liu 刘秋艳
AI: mind, matter, meaning, metaphors, being, becoming, life valuesAI: mind, matter, meaning, metaphors, being, becoming, life values
AI: mind, matter, meaning, metaphors, being, becoming, life values

"The Intersection of architecture and implementation", Mark Richards