Friday, February 12, 2010

Slides on OSGi Lessons Learned from OOP-2010 Conference

A few weeks ago I gave a talk at the OOP-2010 conference in Munich about the lessons I learned from building business apps on top of OSGi during the past five years. Finally I put the slides online:
Sorry for the delay!


Saturday, January 30, 2010

A Big Thank You for the Feedback

Feedback is an essential force and of priceless value for many things you do in your daily life. It is one of the central elements of agile software development and it is absolutely priceless to get honest and constructive feedback for the work you do. Sometimes its hard to get this feedback, sometimes not. Some of you might know that I am part of the podcast team at Software Engineering Radio, a podcast for professional software developers that publishes a new episode every 14 days under a creative commons license. I don't do as much episodes as I wish, but regularly people write emails to the team saying "thank you for the great work" and telling us that they really like what we do. Now its time for me to say a big THANK YOU back to those guys. Especially this blog entry that I read today is really nice (many many thanks) and gives a lot of motivation!

Thank you!!!


Tuesday, January 12, 2010

Sessionfire is available as public beta

Some of you might know, Matthias and myself are working on a new kind of presentation tool, called Sessionfire. After a period of private alpha testing we are pretty happy that it has left this period just a few days ago and started its public beta stage. So everybody is invited to grab a copy of it and give it a try. Its not open source (maybe it will be some day in the future), but its free to download and free to use (as well as the next beta builds).

The current beta version has a quite limited set of features, so you don't get a replacement for your favorite presentation tool right away. We start with something small, far far away from being feature complete, move forward in small steps while always trying to do something useful in a gorgeous way. So you won't be able to create your presentation completely with Sessionfire at the moment, for example. But you can run your show with Sessionfire, using images, animations, timers, three-dimentional optics, reflections, visual fast-forward and -backward, different 3D-layoutings and some more stuff.

Try it! - Enjoy it!

Friday, December 11, 2009

Some Thoughts on Cathedrals and Software Architectures

While preparing a talk on module systems and architectures I remembered some old talks I listened to talking about architectures and arguing why an explicit software architect is necessary within professional projects. Many of them used the analogy of building a dog-house versus building a cathedral. For a small dog house, you don't need an architecture. But for the cathedral you do. Hm, agree, but where is the point?


I think the world has changed. Today for most software systems the analogy of building something like a cathedral is no longer a good choice. And I hope that people no longer have a cathedral in mind when designing software. We have learned that building software is a learning process, that requirements change all the time, that we need a short time-to-market, and most of all that we need feedback all the time - and react to this feedback quickly. Agile methods reflect this and allows us to move forward to modern ways of software development.

But our view on architectures need to reflect this. Modern software architectures need to be build for flexibility, for changing requirements all the time, for changing even fundamental layers of our software in a flexible way without causing tremendous costs. Having a cathedral in mind don't help you here. But if you still like the analogy of building real buildings (even though I think this is not always a good analogy to building software at all), you should take a look at some modern office buildings. Maybe they are not as beautiful as some of the old cathedrals, but they are built for flexibility.


But building flexible architectures is not an easy task. We need to build a flexible architecture and at the same time just what we need without designing all possible stuff upfront. Sounds like contradictory goals, eh? Hm, in some way, they are. I think modularity can help you to solve this conflict. Modularity (and I mean modularity on a higher level than individual classes or packages, but more something like Bundles in OSGi) helps you to think about dependencies, coupling, cohesion, and many of these nice design principles. And I think we all agree on having a good, decoupled design makes life easier when things change - and they will change.


Slides from Meet-The-Experts on Architecture

Last friday I was invited to give a talk at the Meet-the-Experts event in Solingen. I talked about my view on architectures in an agile world and how module systems drive those architectures for a flexible future. Here are the slides:

Thursday, December 10, 2009

2nd Eclipse DemoCamp Hamburg in 2009

I organized a number of demo camps over the past years (always together with my colleague and friend Peter Friese), but the last one was different. I was overwhelmed by the huge number of registered attendees for the 2nd Eclipse Demo Camp in Hamburg this year. We had over 110 people registered on the wiki - around twice as much as for the other camps in the past. And nearly all of them showed up at the event. This was absolutely amazing! Thanks again to all of you making this event such a big success!!!

Peter posted some notes on the program and what happened during the demo camp, so I don't repeat all this and instead direct you to his nice summary of the event. And I have to say many many thanks to all the wonderful speakers who all gave funny and entertaining talks and made the evening not just full-packed with information and details on Eclipse stuff, but also a fun event. I enjoyed it very very much!

Looking forward to organizing the next demo camps and hoping to see you all there!!!


Monday, November 16, 2009

OSGi for Eclipse Developers Webinar

Today I gave an Eclipse webinar on "OSGi for Eclipse Developers" together with Chris Aniszczyk and Bernd Kolb. We talked about various OSGi things that might sound strange and/or unfamiliar to you if you come from the Eclipse way of developing applications. We talked about the relationship of Eclipse and OSGi, dependency management and why you should use Import-Package instead of Require-Bundle, dynamics with OSGi, services vs. extensions, versioning, some compendium services and tooling for OSGi. If you missed the live broadcast, you can watch the entire webinar from here again. Enjoy!


Friday, November 13, 2009

Coming Up: Eclipse Demo Camp in Hamburg at December, 4th

