Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Java Forum Nord 2015: 'Reflecting Software Architectures' by Stefan Zörner

DZone's Guide to

Java Forum Nord 2015: 'Reflecting Software Architectures' by Stefan Zörner

Stefan Zörner talked software architectures at Java Forum Nord 2015. Learn about key factors, best practices, and more.

· Integration Zone
Free Resource

Modernize your application architectures with microservices and APIs with best practices from this free virtual summit series. Brought to you in partnership with CA Technologies.

This article is part of a series about Java Forum Nord 2015, a conference that took place in Hannover, Germany. Links to articles about other talks I visited there can be found below.

Stefan Zörner is known for having built quite a nice brand around himself and his thoughts about software architecture. He is one of the few speakers I know who have a corporate identity on his website, book design and slides.

Stefan began his talk with THE question concerning software architecture: "What is software architecture?" According to Stefan, it is the sum of all important decisions. These decision are the ones that are fundamental facts and hard to change afterwards. As Grady Booch said in his "The accidental architecture": "Every interesting software-intensive system has an architecture. While some of these architectures are intentional, most appear to be accidental."

Knowing that every system has some kind of architecture, it is important to assess this architecture. This assessment includes the balance between

  1. architectural relevant technical requirements,
  2. the architecture itself (models, concepts, decisions),
  3. best practices and
  4. the implementation of this architecture

Also of importance is the balance between key factors of the system, such as usability, portability, maintainability, security, costs, and so on.

Besides other interesting thoughts Stefan mentioned, I found one tool very important: scenarios. Scenarios are short texts like user stories that describe quality attributes of the software. They are a tool for communication between software developers to discuss consequences and solutions of specific situations. There are different scenarios like:

  1. Quality scenario: "Connection to database broke down. Within 2 seconds, the user gets informed about the consequences." A quality scenario consists of a source (person, system, event), a trigger/action, an artifact (object of the action), a response (of the system or the environment), and some kind of metric for this response, for example time.
  2. Change scenario: "The user interface should be translated to a new language. Given a complete textual translation, the programmer is able to integrate this translation into the application within 1 day."
  3. Error scenarios: "Client lost connection to backend. After reestablishing the connection, the work can go on and no data was lost."

Listening to the talk, I remembered a thought I heard earlier, maybe in  a podcast or an article: Systems can be tested continuously against errors, even within a productive environment. To do that, specific scenarios are programmatically triggered and the response of the system monitored.

Other Content of Java Forum Nord 2015

These are the talks I visited:

TL;DR

At Java Forum Nord 2015, Stefan Zörner talked about what software architecture is, how it can be defined in the context of a given software system, and how scenarios can be used to discuss the behavior of a system.

The Integration Zone is proudly sponsored by CA Technologies. Learn from expert microservices and API presentations at the Modernizing Application Architectures Virtual Summit Series.

Topics:
java ,conference ,integration ,ei ,enterprise integration ,software architecture

Published at DZone with permission of Steven Schwenke. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}