Monday, February 02, 2009

Equinox Aspects 1.0 M5 available for download

The fifth milestone of Equinox Aspects is available for download from the Equinox Aspects download area. There are no new features, just a few bug fixes included in this milestone build.
Aside of that we discussed a few changes to the way Equinox Aspects can be used and are going to include some changes for the next milestone. The feedback from the AJDT team and their users is really useful to further improve the stability of Equinox Aspects and to ease the installation process. Special thanks to Andrew Eisenberg and Andy Clement for the feedback, discussions and contributions!

Wednesday, January 28, 2009

Short Talk on Using Equinox Aspects to Provide Language Developers with Deep Eclipse Integration

As you might now, the new version of AJDT uses Equinox Aspects to allow deeper integration of some AJDT features into the JDT. Andrew Eisenberg (from the AJDT team) will give a short talk about this at this years EclipseCon: "Aspects Everywhere: Using Equinox Aspects to Provide Language Developers with Deep Eclipse Integration". Aside of the fact that I am fascinated to see this usage of Equinox Aspects for AJDT (some kind of "eat your own dogfood"), I am excited about the design of this part of AJDT. It allows other language developers to reuse this part to achieve the same level of integration into JDT. Very cool stuff. I will definitely go to see Andrews talk to hear more about this!

Monday, January 26, 2009

Equinox Aspects and OSGi for Eclipse Developers at EclipseCon 2009

Just a few weeks from now the doors will open to a new EclipseCon in Santa Clara. I am very happy that I got a short and a long talk accepted this year!

The short talk "What's new in Equinox Aspects" will be an update on the Equinox Aspects project. We will briefly talk on the improvements and challenges during the past milestone builds.

The long talk "OSGi for Eclipse Developers" is an overview of those OSGi techniques and facets that are typically not very well known by people coming from the Eclipse world to OSGi. So obviously we will talk about using ImportPackage instead of RequireBundle, the concept of OSGi services and why they are extremely useful, and some more fun stuff.

I am looking forward to seeing you at EclipseCon!!!

Refactoring book review by Ralph Johnson

Wow, what a great feedback! In this blog posting Ralph Johnson reviews two books on emergent design and refactoring. I had to look twice, but the book on large refactorings that he reviewed was the one that my colleague Stefan Roock wrote together with me some time ago. I was so excited about this positive review from the father of so many work on refactoring that I completely forgot to refer to this from my blog... Now, a few weeks later, my brain is back to normal state (or worse, who knows) and I am happy to post this here... :-)

Friday, December 12, 2008

Equinox Aspects 1.0 M4 available for download

The forth milestone build of Equinox Aspects is available for download. This build focuses on improving stability and reliability. Take a look at the 1.0 M4 New & Noteworthy page for more details and a list of fixed bugs.

Wednesday, December 03, 2008

Next version of AJDT uses Equinox Aspects

This morning I read this mailing list posting about using Equinox Aspects on the AJDT and AspectJ lists. Great to see that the AJDT team is going to use Equinox Aspects as supporting technology for the 1.6.2 release coming up at the end of this month. If you are interested you can find more details on this wiki page: JDT weaving features.

Friday, November 21, 2008

Slides and more from Eclipse Summit Europe 2008

I am back from the Eclipse Summit Europe 2008 in Ludwigsburg and found the time to put the slides from the talk on Equinox Aspects online (pdf). The slides are pretty much the same as from the previous talks I gave on aspect weaving for OSGi during the past weeks, so you won't find real new stuff in it. Nevertheless, giving this talk is just plain fun.

The RT symposium (I helped Heiko and Jeff a bit to organize it) on Tuesday morning was more or less an open discussion about topics around the RT project. We asked for answers to some questions upfront to the meeting and discussed those during the first part of the symposium. For sure some nice and interesting discussions came up during this. Nevertheless the second part of the symposium was a lot more lively and interesting from my point of view. We collected some topics, prioritized them and discussed them in the prioritized order (maybe something like "Open-Space Light"). There was a lot more discussion going on, more participation, sometimes even a bit controversal. Great. If I will participate in organizing such a symposium again sometime in the future, I will definitely vote for doing more (if not all) of the symposium that way.
A rough outline of the symposium can be found at the RT-Symposium-at-ESE-2008 wiki page. And I can recommand watching the video podcast that Ian Skerrett recorded together with Jeff about the RT symposium. Its fun watching... :-)

