Friday, December 29, 2006

Eclipse RCP and Spring: Code Example from Spring Experience 2006

The example that I used during my talk about Spring and Eclipse RCP at The Spring Experience 2006 is now available for download:
I zipped all the projects of my workspace. You just need to have an Eclipse 3.2 target platform installed and the Equinox 3.2 bundles added to it. The workspace includes two launch configs, one for the server (starts an embedded jetty) and one for the client (starts a modified RCP Mail Example application).

Sunday, December 10, 2006

Slides from The Spring Experience 2006

Today I gave a talk at The Spring Experience 2006 about the usage of Eclipse RCP together with the Spring Framework. I discussed several variants of using Spring in the typical RCP settings and ended with the theme "Spring and OSGi everywhere", where you have the Equinox OSGi runtime and Spring deployed as a set of bundles on the client side as well as on the server side. From my point of view this is a very promising combination of these technologies. You can find the slides online in the events section. And I will make the code example I showed during the talk available shortly.

Friday, December 08, 2006


Congratulations and many thanks to Heiko Seeberger. He recently joined the AJEER project at SourceForge and ported AJEER to Eclipse 3.2 - which is really great news. You can download AJEER 2.0 from the SourceForge site and play with it or use it for your projects. The new version of AJEER not just works fine with Eclipse 3.2, it works fine with the current versions of AJDT as well. So you benefit from all the nice improvements of the new AspectJ versions.

Apart from the pure coding work Heiko also worked on the documentation, some Getting-Started guide, an update-site, and an example. Really cool!!!

Thursday, December 07, 2006

Equinox Aspects Incubator Code Available

After a lengthy period of legal clarifications we got the first version of the new AspectJ-Load-Time-Weaaving extension for the Equinox OSGi runtime out. Matthew Webster put his code into the CVS and wrote a nice Getting Started page. You should definitely take a look at it and try things out. The two aspect adoption models (co-op and opt-in, more information here) provide a powerful set of possibilities to use load-time aspect weaving for OSGi-based applications (Eclipse-RCP, for example, as well as server-side-OSGi stuff :-).
You might also take a look at bug entries for the Equinox Incubator component which start with [Aspects] to find out more about bugs, additional features and so on.
If you are going to join EclipseCon 2007, please vote for Matthews Long Talk: AOP and OSGi - A Marriage Made in Heaven.

Wednesday, December 06, 2006

Forth Article on Eclipse Internals Available

In the forth episode of my "Under-the-Hood"-Series for the German Eclipse-Magazin I discuss the potential behind the Extension-Point-Mechanism which is at the heart of the Eclipse architecture. My message is, that you can use the Equinox Extension-Registry for much more than just adding extensions to existing RCP extension points like views and editors. The mechanism allows you to create really flexible architectures for your business applications - on the client side as well as on the server. Unfortunately the article is written in German (and can be found here) but if you would like to know more about my experiences and are not familiar with the German language do not hesitate to contact me.

Tuesday, December 05, 2006

Inject Dependencies into Extensions via Spring

After a while using the Spring-OSGi bridge I tried to use more Spring features on the client side within my Eclipse-RCP- or Equinox-based apps. Especially the question how to inject dependencies into extensions like views or editors seemed quite interesting to me.

And it is pretty easy to realize this. The only thing you need to do is: Define the view or editor in your Spring application context as a normal Spring bean (including dependency injection, AOP or whatever) and write an extension factory for the extension. This extension factory implements IExecutableExtensionFactory and is called by the Extension Registry to create the extension for you. You just need to implement the create-Method by invoking the Spring app context getBean(..) to let Spring create the real view or editor object for you. Then you put this extension factory into the extension declaration within the plugin.xml file instead of the real view or editor. Thats basically it. Cool, isn't it?

After doing this you should take care that your extension factory implements IExecutableExtension and delegates that call to the real extension if your extension implements this interface for some reason (views do so to get some initialization data). And you should take care of the definition within the Spring app context and that the context creates a new object each time you call getBean(..).

Monday, December 04, 2006

Eclipse at The Spring Experience 2006

This week will start The Spring Experience 2006 in Hollywood, Florida. This is a conference entirely on the Spring Framework and it is filled with a huge number of interesting presentations. I would especially recommend the talk by Adrian Colyer about the combination of Spring and OSGi. You should not miss it. Happily they invited me to this great event to give a presentation on Spring and Eclipse RCP which is scheduled for next Sunday. So, don't miss it. :-)

Session-Slides online

I finally uploaded the slides from my past events all at once. You can find them all together in the events section. They include my slides from the Server-Side-Eclipse-Symposium in Esslingen about the Spring-OSGi combination, my slides from WJAX about Server-Side-Eclipse and Spring-and-OSGi-combined, the presentation on "The Eclipse Way" at the XP Days Germany and my two sessions on Eclipse-RCP and the Equinox-OSGi-integration at the iX Conference last week in Frankfurt. All material is online now. Have fun! Feedback is always welcome!!! :-)

