Functional, DRY, and Bi-Temporal Models
Season 2, Ep. 6
Tomasz discusses these advanced topics while applying the overarching principles of Domain-Driven Design.
- Functional Programming and Architecture
- The real meaning of the largely misunderstood DRY principle (Don't Repeat Yourself)
- The effects of tacit knowledge within organizations.
- The deep historical as-it-actually-was records of Bi-Temporal Models using CQRS.
Learn Functional DDD and Architecture from Tomasz in his upcoming workshop.
View all episodes
8. Made for the Cloud: Cell-based Architecture, Ballerina Language, and Choreo Platform01:10:30Vaughn and Asanka—WSO2's CTO— discuss a relatively radical and fresh approach to cloud applications and services development. The tools include the domain-driven Cell-based Architecture, the Ballerina programming language, and the Choreo cloud platform. This purpose-built trio is composed as one powerful offering to give software engineers the ability to focus their efforts on delivering cloud-native applications and services. Of course, engineers are not required to use the Ballerina programming language. They may use Java and any other choice of language. Yet, those looking for a practical approach to functional programming that offers asynchronicity and handles service integrations well, Ballerina is a language worth trying. Together, this architecture-language-platform trio deserves consideration for use in your future enterprise.Asanka Abeysinghe, WSO2's CTO, is a technology visionary with over 20 years of experience designing and implementing scalable distributed systems, microservices, and business integration solutions. He advances WSO2's corporate reference architecture, collaborates with customers and industry analysts, and drives the company's technology mission. Asanka is also a contributor to the Apache Software Foundation and a sought-after speaker at global events.
7. Banking Transformation and Modernization01:15:52Vaughn Vernon has a conversation with Alfredo Muñoz regarding the transformation and modernization within banks, why it's so urgently needed, and how efforts can be successful. Their discussion encompasses BIAN, Domain-Driven Design, Data Mesh, and why focusing on business capabilities as business, service, events, and data domains is critical. We address why banks are so resistant to change but why they must learn a new mindset in order to both survive and flourish in the age of cloud and digital banks. For example, a bank transaction that has 1,000 COBOL calls will never work in the cloud, nor will a transaction that makes 100 API calls. How can new technologies and approaches to software development help banks, insurance, airlines, telecom, and other industries that heavily rely on mainframe power successfully switch out of the old status quo?Alfredo is an Enterprise Architect, and Banking Transformation Expert with more than 25 years of experience in large scale banking transformations in Europe, Asia and Latam, always involving first tier banksHe currently works in the Global Center of Excellence for Banking and Financial Market at IBMDuring the past years he has developed the methodology for the modernization of corebanking systems, including the adoption cloud infrastructure in coexistence with legacy systems, the BIAN Industry Standards, the industrialization and standardization of the design and development processes and the use of low code development frameworks with the primary objective to deliver transformation at scale, as required for large Financial Institutions.He has authored leading points of view, methods and assets on core systems transformation to Cloud. https://www.fintechna.com/authors/alfredo-muñoz-ríos/https://www.linkedin.com/in/alfredomunoz/
6. From Sustainable Architecture to Domain-Driven Transformation01:00:41Vaughn and Carola discuss human cognition and how our minds deal with complexity through recognizing shapes, organizing into hierarchies, and categorizing by types. This introduces what sustainable architecture is and why we naturally benefit from this brain-friendly way of designing software. Domain-Driven Design is a thread woven throughout their conversation, which ties together Carola’s first book on sustainable architecture and her new book. It's title is "Domain-Driven Transformation," which she has coauthored with colleague Henning Schwentner. It's been newly accepted by Pearson Addison-Wesley to be published as part of Vaughn's signature series.Dr. Carola Lilienthal is Managing Director of WPS - Workplace Solutions GmbH and has been developing software architectures according to the principles of Domain Driven Design with her teams for more than 15 years. Carola has been regularly analyzing the future viability of software architectures on behalf of her customers since 2003. She is author of the book “Sustainable Software Architecture”, “Domain-Driven Transformation” and translated Vaughn Vernon’s book “Domain-Driven Design Distilled” into German.
5. AsyncAPI and Event-Driven Architecture01:03:57Vaughn and Fran meander through the topics AsyncAPI and Event-Driven Architecture using Fran's "thinking out loud" style. They examine the motivation for AsyncAPI, which rescued a startup product team from prolific boilerplate infrastructure code. Every microservice they created suffered from enormous amounts of repeated code, which only got worse with frequent exponential growth of microservices. They discuss other areas such as inter-service shared AsyncAPI documents, versioned schema definitions, topic naming with blended message (e.g. command and event) names, topic versioning pros and cons, YAML vs KDL, add-on tools and templates, and how all these influence productivity.Fran is the founder of the AsyncAPI Initiative and also works as Director of Engineering at Postman. In his spare time, he enjoys practicing different sports and disciplines, especially those related to circus.
4. API Portfolios for Everyone41:33Vaughn and John discuss API portfolios and the increasing number of APIs being made available for public consumption. From John's deep knowledge and background in APIs, the timeline of early to contemporary technologies is considered for perspective. From there, they discuss monetization of strategic APIs using his innovative HyperCurrent product. In their dialogue, API First, REST, GraphQL, gRPC, asynchronous message-based and event-driven, the future of APIs and API products, as well as using APIs while applying DDD are covered. It's an opportunity to tap the knowledge of a long-time API design and tools expert.John D'Emic is the CTO and Co-Founder of HyperCurrent, the leading Enterprise API Monetization Platform. He is an architect, full-stack developer, and author with over 20 years of experience. Besides co-authoring both editions of Mule in Action, John has published numerous blogs, articles, and white papers.
3. AI That Actually Works (and With Ethics, Even!)44:23Vaughn discusses generative AI with Cassidy Williams (@Cassidoo) regarding the SaaS AI product that she and her team have developed. They cover the challenges of generative AI that supports accuracy in content repurposing, such as: customers don't want content generated as a talk transcript with all images from the speaker's slide deck. Customers want the talk repurposed to contain the most salient points and related images that are suitable for, e.g., a blog post. What qualifies software as an AI, and what tools can help software engineers make the leap to AI application development? The two also discuss the good, the bad, and the ugly of ChatGPT, and how ethical companies can develop AI products with trustworthy ethics.Read our Contenda-generated blog post "Reactive DDD Modeling Uncertainty" and try Contenda for yourself at: https://contenda.co
2.5. Bonus: Author Anecdotes09:40After saying "ciao for now," Greg spontaneously continued the discussion, going into more details about book authoring. This turned into an interesting conversation about book writing experiences, but off topic from the initial podcast. You may still find it fun and informative.
2. The CQRS and Event Sourcing Long Position38:31Vaughn and Greg discuss a lot of topics!CQRSEvent SourcingThe CQRS and Event Sourcing book Greg was completing at the time of this interviewEventStore and specific unique featuresEventStore Clustering complexity PAXOS (defined by Leslie Lamport in 1998)Data Mesh "The Old New Thing" UDP multicast for trading messagingHis upcoming next bookHis current work challengesGregory Young coined the term “CQRS” (Command Query Responsibility Segregation) and it was instantly picked up by the community who have elaborated upon it ever since. He is the founder and creator of Event Store. He has 15+ years of varied experience in computer science from embedded operating systems to business systems and he brings a pragmatic and often times unusual viewpoint to discussions.
1. Writing Patterns for API Design01:01:44With several great books on API design already on our shelves, this one stands out as a hefty pattern language and catalog for API designers. It's chock full of about everything you could need to design an industrial-strength API. Our discussion steps through the pattern writing process, including working as a team of five industry and academic professionals. Learn insights from one of the book's co-authors and pattern writers—a software industry practitioner—including his favorite and most challenging pattern in the book.Daniel Lübke is a Software and Business Process Architect working at Digital Solution Architecture GmbH in Hanover, Germany. He received his PhD in Software Engineering in 2007. Since then he is working as a consulting and coding software architect in client projects. He is one of the contributors to the API Pattern collection, author and editor of several books and other publications, and is frequently sharing his experience in conference talks and lectures.