This was not the only video that Ian recorded at the event. He interviewed all the symposium organizers and published these great video podcast episodes (series 1, series 2). Thanks a lot, Ian, for these video podcasts. Absolutely great!!!

Wednesday, November 05, 2008

Slides from WJAX 2008 online

Still being at the WJAX conference in Munich I took the time to put the slides online from all the talks I am involved in: Enjoy!

Sunday, November 02, 2008

Equinox Aspects 1.0 M3 available for download

The third milestone build of Equinox Aspects is available for download. This build focuses on improving stability and reliability and implicates major enhancements to some internal implementation details of Equinox Aspects. Take a look at the 1.0 M3 New & Noteworthy page for more details and a list of fixed bugs.

Saturday, October 25, 2008

Looking forward to WJAX and Eclipse Summit Europe

Saying goodbye to OOPSLA I am already thinking about the next two conferences coming up on my schedule and which are highly promising to be very very interesting. In a bit more than one week there is the WJAX conference in Munich, Germany. The program is fully packed with interesting stuff and I am quite happy to talk about some cool stuff as well.

Starting on Monday I will participate in the Agile Day at WJAX where I will talk together with Norbert Grosz about experiences from introducing agile development to an insurance company.
Next is the OSGi Special Day on Tuesday. Together with my colleaque Matthias Lübken we will talk about moving existing applications towards using OSGi. Later that day I will give my fun talk about classloading and type visibility in OSGi - I still love classloading stuff. :-) Wednesday I have the pleasure to share my experiences from using and adapting "The Eclipse Way" (the famous development process of the Eclipse team) for general in-house projects. And finally on Friday, at the OSGi Experts Day, Heiko Seeberger and I are going to showcase Equinox Aspects to the attendees. This will be a real fun week in Munich!

Not far away from WJAX is the Eclipse Summit Europe, starting at Tuesday, November 18th, in Ludiwgsburg, Germany. Together with Jeff McAffer and Heiko Seeberger I am organizing the Runtime Symposium on Tuesday morning. Take care you don't miss this symposium to meet people who are also interested or involved in the runtime projects at Eclipse. In addition to that I will give (together with Heiko) a short talk on Equinox Aspects on Wednesday.

And last but not least I would be really happy to hear from you what you would like to know from the talk on classloading and type visibility in OSGi. If you have any questions you would like to get answered within that talk, please comment on this blog entry. I will try to incorporate them into the talk.

See you there!

Thursday, October 23, 2008

Slides from OOPSLA 2008

The slides of my OOPSLA demo on Equinox Aspects are now online - together with those of my tutorial about Spring Dynamic Modules:
Enjoy!

Thursday, October 09, 2008

Building Platforms with Jeff McAffer on SE-Radio

Two days ago the episode that I recorded together with Jeff McAffer about building platforms was published at SE-Radio. I enjoyed a lot asking Jeff so many questions about how to build successful platforms, good APIs and those things and got many very valueable insights. Don't miss it!!!

Saturday, October 04, 2008

New version of Spring Extension Factory available

When retrieving an OSGi service its good practice to use a timeout. Otherwise the operation could be blocked forever (in the case the service never appears). In past versions the Spring Extension Factory used a hard-coded timeout of 5 seconds. I chose this value more or less randomly, guessing that no bundle would hopefully need for than 5 seconds to create its application context. But I was proven wrong... :-)

Therefore I made the timeout setting configurable. Now you can define the timeout value (in milliseconds) via a system property called "org.eclipse.springextensionfactory.timeout". To set the timeout to 20sec, for example, start the JVM with this option:

-Dorg.eclipse.springextensionfactory.timeout=20000

I also added some more readable exceptions if no application context can be found or if the name of the bean to be used cannot be determined.

The new version can be downloaded from here:
Thanks for reporting the problem, Matthias!

Thursday, October 02, 2008

Eclipse Demo Camp in Hamburg - November 2008

After the great success of the Eclipse Ganymede Demo Camp 2008 in Hamburg in June this year Peter Friese and I are organizing another Demo Camp in Hamburg at the 10th of November. It will take place at the East Hotel, a very fancy design hotel in Hamburg.

The schedule for the demo camp is not finished yet. What we already know is that Harald Wellmann will talk about "Geodata Processing for Car Navigation Systems" on top of OSGi and Gerd Wütherich will give a quick demo on Spring Dynamic Modules. And there will be some more, I am sure.