The Eclipse Demo Camp in Hamburg is coming up on 4th of December (its a Friday) from 6:30pm - 10pm at the stylish EAST hotel (like the past demo camps in Hamburg). And I am pretty impressed about the number of participants: We already have more than 70 people registered for the event. Wow... Maybe one of the reasons is the exciting program we put together... :-)
  • Tom Schindl will talk about Eclipse e4
  • Jan Köhnlein talks about building graphical and textual editors for your domain-specific language.
  • Jochen Krause will showcase Eclipse RAP and how you can build your rich AJAX apps using the Eclipse UI metaphors.
  • Nils Hartmann and Gerd Wütherich will share some insights into the various ways of how to realize an automated build process for OSGi and Eclipse applications.
  • And Ekkehard Gentz will show us "redview", a technology to build dynamic views for enterprise applications based on Riena, EMF and CDO.
Thanks to all the speakers who have agreed to join us in Hamburg to give demos on cool technologies - some of them travelling to Hamburg especially for the camp. Thank you all very very very much!!!

If you haven't registered yet, go to the wiki page and put your name on the list (if you have no account for the wiki, just create one or send me an email and I will put you on the list). There is no fee or ticket you need to pay for, itemis and it-agile will sponsor the event. Thank you guys for that!!!

Its a great opportunity to see the technology in action, meet with the guys building that stuff and have a chat. See you at the Demo Camp in Hamburg. Don't miss it!


Slides from WJAX Talk on Building Web-Apps with OSGi

I uploaded the slides of my talk on building web applications on top of OSGi that I gave yesterday at WJAX 2009 together with Gerd Wütherich and Peter Roßbach:
The slides are German only. Sorry about that... Hope you enjoy it anyway... :-)


Wednesday, November 11, 2009

Slides from OSGi Best Practices and OSGi Performance Bloopers talks at WJAX 2009

Here are the slides of my two talks that I gave today at the WJAX conference in Munich:
Enjoy!


Wednesday, October 28, 2009

Slides from Eclipse Summit Europe 2009

Today I gave two talks at the Eclipse Summit Europe 2009 in Ludwigsburg. Here are the slides:


Monday, October 26, 2009

Ready for Eclipse Summit Europe 2009

Tomorrow I will travel to the Eclipse Summit Europe 2009 (Ludwigsburg, Germany) to meet great people, see interesting talks and participate in two session on stage: I am happy to present together with Jeff McAffer from EclipseSource our experiences using OSGi in various settings and the "best practices" that we extracted from that. So if you are interested in avoiding the faults and mistakes I did during the past years, join our talk (OSGi Best Practices) and see me talking about my own failures... :-) Its Wednesday at 1:30pm.

In the second talk I will give a short overview of the Equinox Weaving project (formerly known as Equinox Aspects), what's new and what's coming up in the future (Equinox Weaving: Bytecode Weaving in OSGi). So if you would like to hear more about bytecode weaving classes in an OSGi environment, don't miss these 20 minutes at Wednesday at 3:30pm.

See you all in Ludwigsburg!

Thursday, October 08, 2009

Slides from JAOO: OSGi on the Server

It was my first time being at JAOO in Aarhus, Denmark, and it was absolutely great. Lots of interesting talks and discussions and I enjoyed a lot to talk in this fantastic cinema-like room:



I talked about the different settings how you can use OSGi on the server-side and about the dynamics of OSGi applications:
And you can find most of the slides of the other talks at the schedule pages of the conference. Enjoy!


Saturday, October 03, 2009

JAOO is coming...

I will leave Hamburg this Sunday to travel to Aarhus, Denmark, for this years JAOO conference. It's my first JAOO and I heart so many good things about it. :-) And I have the great opportunity to give a talk on "OSGi on the Server". Eberhard Wolff is organizing the "Java Now" track and invited me to this. Thank you very very much for that, Eberhard!!!

Saturday, September 19, 2009

Eclipse 3.6 M2 is out - and includes Equinox Weaving

The second milestone of Eclipse 3.6 is available for download - and its the first milestone build that includes the Equinox Weaving feature as part of the Equinox 3.6 M2 downloads.

After graduating the Equinox Aspects work we renamed it to Equinox Weaving. The reason for this is: The design separates between the base mechanism of modifying bytecode at class loading time and the actual bytecode modification. The AspectJ-based aspect weaving for bundles is just one of many possible bytecode modifiers you can think of. Another one that we implemented (but is not yet part of the Equinox Weaving project) allows you to use Springs load-time weaving infrastructure on top of a OSGi runtime together with Spring Dynamic Modules. And the nice thing about it is: While you are free to choose whatever weaver you like, the caching mechanism of Equinox Weaving works independent from all those weavers.

We still need to update the Equinox web to reflect the graduation and design changes of Equinox Weaving, but please feel free to take a look at it. We are happy to answer questions on the newsgroup and the mailing list.

Enjoy!

Saturday, September 05, 2009

Eclipse Summit Europe 2009 Program Online

The technical program for Eclipse Summit Europe 2009 is now online and I am pretty happy to be part of it with two sessions:
  • Equinox Aspects - Bytecode Weaving for OSGi: This is some kind of an update talk on the Equinox Aspects (or better: Equinox Weaving) project. Will give some insights what has happened and what is planned for the future.
  • OSGi Best Practices: This is a joint talk with Jeff McAffer, Paul Vanderlei and Simon Archer where we will throw together our experiences from building apps on top of OSGi over the past years.
Don't forget to register for the event. Looking forward to seeing you all there!!!

Thursday, July 02, 2009

Slides from Talk at Java-Forum-Stuttgart 2009

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... ;-)

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.

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!

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!