Archive for March, 2009

EclipseCon 09 Slides online

At this year's EclipseCon / OSGi DevCon I focussed very much on OSGi. On Monday I did a four hour tutorial and on Thursday I did a short talk. In between I visited a lot of interesting OSGi sessions and hence I am fully loaded with lots of ideas to try out.

Neil Bartlett and me introduced Component Oriented Development in OSGi with DS, Spring and iPOJO. Yet this is a rather advanced topic the course was pretty crowded which shows that OSGi has been greatly adopted by the Java community.

As chances are that Scala will heavily hit the Java world, Roman Roelofsen and me taked about OSGi on Scala: We introduced BindForge, a module framework offering dependency injection configured via a Scala DSL. And we showed ScalaModules, a Scala DSL to ease OSGi programming. It was a pleasure to see quite a lot of people showing up. And when I asked who has already written Scala code about half of the people raised a hand.

So what will happen next? OSGi everywhere? New projects using more and more Scala instead of Java? We will see ...

Eclipse Training Alliance with new Partners and Courses

itemis, ProSyst and SOPERA join the Eclipse Training Alliance

As an international expert network, the Eclipse Training Alliance pools the extensive Eclipse knowledge of its associate companies. With itemis, ProSyst and SOPERA as new partners the Eclipse Training Alliance now offers a total of 15 classes. itemis, one of Germany’s leading companies in the field of model-driven software development, offers classes on Eclipse Modeling (EMF, GMF) and model-driven development. OSGi and Java pioneer ProSyst offers embedded and enterprise OSGi training courses as well as Eclipse eRCP. At Eclipse Con 2009 ProSyst received two Eclipse Community Awards for their Equinox applications.  A variety of classes on service oriented architectures (SOA) is offered by SOPERA, winner of the 2009 Open Source Business Award.
The Eclipse Training Alliance launched a new website which makes it easier to navigate through this wider choice of classes.

WW expands to the United Kingdom

with Neil Bartlett as a founding partner of the upcoming London office.

Additional competence at WW (WeigleWilczek): We continue our successful development and have now complemented our team with the addition of Neil Bartlett, an internationally recognised OSGi expert and author of the upcoming book “OSGi in Practice”.

Neil Bartlett will establish the new WW UK office which will offer consulting, coaching and projects for the Eclipse Rich Client Platform and OSGi. WW offers professional Eclipse application support as one of the first companies in the world to do so. WW’s latest initiative is to form an Eclipse project for the banking industry – the Eclipse Financial Platform Project.

OSGi on Scala: ScalaModules 1.0 released

Surely you are in love with OSGi. But don't you think that coding in Java sometimes is too verbose? And dont't you find service handling or dealing with APIs returning null references sometimes too involved?

Then try out OSGi on Scala with ScalaModules which was just released as 1.0. ScalaModules offers a DSL to ease OSGi development. Look at the following examples:

To register a Greeting service with some properties just type
context registerAs classOf[Greeting] withProperties 
  Map("name" -> "welcome") theService new Greeting { ... }

This is type checked at compile time and providing properties via a Scala Map is an easy task.

To consume a Greeting service just type
context getOne classOf[Greeting] andApply { 
  _.welcome 
} match { 
  case None          => // Not available ... 
  case Some(welcome) => println(welcome)
}

As you can see there is no need to get a service reference, check for null, get a service and finally unget the reference again. You just say what is to be done with the service via a function that takes the service as a parameter. Your result will be a Scala Option (not null): None, if there is no service available, or Some with the result of the service invocation.

ScalaModules also offers service dependencies: Your service will only be created and registered if some other service is available:
context registerAs classOf[Command] dependOn 
  classOf[Greeting] theService { 
    greeting => new Command { ...  } 
  }

There are a more features and more details, yet there are still a lot of things to be included in the future. To learn more about ScalaModules take a look at the Reference Guide which is also part of the release.

Please let me know what you think, report bugs and tell me  your wishes for enhancements.
Enjoy OSGi on Scala!

ScalaModules 0.7 released

In an earlier post I already mentioned ScalaModules, the Scala DSL to ease OSGi development. Today I want to announce the release of version 0.7, which is the first somehow complete release containing a little demo and some documentation for getting started and showing the core features

The authors would be glad for any kind of feedback. For those of you who will attend EclipseCon / OSGi DevCon there will be a session about ScalaModules (and bindforge) on Thursday.