Don't miss it! You just need to register at the wiki page, come by at the 10th of November and enjoy the demos, food, drinks and other Eclipse enthusiasts. I am looking forward to seeing you all there!

Tuesday, September 30, 2008

Dynamic OSGi Applications (at WJAX 2008 and OOP 2009)

In the past years I have used OSGi mostly because of the modularity features. I loved to create small bundles with clear dependencies and visibilities between them - and I still do. I missed this kind of modularity in Java for so many years and I think that many teams still disregard this important modularity for their systems.

But I always knew that the module layer (the one I love so much) is only a small part of the OSGi world. The real coolness of OSGi comes with its dynamics. Using OSGi you can install, update and uninstall bundles at runtime without restarting the JVM. Wow! Doesn't this sound cool?

But wait. What the hack does OSGi do in those situations? If I start my applications, maybe thousands or millions of objects are created, relaxing in memory, referring to each other, talking to each other. Now this thing called OSGi updates a bundle at runtime. And my lovely objects? Are they updated magically under the hood and I don't need to take care of anything? Unfortunately (or I would say fortunately) not!!!

Nothing is done to my objects automatically. Instead I need to take care of those situations myself (which is good news in some way). I need to understand what it means having bundles that can come and go while my system is running (maybe under high traffic). And I need to carefully design my bundles to behave nicely within those situations.

Although its mentioned in every presentation on OSGi I assume that many people still don't know what this really means for building typical business applications. So many (and this includes myself) are used to build systems that are more or less a static set of deployed classes - once a release is deployed and used. Developers typically don't think about parts of the system being installed, updated or uninstalled at runtime without shutting down the application itself. And I think the structure of those systems reflects this. Even if the application is built out of a set of small bundles with clearly defined dependencies - in the end the transitive closure of the main application bundle contains everything. And the app assumes that once I have a reference to an object, this object will stay with me (and be fine) forever.

I observed this situation in some projects and it made me think about it from time to time. I talked to colleagues (namely Gerd Wütherich and Kai Tödter) about this and we discussed our experiences. The result is that we currently try to find some common best practices and patterns to write more dynamic systems than we did in the past for an upcoming talk at WJAX 2008 and OOP 2009.

I am pretty excited that there is so much more to learn how to build really dynamic systems with OSGi and I am sure that this will change the way I write and structure OSGi bundles in the future. Yours, too?

Monday, September 22, 2008

"About-us" episode at SE-Radio

In between the general 10-days-schedule the SE-Radio team has published a short episode about SE-Radio itself. So if you want to know more about our download statistics, the team members, sound quality and more go to: SE-Radio Episode 111: About Us 2008 and enjoy!

Saturday, September 06, 2008

OOPSLA 2008 Podcast is Online

The first episodes of this years OOPSLA podcast are now online and it should be fun to hear what is coming up at the conference. The list of interviewees sounds very promising. :-)

It's again produced by DimSumThinking and SE-Radio. I am pretty excited and feel honored to be the one at SE-Radio who coordinates the episodes and records some of them. But again, without the enormous help of Markus (who records the other half of the SE-Radio-produced episodes) this won't be possible at all. So thanks again for all your help with this, Markus!

Wednesday, August 13, 2008

Bugfix for Spring Extension Factory available

I fixed a problem that prevents the Spring Extension Factory (which I originally described in this post) to work for bundles with Eclipse-LazyStart set to true. The new version works for bundles with or without the layz start setting:
Thanks for reporting the problem as well as a solution, Jimmy!

Friday, August 08, 2008

Equinox Aspects 1.0 M1 is out

The first milestone build of Equinox Aspects 1.0 is available for download from the Equinox Aspects download page. Take a look at the M1 New & Noteworthy page for details.

I am especially happy that this milestone brings OSGi dynamics to aspect bundles. This makes AOP a much better citizen of the OSGi world and gives you a feeling of dynamic AOP, which is really cool... :-)

And I need to mention that the performance of the standard caching has improved a lot. We are now very very close to our goal of running a woven system from cache at the same speed as without aspects.

Monday, August 04, 2008

Demo on Equinox Aspects at OOPSLA 2008

I am happy to announce that a demo on Equinox Aspects is accepted for presentation at the upcoming OOPSLA 2008 conference in Nashville, Tennessee (Oct 19th-23rd). So I would be very very happy to see you all there!!!