Arno Schmidmeier, AspectSoft

Arno  Schmidmeier

Arno Schmidmeier is CTO and founder of AspectSoft, a consulting company focusing in aspect oriented software development, service level management (SLM) solutions and enterprise application integration (EAI).

Before founding AspectSoft he worked very successful as Chief Scientist at Sirius Software, where he was responsible for the commercial adoption of new technologies like AOP. During this time he and his team deployed several mission critical SLM-projects based on AspectJ. Three of these projects have been awarded at the TeleManagement World 2001 in Nice, 2001 in Las Vegas and 2002 in Nice.

He was the first person outside PARC offering consulting services for use and introduction of AspectJ in commercial projects. He joined therefore several frequent travellers programs to fulfil his passion to teach aspect oriented software development. He represents his work regularly on international top conferences. He was the co-organiser of the AOSD Commercialisation workshop in Boston this year. And finally he served the Java community as an independent member of the expert team during the JSR 90, "Quality of Service API".

Arno spends most of his rare spare time with his wife Eva and their daughter Sophia. If he can afford the time he loves to play some games of blitz or tournament chess.

Presentation: "Let the code look like the design"

Track:   Domain-Driven Development

Time: Tuesday 11:00 - 12:00

Location: Nortvegia


Object oriented design and programming is quite successfull in creating domain models. The domain model should focus on the business problem and only the business domain. The object oriented programming paradigm has unfortunately some limitations. For example, it has problems to resolve circular dependencies and it has problems to separate crosscutting concerns like a consistent data format from the domain model. Quite a lot of code fragments, idioms and patterns sneak into the domain code where they do not belong. These artefacts make it harder and often even impossible to reason about the domain model while looking at the code.

The programming aspect-oriented programming (AOP) paradigm overcomes the shortcomings of the object-oriented paradigm.

This talk illustrates several of the well-known modelling limitations and describes how I used AOP to overcome them, and that the final code looked exactly like the design.

Password protected Download slides

Presentation: "Panel DDD"

Track:   Domain-Driven Development

Time: Tuesday 16:45 - 17:30

Location: Nortvegia

Tutorial: "Aspect Oriented Programming - (full day)"

Track:   Tutorials

Time: Thursday 09:00 - 12:00, 13:00 - 16:00

Location: Nortvegia

Abstract: Objects have been quite successful in the past to modularize and organize most problems. OO technology created new architectures, solved problems and provided a sound base for modern middleware platforms. However due to the increasing complexity of modern programs non business problems got more and more important. Typical examples are transaction handling, persistency, tracing, logging, contract checking, etc. Object technology failed to bind these additional concerns in a modular way to the objects of the business domain. Aspect oriented programming (AOP) proved quite successful in binding these these concerns to the objects of the business domain. This tutorial provides a hands on introduction into AOP with AspectJ.

A long pair programming session starts direct after a short presentation of the ideas of AOP and the most important features of AspectJ. YOU are going to apply the ideas of AOP to solve common OO-problems like tracing and exception handling with AspectJ by yourself. Many slides with answers to questions of common interest will interrupt your coding sessions.

Over the day, you will:

  • learn how AOP works in practice.
  • Get an life impression how AOP can be used on practical projects,
  • Learn how to identify and extract aspects in your legacy code
  • Learn some common AspectJ patterns and idioms
  • Learn how to avoid some common pitfalls
  • Learn how this technology interacts with traditional OO/Java programming.
  • Create some common library aspects, which are helpful in every days work.
  • learn how modern IDEs support AOP

Prerequisits: Each pair will need one laptop with a modern IDE (preferable eclipse) installed on it, so do not forget your laptop.