Skip to content

Software Engineering Radio

The Podcast for Professional Software Developers

Archive

Tag: architecture

Recording Venue: Skype

Guest: Eric Lubow

Eric LubowEric Lubow and Robert discuss polyglot persistence, a term used to describe systems that incorporate multiple specialized persistent stores rather than a single general-purpose database.  Eric provides insights into the forces driving this trend:  including diverse data usage patterns, low latency, and increasing volumes of data.  The emergence of many free storage servers that perform well much better than most general-purpose databases for specific usage patterns has made polyglot persistence cost-effective.   Eric shares some of his experiences deploying storage solutions, programming languages, and the driver libraries.  Eric and Robert wrap up with a discussion of the impact of polyglottism on architecture and testing.  Along the way, they explore the cultural shifts that need to take place as organizations move from the one-size-fits-all model.

Play

Recording Venue: Oracle Java One 2010, San Francisco
Guest: Nati Shalom

Host: Robert

In this episode, Robert talks with Nati Shalom about the emergence of large-system architectures consisting of a grid of high-memory nodes. As memory has become faster and cheaper more rapidly than has disk storage, application state has increasingly migrated to memory in the form of caches. Memory grids take this one step further, using memory as the system of record and disk is used as a write-behind journal for recovery purposes.  Data and processing are colocated on the same node, which hosts what would be multiple tiers in the popular multi-tiered architectures. Data partitioning and distributed algorithms such as map-reduce become critical design decisions. Nati also discusses reliability and availability considerations of memory grids.

Links:

Play

Recording Venue: Skype
Guest: John Wiegand

Host: Martin

This time we have John Wiegand on the mic for an episode on architectures and agile software development. We talk about the role of architectures in an agile world and why architectures change and need to change over time. We discuss the characteristics of those living architectures, using the Eclipse and the Jazz projects as examples, and the surrounding development methods for such environments.

Links:

Play

Recording Venue:
Guest(s): Klaus Marquardt

Host(s): Martin
In this episode we talk with Klaus Marquardt about building systems out of plugins. After briefly introducing the concept of a plugin in contrast to modules and related software engineering concepts, we discuss different views on plugins and different ways of working with plugins for developing software. We are looking at plugins for embedded systems as well as large business systems, at how plugins change the working mode and team organization, and discuss the possibilities of why and when to use plugins for implementing software systems.

Links:

Play

Recording Venue: OOP 2008
Guest(s): Matthew Wall
Erik Doernenburg
Host(s): Markus
Recording Venue: OOP 2008
Guest(s): Matthew Wall
Erik Doernenburg
Host(s): Markus
In this episode we talk to Matthew Wall (Guardian News and Media) and Erik Doernenburg (Thoughtworks) about their work on the new guardian.co.uk website. We discuss the challenge of scalability and interactivity, their use of Domain Driven Design, some of the technical building blocks as well as the approaches they use for performance measuring and scalability tuning.

Links:

Play

Recording Venue:
Guest(s): Charles W. Krueger


Host(s): Michael
In this episode Charles Krueger, a well-known member of the product line engineering community, talks about his long term experiences in the field. Charles is also the founder and CEO of a company that provides tooling for variability management and product derivation. Besides some clarifications on terms like product line architecture and reference architecture, you also learn what kind of preconditions need to exist before product line engineering can be applied successfully.

Links:

Play

Recording Venue:
Guest(s):
Host(s): Michael Markus
In this episode, Michael and Markus talk about software components. We first looked at a couple of attempts at defining what a component is. We then provided our own definition that will be used in the rest of the episode. We then looked at the promises of component-based development: why are components useful?

We then discussed some of the typical metadata components should specify to make them useful. We discussed to some extent typical variations in component models. The next topic was the separation of concerns between the component functionality and functionality provided by the component’s execution environment (aka. container).
We then compared components with other (more or less) related technologies such as OO and SOA.

We concluded the episode with the notion of architecture as language, where you use a formal DSL to describe a system’s architecture. Components are the basic building block for this approach.

Links:

Play

Recording Venue:
Guest(s): Wolfgang Keller
Host(s): Alexander
Recording Venue:
Guest(s): Wolfgang Keller
Host(s): Alexander
Enterprise Architecture is already common practice in most Fortune 100 companies. As the topic is comparably young, knowledge about it is not so widespread in the Software Architects Community, who deals mostly with project architectures. In this episode Alex speaks with Wolfgang Keller who has practical experience as an enterprise architect and has written a book on the topic. He is a Partner with BusinessGlue Consulting. They are specializing in the relationship between EAM and SOA. This episode gives a rough overview what Enterprise Architecture actually is touches the standards in the field and also gives hints on the practical work of Enterprise Architects.

Links:

Play

Recording Venue:
Guest(s): Luke Hohmann

Host(s): Markus
In this episode we talk about the relationship between software architecture and the business. Based on his book, Beyond Software Architecture we discuss how things such as branding, licensing, updating or different deployment scenarios influence the technical architecture of a system. We also discuss issues such as portability that add a huge amount of complexity, although from a business perspective it often does not make much sense. In the second part of the interview we discuss how the technical team and the business team can improve the way they work together. We look at some of the games (such as Buy a Feature or Give them a Hot Tub) from his new book Innovation Games, which discusses how to use collaborative play to be more creative and innovative in product creation.

Links:

Play

Recording Venue: OOP 2007
Guest(s): Kevlin Henney
Frank Buschmann

Host(s): Markus
In this Episode we talked about the new POSA 4 book which has recently been published. We talk to two of the authors, Kevlin Henney and Frank Buschmann (the third author, Doug Schmidt was not available – and he had also been on the podcast a couple of times :-) ). The book contains a pattern language for distributed systems. It contains 114 patterns that had been published before by many different other authors. The patterns have been rewritten to form a consistent language.
We basically talked through the different sections of the book, which gives a really good overview over the challenges and the solutions of building distributed systems. These sections include From Mud to Structure, Distribution Infrastructure, Event Demultiplexing and Dispatching, Interface Partitioning, Component Patitioning, Application Contrl, Concurrency, Synchronization, Object Interaction, Adaptazion and Extension, Modal Behaviour, Resource Management and finally, Database Access.

The book references several other previous works (as listed below). Interestingly, many of these referenced works and authors have also been discussed previously on the podcast. Here are the back references:

Links:

Play