A monolith in software architecture a term used to describe some service that is large, complex and shared across different business functionalities. Changing any aspect of this can be daunting not just from an engineering standpoint but from a testing, delivery and release standpoint as well As teams look to decompose monolithic software into domain…More
Category Archives: Domain Driven Design
Capturing the essence of your software with diagrams: Techniques for the engineer, designer and architect
Pictures are “worth a a thousand words” and in the software industry they can save time and help inspire the collective imagination A good picture about a software system at right level can convey the right details. It is about what you leave out as much as what you put in and structure – there…More
Domain Service Architecture: The good, bad and ugly
Domain services implement core logic for a business domain and are a relied upon by experience and consumer services. Domain services can be self contained and store the business logic and state or rely on an external provider system (translating from a “raw system format” to a “canonical” domain format) In this post we look…More
From Project to Product Teams: Implementing the Inverse Conway Move for better Software
Modern software engineering techniques within organisations deliver “distributed features” using agile techniques. These features are distributed across different systems and integrated to provide an end-to-end experience. Traditional project delivery brings inĀ members from different system oriented teams to deliver these features in a loose and ad-hoc fashion and dis-bands the team after a project is…More
Observations in building Domain oriented services: How to think about building the right service for your enterprise
APIs are the abstractions over technical services. Good APIs mirror strategic thinking in an organisation and lead to better customer experience by enabling high-degree of connectivity via secure mechanisms Too much focus is on writing protocols & semantics with the desire to design good APIs and too little on business objectives. Not enough questions are…More
Microservices for orchestration: How to apply the stateful process adapter pattern
What are stateful microservices? Microservices holding state while performing some longer-than-normal execution time type tasks. They have the following characteristics They have an API to start a new instance and an API to read the current state of a given instance They orchestrate a bunch of actions that may be part of a single end-to-end…More