Become More Agile By Building The Right Software Architecture
In this webinar Belatrix expert Uzi Mamani will explain how modern software architectures can make your business faster, more nimble, and more agile. Software architecture is often the forgotten element underlying your customer-facing technology. But we will explain how building the right architecture for your organization will help your business stay ahead of a rapidly changing business and technology environment.
We will explore 3 key architectural patterns: CQRS (Command Query Responsibility Segregation), event-driven architecture (EDA), and service-orientated architecture (SOA). We will present case studies for each of these to provide real-life examples of the benefits and drawbacks of the choices you need to make.
In the webinar we will discuss:
How building the right software architecture impacts business results
The different choices for software architecture
Why “build fast, but build right” should guide your efforts
Case studies from a range of different organizations - explaining the challenge the company faced, and how building the right architecture helped
3. Architecture connects what we build with
our business strategy
Your architecture is your business strategy translated into technology
QUESTIONS
#ArchitectureBSF
4. Software architecture is
about making choices
Languages and frameworks
Design patterns
Standards
Platforms
Cloud solutions
Hardware
QUESTIONS
#ArchitectureBSF
5. Agenda
• How building the right software architecture
impacts business results
• The different choices for software architecture
and case studies:
• SOA
• CQRS
• Event-driven architecture
• Q&A
6. 6
“Big design up front
is dumb.
Doing no design up front
is even dumber.”
(Dave Thomas)
QUESTIONS
#ArchitectureBSF
7. 7Uzi Mamani Creative Commons (@uzigula)
(Gregory Young)
QUESTIONS
#ArchitectureBSF
There is only one architecture.
It is the one of the system you are talking about.
8. 8
Garlan and Shaw
Working at Carnegie-Mellon in the ‘90s Shaw and
Garlan begin identifying architectural styles.
Shaw and Garlan propose that the journey from
craft to engineering is the creation of a body of
knowledge that allows repeatable large scale
production. Science provides the insights here
that drive engineering.
Similar goal to the Design Patterns community –
but at a different scale, capture knowledge on
patterns of component interaction.
QUESTIONS
#ArchitectureBSF
9. What is an Architectural Style?
9
QUESTIONS
#ArchitectureBSF
A component is a basic architectural
computational component – clients, servers,
filters, layers, a database etc.
A connector provides the interaction between
components.
A style is a vocabulary of possible components and
connector types, and constraints on how they can
be applied.
Given the above we can classify architectures:
o What is the design vocabulary?
o What are the allowed structural patterns?
o What is the underlying computational model?
o What are the essential invariants?
12. SOA
12
• Autonomous services
• Boundaries between services
• Contract and schema shared
• Service interaction controlled by
policy
Source: SOA 2.0 (http://www.slideshare.net/jeppec/soa-and-event-driven-architecture-soa-20)
QUESTIONS
#ArchitectureBSF
14. Event-Driven Architecture
14
• Produces non-blocking, highly scalable
applications
• Adaptable
• Used for small and large complex
applications
QUESTIONS
#ArchitectureBSF
18. CQRS Pattern
18
Components are either query-side components
or command-side components.
The path of a request through the system only
passes through command-side or query-side
components depending on whether it is
querying or modifying the state of the system.
Only command-side components can update a
repository, query-side components just read
from it.
Commands and queries are usually explicit
components on their respective sides.
Both the command-side and the query-side are
layered, but there are usually far fewer layers
on the query-side.
Martin Fowler, http://martinfowler.com/bliki/CQRS.html
QUESTIONS
#ArchitectureBSF
19. CQRS Pattern - Real Example
19
QUESTIONS
#ArchitectureBSF
20. CQRS Pattern - Real Example
20
QUESTIONS
#ArchitectureBSF
24. 24Uzi Mamani Creative Commons (@uzigula)
Grady Booch
QUESTIONS
#ArchitectureBSF
« All architecture is design but not all design is
architecture. »
25. 25
«Architecture represents the significant design
decisions that shape a system, where significance is
measured by cost of change... »
Grady Booch
QUESTIONS
#ArchitectureBSF
26. 26Uzi Mamani Creative Commons (@uzigula)
(Simon Brown)
QUESTIONS
#ArchitectureBSF
Just enough up front
design to
understand the structure
of the software and
create a shared vision
for the team.
27. Thank you!
Charles Green
Director of Thought Leadership
Belatrix Software
cgreen@belatrixsf.com
Uzi Mamani Fernández
Dev Lead at Belatrix Software
umamani@belatrixsf.com
@uzigula
theagileroad.blogspot.com