Today I gave a talk on building dynamic applications with OSGi at the Java-Forum-Stuttgart 2009. This was mostly the talk I gave (and prepared) together with Kai Tödter and Gerd Wütherich for previous conferences. Here are the slides:
The talk were in the main hall of the conference center and it was fun standing on that huge stage... :-) And of course I got completely confused during the talk while switching between the demo application and a slide showing a screenshot of that demo app - picking up every possible embarrassment... ;-)
Thursday, July 02, 2009
Friday, June 26, 2009
ObjektSpektrum-Article on Agility & Architecture
Together with my colleague Stefan Roock I wrote an article on building architectures in an agile way for the current issue of the German ObjektSpektrum magazine. The article is part of a controversy with Thomas Lieder about how to incrementally build architectures in agile projects.
In the introductory part of the controversy we talk about the basics of agile methods and the goal of keeping a flat cost curve for features over a long period of time. To achieve this goal we need to change and refactor the software all the time. This is an integral part of agile software development. We learned that its not possible to foresee the future and therefore decided to design only the next steps - and refactor, if we learn over time and find better designs if new requirements appear. This is quite clear on the low-level of individual classes and nicely supported by test-driven development and refactoring tools.
If we use the same argumentation for the architecture of a project, the discussions get a lot more controversy. People don't believe that it is easy to change and refactor the architecture of a system incrementally and flexible over time. We found this discussion often times quite unstructured and using the term architecture in various flavors and meanings. To ease the discussion about agile architectures we divide between the basic architectural style and the concrete architecture of a concrete system. Our opinion is that the basic architectural style is hard to change over time (for example changing a system from a standalone-rich-client application into a multi-user app-server-based system could be quite hard). In contrast to this we believe that changing the concrete architecture and structure of a system could be done incrementally and agile over time. This is obviously not true for every application. They need to be build from ground-up for flexibility and change. But how to build a system that is easier to change over time, even on the architectural level?
From our point of view, there are three fundamental characteristics of design you need to remember every day to build flexible architectures: understandable, loosely coupled and free of redundance. There are many well-known design principles that helps you to build such systems. Keep them in mind, build loosely coupled components, think about good APIs between them - and you are on the right track to build flexible applications and flexible architectures.
In the introductory part of the controversy we talk about the basics of agile methods and the goal of keeping a flat cost curve for features over a long period of time. To achieve this goal we need to change and refactor the software all the time. This is an integral part of agile software development. We learned that its not possible to foresee the future and therefore decided to design only the next steps - and refactor, if we learn over time and find better designs if new requirements appear. This is quite clear on the low-level of individual classes and nicely supported by test-driven development and refactoring tools.
If we use the same argumentation for the architecture of a project, the discussions get a lot more controversy. People don't believe that it is easy to change and refactor the architecture of a system incrementally and flexible over time. We found this discussion often times quite unstructured and using the term architecture in various flavors and meanings. To ease the discussion about agile architectures we divide between the basic architectural style and the concrete architecture of a concrete system. Our opinion is that the basic architectural style is hard to change over time (for example changing a system from a standalone-rich-client application into a multi-user app-server-based system could be quite hard). In contrast to this we believe that changing the concrete architecture and structure of a system could be done incrementally and agile over time. This is obviously not true for every application. They need to be build from ground-up for flexibility and change. But how to build a system that is easier to change over time, even on the architectural level?
From our point of view, there are three fundamental characteristics of design you need to remember every day to build flexible architectures: understandable, loosely coupled and free of redundance. There are many well-known design principles that helps you to build such systems. Keep them in mind, build loosely coupled components, think about good APIs between them - and you are on the right track to build flexible applications and flexible architectures.
Incremental Design at SEACON 2009
A few days ago I gave a short talk on Incremental Design at SEACON 2009, a new buzzword-free conference in Hamburg, Germany. Aside of the fact that this was the first conference in my beautiful home town (and only 15min away from home), I enjoyed to meet a lot of people there. I also made up a few slides for my talk, which you can now download as PDF (in German):
And last but not least I used my new presentation tool called Session Five for the first time. Was absolutely great!
And last but not least I used my new presentation tool called Session Five for the first time. Was absolutely great!
Friday, June 12, 2009
"OSGi on the Server"-Talk at JAOO 2009 in Aarhus
I am invited to the JAOO 2009 conference in Aarhus, Denmark, to talk in the “Java-Now” track about “OSGi on the Server”. I am pretty excited to join the folks at JAOO since I heard a lot of good things about this conference and the program already sounds quite interesting. Hope to meet a lot of interesting people there!
Friday, May 29, 2009
Slides from the OSGi Talks at Java User Group Essen
Already two weeks ago I gave two talks together with Gerd Wütherich at the Java User Group Essen meeting at May 14th. We talked about OSGi in general and building web applications on top of OSGi in specific. We had a room full of interested people and I enjoyed a lot talking there. If you are interested in the slides, here they are:
Enjoy!
Enjoy!
Thursday, May 07, 2009
OSGi Talks at Java User Group Essen
I will be at the Java User Group Essen meeting next week to talk about OSGi together with my colleague Gerd Wütherich. We will talk about the basic ideas behind OSGi as well as building web applications on top of OSGi. Take a look at the announcement for more details (in German).
Monday, May 04, 2009
Coming up: Eclipse Demo Camp in Hamburg
The tradition of the Eclipse Demo Camps in Hamburg (Germany) will continue with its next edition on Monday, May 25. We will, again, be at the scenic EAST design hotel and have great demos, drinks and, and, and... So don't forget to register yourself by adding your name to the Galileo Demo Camp Hamburg wiki page. This time, we had the idea to continue with a Stammtisch right after the Demo Camp (please don't forget to add your name to that list as well), so even more drinks can follow... ;-)
Sunday, May 03, 2009
Equinox Aspects 1.0 M7a available for download
Because of a stupid bug in the caching area I put a fixed build of the milestone online. So if you tried M7 and observed performance problems with the caching, you should try this fixed milestone build instead from the Equinox Aspects download area.
Subscribe to:
Posts (Atom)