Monday, October 09, 2006

Spring-OSGi now public available

The Spring-OSGi implementation is now available for everybody and Adrian Colyer has created a nice overview website. You can find the first sketch of information about the Spring + OSGi combination on the site as well as links to the repository, a small example, and many more:

Thursday, October 05, 2006

Spring + OSGi + Web-Server

Hey, imagine this: You are able to build up server-side applications out of OSGi bundles to have clean boundaries and dependencies between your components. You take advantage of the Equinox Extension Registry (favous from the Eclipse IDE) to make your server-side applications as flexible and extensible as the Eclipse IDE. You deploy your server-side application into a standard web servers servlet container and you let the OSGi runtime take care of your bundles (having all the dynamic features of OSGi). And you utilize the Spring framework as a backbone for your application, using the dependency injection of Spring for your POJOs and all the nice technology abstractions Spring comes with. And the good news is: I got it all working (for my example project that my colleques Bernd Kolb and Gerd Wütherich build with me). This is really cool... :-)

I will show this stuff at the Server-Side-Eclipse-Symposium at the Eclipse Summit Europe next week. Don't miss it...

Tuesday, October 03, 2006

Eclipse Summit Europe 2006

Don't miss the opportunity to meet a lot of interesting people at the upcoming Eclipse Summit Europe in Esslingen, which is close to Stuttgart, Germany. I would especially recommend the Server-Side-Eclipse-Symposium on Thursday, where you can hear more about the server-side usage of Eclipse technology, for example:
  • Equinox on the server, for example how WebSphere 6.1 is build on top of Equinox OSGi
  • Rich AJAX Platform
  • The Open-Healthcare Framework
  • Web 2.0 applications build on top of Eclipse
  • and the combination of Spring and Equinox OSGi
Don't miss it!

Thursday, May 25, 2006

Server-Side Eclipse is Main Cover Title in German Eclipse Magazine

The current volume of the German Eclipse Magazine has the server-side usage of Eclipse technology as its main theme on the cover. Cool!!! There are four articles related to server-side Eclipse technology inside: An interview with Thomas Watson from the Equinox project team, a description of the current Equinox OSGi implementation by Sven Haiges, an interview with Jochen Krause from Innoopract about the new Rich AJAX Platform project and a more detailed version of the Server-Side-Eclipse article that Bernd Kolb and I wrote for the Java Magazin where we describe together with Gerd Wütherich the different technological possibilities how to use Eclipse for server-side applications. This article is also available as PDF download from my publications section.

Third Article on Eclipse-Internals Available for Download

The PDF version of the third article of my "Under the hood" series for the German Eclipse-Magazin is available for download in the publications area. The article discusses the challanges of API evolution and "Build to Last" for platform development.

Sunday, May 21, 2006

Java-Magazin Article on Server-Side-Eclipse

Together with Bernd Kolb I wrote an overview article about the server-side usage of Eclipse technology for the German Java-Magazin. The article discusses the different settings of how to use Eclipse technology for server side applications.

JAX & Eclipse-Forum-Europe Slides Online

I added the slides from all my presentations at JAX 2006 as well as the Eclipse Forum Europe 2006 to the events section.

Sunday, April 30, 2006

Server-Side Eclipse Gains Momentum

Eclipse is mostly known for their favourite Java IDE and the Rich Client Platform. From my point of view the Eclipse platform can be used far beyond that, especially for server-side applications or server-parts of classical client-server apps. And indeed, during the past weeks and month more and more people are looking at the Eclipse Platform to build server-side applications. They are looking at the platform to componentize their applications using the Equinox OSGi runtime as well as to utilize the Extension-Point framework to make their application structure more flexible and open for extensions. Wouldn't it be nice to implement web-applications using extension-points, plugins and all the other headless features of the Eclipse platform?
The answer is YES!!! I collected a number of useful links to help you to use the Eclipse platform on the server-side:
And don't forget to join the "Server-Side Eclipse" talk at the upcoming Eclipse-Forum-Europe.

Friday, April 14, 2006

Out Now: Refactoring in Large Software Projects

Yesterday I got the first copies of the english version of my book "Refactoring in Large Software Projects" that I wrote together with my collegue Stefan Roock. This is the translated and slightly updated version of the german book on large refactorings. I am quite happy that we finally got it out after a lenghty period of working on the cummunity feedback and proof reading.

The book contains chapters on different situations where refactoring becomes more complex in larger projects like: larger teams and systems, refactorings across API boundaries and refactorings that affect the persistency layer and the persistent data in a relational database. Around those more complex situations the book discusses smells on the architecture level of applications and their tool-based detection.

The book is published by John Wiley and Sons Ltd. Here are a few links to the book via famous book stores:

Sunday, April 02, 2006

Second Edition of Eclipse Book out now

