Skip to content

Software Engineering Radio

The Podcast for Professional Software Developers

Archive

Tag: architecture

Recording Venue:
Guest(s):
Host(s): Markus Michael
Recording Venue:
Guest(s):
Host(s): Markus Michael
Michael Kircher and Markus Voelter introduce the topic of software product line engineering. They motivate when and why product lines are important to consider and what makes them so special. Further, they introduce some key terminology, such as platform, core asset, feature model, commonality, and variability.

Links:

Play

Recording Venue: JAOO 2006
Guest(s): Dragos Manolescu

Host(s): Markus
In this Episode we discuss software architecture evaluation with Dragos Manolescu, an architect at Microsoft’s patterns & practices group.

We start off the discussion by trying to define what software architecture evaluation is and when and you want to evaluate an architecture in the system’s lifecycle. We then make sure evaluators set the expectations for the evaluation process right – it is important to understand that architecture evaluation is typically not primarily a review of the technology decisions made for the architecture.

We then discuss the kinds of notations that are useful for describing architectures, and which of these are especially helpful for the evaluator. Next we look at the core of the architecture evaluation task, namely, the integration of the various stakeholders and their views. We also discuss real reviews from reviews that are staged “for show” only.

Next in the discussion is a brief look at the tools you can use for architecture evaluation, as well as a closer look at the various methods for achitecture evalualtion proposed by the Software Engineering Institute (SEI). We conclude the discussion by outlining how architecture evaluation fits into an agile development process.

… and finally, we briefly plug the PLOPD5 book, on which Dragos, Markus and James Noble have been working recently :-)

Links:

Play

Recording Venue:
Guest(s): Grady Booch

Host(s): Markus
In this Episode we are happy to talk to Grady Booch. We started off by discussing his Architecture Handbook, how it came into being, the progress, and how it will look like once it’s finished. In this context we also looked at the issue of how to distinguish architecture from design. We then asked him about how “professional” software architecture is these days, as well as about the ubiquity of software product lines in industry. The next couple of minutes looked at the question of whether software development is an engineering discipline, craftsmanship or an art form, and we discussed the key qualifications of software developers. Grady then elaborated on the problems of developing in large teams as well as the potential limits of complexity we can tackle with software.

We then got back to a more technical discussion, where we looked at model-driven development, DSLs, etc. and the role of the UML in that context. Next was a discussion about scripting languages, and the current trend towards new languages. We then looked at component marketplaces and other forms of reuse, as well as the importance of OO these days and the relevance of AO. We concluded with a (small) outlook to the future.

Links:

Play

Recording Venue: OOPSLA 2006
Guest(s): Linda Northrop,
Doug Schmidt,
Kevin Sullivan,
Gregor Kiczales

Host(s): Markus
This Episode is a round table discussion about Ultra-Large Scale Systems. In 2006, a number of authors (among them our guests Linda Northrop, Doug Schmidt, Kevin Sullivan, and Gregor Kiczales) have produced a report that addressed the following question:

Given the issues with today’s software engineering, how can we build the systems of the future that are likely to have billions of lines of code?

In this episode, our guests discuss many of the issues that arise from this kind of system and provide an overview of the research areas that should be investigated in order to tackle the challenge. If you want to get more detailed information, you can read the ULS Report (PDF).

Links:

Play

Recording Venue:
Guest(s):
Host(s): Michael Markus
Recording Venue:
Guest(s):
Host(s): Michael Markus
This is the fourth and final episode on the fundamentals of Software Architecture. We talk mainly about architectural styles and patterns, as introduced in the POSA 1 Book. We also discuss a little bit the process of actually using those patterns for architecting systems.

Links:

Play

Recording Venue: JAOO 2006
Guest(s): Werner Vogels

Host(s): Markus
This episode is an interview with Werner Vogels, the CTO of amazon.com. We first talked about what scalability is, and which aspects there are to scalability. We then took a brief look at the technologies used at amazon, specifically, the middleware systems and the issue of vendor lock-in. Web services, and the role of SOA was the next topic. Then we covered what a service actually is add Werner explained the term “pizza teams”. Testing and Deployment was the next topic followed by a look at architectural characteristics of scalable systems, the value of simplicity and the CAP theorem. We concluded the discussion with a brief look at the future of distributed systems

Links:

Play

Recording Venue:
Guest(s): Andy Longshaw
Host(s): Markus
In this episode Markus and our Guest Andy Longshaw talk about enterprise architecture. More specifically, we talk about some of the patterns in Andy Longshaw’s and Paul Dyson’s book Architecting Enterprise Solutions: Patterns for High-Capability Internet-based Systems. These includes things like replication, load balancing, monitoring and application management.

Links:

Play

Recording Venue:
Guest(s):
Host(s): Eberhard Markus
This is the second snippet of the SOA 2 double-episode. Eberhard and Markus continue the discussion with the issue of service reuse and a couple of development process issues. We also look at the duality between infrastructure development and application development in the context of an SOA. We then discuss the great spaghetti misunderstanding :-) . We conclude this episode with a look at how to integrate BPM into the conceptual SOA framework we’ve built up to now, and we’ll also briefly skim over a number of technologies related to SOA.

Note that this episode, as well as the last one, is based on a set of slides; these can be downloaded from here. This episode covers slides 39 through 74.

Links:

Play

Recording Venue:
Guest(s):
Host(s): Markus Eberhard
Recording Venue:
Guest(s):
Host(s): Markus Eberhard
In this, as well as in the next episode Eberhard and Markus continue their discussion about SOA (the episode got too long, so we had to split it into two … SOA 2a and SOA 2b). In this episode, we talk about the various perspectives on SOA (CBD, EAI, BPM), about fundamental requirements towards an SOA, and we discuss the role of models in defining sustainable architectures. We also discuss how a programming model based on the described approach typically looks like. We then discuss a number of issues any large-scale SOA faces (and for which the SOA paradigm does not really provide an out-of-the-box solution: In this episode we discuss data type ownership and (weak) typing of data types.

Links:

Play

Recording Venue:
Guest(s):
Host(s): Markus Michael
Recording Venue:
Guest(s):
Host(s): Markus Michael
In this third Episode on software architecture, Michael and Markus talk about the basic tools that an architect uses when architecting systems. These tools include things like separation, abstraction, compression and sharing. We also relate these tools to the quality attributes we introduced in previous archtecture episodes.

Links:

Play