Archive for September, 2009

Invitation to improve ScalaModules’s DSL

Over the last months the ScalaModules team has worked on the upcoming 2.0 release. There will be a lot of improvements, e.g. auto-registration of service interfaces, operator notation, filters as objects and the user guide transferred to the Wiki. We are not ready for a final release yet, but most things should already be fairly stable.

There is still one thing we are racking our brains over a lot and maybe one of you could come up with a better solution that we have got right now. The new API for registering services offers auto-registration of service interfaces, such that there is no need to explicitly define the service interface(s). The following snippet will register the service greeting under the service interface Greeting, because greeting implements Greeting.

trait Greeting ...
val greeting = ...
ctx register greeting

Of course there are times when you want to explicitly register a service under a certain service interface. Now it would be very nice to write something like

ctx register greeting as classOf[AnotherInterface]

But this will not work in the current implementation, because register will be executed before as, which will register greeting under Greeting, just like above. Hence you have to use parenthesis like

ctx register (greeting as classOf[AnotherInterface])

Of course we have come up with a nice operator notation which takes the neccessary precedence into account. You could register greeting under the service interface AnotherInterface like this

ctx < greeting / classOf[AnotherInterface]

There is no need to use parenthesis here, because / will be executed first, because its precedence is higher than <.

But we would still like to get rid of the parenthesis in the "wordy" style. Roman already came up with an idea which you can take from the ScalaModules Google group. But when it comes to using as and withProps at the same time this is not adequate. So the question is, whether you have an idea how we could write something like

ctx register as classOf[AnotherInterface] withProps ("x" -> "y")

I am looking forward for your suggestions!

OSGi-fied Scala libraries updated to 2.7.6

Now that we have got Scala 2.7.6 I also updated the OSGi version of the Scala libraries. Please take it from the scala-tools.org Maven repository.

Currently there is an ongoing discussion about modularizing the official Scala code base, just take a look at the scala-internals mailing list. Hopefully we will see some success soon which might make the extra OSGi version obsolete though. But right now these extra OSGi-fied libraries are the way to go if you want to run OSGi on Scala or Scala on OSGi.

Eclipse Insurance Day 30.9.09 in Köln

EIDNach den Erfolgen der Eclipse Banking Days veranstaltet WW nun eine Fachkonferenz zu Open Source-basierten Lösungen für Versicherungen. Der technologische Schwerpunkt liegt auf Eclipse, allerdings richtet sich die Veranstaltung primär an IT-Entscheider aus Versicherungen und IT-Dienstleistern für Versicherungen. Redner sind u.a. Mike Milinkovich, Excutive Director der Eclipse Foundation sowie Prof. Dr. Helten, Präsident des Bayerischen Finanz Zentrums
(-> Agenda).

Die Resonanz auf die ersten Ankündigungen ist hervorragend, so dass ich mich auf einen gut besuchten Tag mit spannenden Vorträgen und Gesprächen am Rand freue.

Zur EID Anmeldung