The second edition of the German book about the Eclipse platform is published and available from bookstores these days. I updated my chapters about the Rich Client Platform and Refactoring Eclipse Applications (together with Matthias Lübken) for Eclipse 3.1.

Tuesday, March 21, 2006

Slides from the Eclipse Members Meeting Lightning Talk

I just gave my first Lightning Talk at the Eclipse Members Meeting here in Santa Clara (in conjunction with the EclipseCon 2006) in less than 5 minutes. You can find the slides here (made available under the EPL 1.0).

Saturday, March 11, 2006

Lightning Talk at the Eclipse Members Meeting

Donald Smith asked me to give a so-called "Lightning Talk" at the Eclipse Members Meeting on Monday, March 20th. I accepted the challange to talk for 5 minutes about my work with Eclipse and I will try to infect the audience with my enthusiasm for the combination the Eclipse OSGi runtime, integrated AspectJ 5 load-time weaving and the Spring framework.

Monday, February 27, 2006

Second Article on Eclipse-Internals Available for Download

The PDF version of the second article of my "Under the hood" series for the German Eclipse-Magazin is available for download in the publications area.

Sunday, February 26, 2006

EclipseCon 2006: Runtime Aspect Weaving for OSGi

If you are going to attend EclipseCon 2006 you should not miss Matthew Websters and my demo of the technology that is currently developed as part of the Equinox Aspects Incubator project. We are integrating load-time aspect weaving into the Eclipse OSGi runtime. This project is the follow-up of my AJEER work and some similar work that was done inside IBM by the AspectJ team. So don't forget to join the demo session on Tuesday, 9:30 in room 204.

Sunday, February 19, 2006

Sessions at the Eclipse Forum Europe

The first Eclipse-Forum-Europe will take place together with the JAX conference in Wiesbaden from May 8th to May 10th. Together with Frank Gerhardt I will present: Beyond Code Reuse: Adopting the Eclipse Architecture. The Eclipse refactoring sessions that I announced for the JAX conference are moved to the Eclipse-Forum-Europe and I will present them with my colleque Bernd Schiffer. So if you are planning to attend JAX and/or the Eclipse-Forum and would like to meet, drop me an email.

Saturday, February 18, 2006

Second Article on Eclipse Internals published

The second part of my "under the hood" article series for the German Eclipse-Magazin is published in the brand-new Eclipse-Magazin - Vol. 6. This second part of the series takes a look at the development process behind the Eclipse platform project. It provides an overview about "The Eclipse Way" and talks about how to adopt that process for general inhouse development projects.

Monday, February 06, 2006

Eclipse-Sessions at JAX 2006

I am happy to announce that a couple of Eclipse-related sessions have been selected for the upcoming JAX Conference in May in Wiesbaden, Germany. Aside of a bunch of others I will present a hands-on session about Merciless Refactoring With Eclipse together with my collegue Matthias Lübken as well as a session about the combination of the Spring framework and the Eclipse Equinox Runtime together with Gerd Wütherich.

Sunday, February 05, 2006

Short Talks at EclipseCon 2006

I am happy to announce that two of my short talk proposals that I submitted to EclipseCon 2006 are accepted for presentation. Together with Frank Gerhardt I am going to talk about
Beyond Code Reuse: Adopting the Eclipse Architecture as well as
Implementing Aspect-Oriented RCP-Applications.

Thursday, February 02, 2006


Oren Mishali and Shmuel Katz from the Technion, Israel Institute of Technology, are going to present at research paper at the upcoming conference on aspect-oriented software development (AOSD '06) about aspects to support Extreme Programming inside the Eclipse SDK. They are using AJEER to inject specialized aspects into the Eclipse SDK. So if you would like to hear more about their experiences using AJEER, join their presentation at AOSD and meet.

Sunday, January 29, 2006

Mark your Calendar for Waterfall 2006

This is a must for anyone: The upcoming Waterfall 2006 conference. Hope there are no parallel tracks so that I can attend every since session. :-)

Friday, January 27, 2006

Eclipse: Extension-Points without Plug-Ins

The Eclipse developers have finished huge refactorings of the runtime for the Eclipse 3.2M4 build. The most interesting refactoring is the extraction of the extension-point-framework into separate bundles. The nice thing about this refactoring is that this extracted extension-point-framework can now be used standalone - without an OSGi runtime. This allows you to use the extension-point/extension techniques even in those settings that make it hard to deploy an OSGi runtime (like application servers).

To use the extracted extension-point framework you just need to install the appropriate JAR files into your classpath and tell the framework at startup time where to find the extension-point and extension definition files. Thats it!

Great work from the Eclipse team!!!

Thursday, January 26, 2006

New Blog-Based Homepage

I swichted this site to be a blog-based site. This offers you a feed to keep track of changes, allows you to post comments and comes with a fresh new design. Your feedback is appreciated. You can still take a look at the old content here.