Skip to content

Software Engineering Radio

The Podcast for Professional Software Developers

Archive

Tag: components

Recording Venue:
Guest(s): Eberhard Wolff

Host(s): Markus
In this episode we discuss the current state of the spring framework. We talk about core features (dependency injection, AOP) but also about the spring universe, i.e. some of the more specific frameworks such as Spring Batch.

Links:

Play

Recording Venue:
Guest(s): Galen Hunt

Host(s): Markus
In this episode we talk to Galen Hunt about the Singularity research OS. Galen is the head of Microsoft’s OS Research Group and, together with a team of about 30 other researches, has built Singularity.

We started our discussion by covering the basics of Singularity: why it was designed, what the goals of the project are as well as some of the architectural foundations of Singularity: software isolated processes, contract-based channels and manifest-based programs. In this context we also looked at the role of the Spec# and Sing# programming languages and the role of static analysis tools to statically verify important properties of a singularity application.

We then looked a little bit more closely at the role of the kernel and how it is different from kernels in traditional OSes.

In a second part of the discussion we looked at some of the experiments the group did based on the OS. These include compile-time reflection, using hardware protection domains, heterogenerous multiprocessing as well as the typed assembly language

We closed the conversation with a look at some of the performance characteristics of Singularity, compatibility with traditional operating systems and a brief look at how the findings from Singularity influence product development at Microsoft.

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: OOPSLA 2007
Guest(s): Dave Thomas

Host(s): Markus
This episode is an interview with Dave Thomas (OTI Dave or Smalltalk Dave, not PragDave). We started our discussion with a look at the (non-)success of objects and components. We then discussed some history behine Eclipse and Dave’s role in OTI. We then compared Smalltalk and Ruby and looked at the promises of small and powerful languages such as Lisp. We also discussed the role of (static) type systems and the role of tool support for languages.

We then switched gears and looked at what is necessary to scale agile development to the level of large organizations
and how techniques from lean production and manufacturing as well as product management can play an important role.

In the last part of the interview we looked at the state of research today, and especially the relationship between industry and academia in this area.

We concluded the interview with Dave’s opinion on what it takes to be a good developer.

Links:

Play

Recording Venue:
Guest(s): Peter Kriens
BJ Hargrave

Host(s): Martin Bernd
This episode is about OSGi, the dynamic module system for Java. Our guests are Peter Kriens (OSGI’s Technical Director) and BJ Hargrave (OSGI’s CTO). We’ll discuss what OSGi is all about and why and in which contexts it is useful. Additionally we are having a look at the different layers of OSGI and where and how they are used. Other questions discussed are: What means dynamicity in an OSGI environment? Where is OSGI used? What’s the future of OSGI? How does OSGI interact with existing middleware solutions? How can I run several versions of the same JAR at the same time? Where are OSGI’s problems?

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