Thursday, February 15, 2007

OSGi and JSR 291 at JSIG

Today's JSIG meeting on OSGi and JSR 291 in London was well worth the commute.

I met beforehand for coffee with three guys from Paremus: Richard Nicholson (CEO), Mike Francis (Sales and Marketing Director), and Robert Dunne. They described their 'Infiniflow' product built, you guessed it, on top of OSGi. It runs on Knopflerfish and Equinox, although they hope to support Felix in due course. They ship the product's base layer, Newton, as open source. Newton provides basic services and is responsible for propagating SCA components, known as composites, around a network according to defined declarative specification documents.

I wondered if they might have to overcome IBM's perennial problem of creating software "by PhD's for PhD's", but they assured me there were simple use cases which made it easy for application programmers to get started.

The JSIG meeting was well attended with Alex Blewitt, the EclipseZone editor (on the left below), presenting and Neil Bartlett (on the right), running live demo's to illustrate the theory.


Alex explained the problem that OSGi solves and gave details of the key framework features. (I'll forgive Alex for the stunning slide transitions courtesy of Neil's Mac. Is he on commission?)

Neil's demo's were coded and built using NetBeans and included a Swing application to emphasise the point that OSGi is far from just 'an Eclipse thing'. He used Knopflerfish to run the demo's as it has an excellent GUI for installing bundles and starting and stopping them, etc.

They promised to dump the presentation and code on the JSIG website.

The audience, of around 30-40, seemed fairly lively and there were lots of questions, some of which were quite searching. It was good to bump into a former colleague of mine from Hursley. Sunny Chan worked on the initial version of the shared classes support we put into IBM's Java 5. He now seems to be enjoying working for an investment bank maintaining Java environments.

Afterwards I had lunch with Neil and BenoƮt Xhenseval of ObjectLab. The conversation centred on OSGi, although the need for decent decimal syntax in Java financial software came up again without my prompting. Must follow that up.

There was some mention of the various modularity JSRs throughout the day. It's amazing to see how different things look to complete outsiders (to the JCP). There seems to be a general bewilderment over JSR 277. Also, since some of these guys have only recently stopped supporting Java 1.3, Java 7 seems eons away from being the default platform for deployment.

The lasting impression of the day was how incredibly useful OSGi is for underpinning various kinds of commercial software. It seems that the OSGi Alliance has created the start of a potentially enormous value network which provides business opportunities for framework and middleware vendors, such as Paremus and ObjectLab, as well as to 'real' customers.

2 comments:

Richard Nicholson said...

Glyn - pleasure to meet up last week.

w.r.t. your comment regarding "built by Phd's for Phd's" - you raise a very important point.

Whilst internally Infiniflow, is a sophisticated distributed OSGi/SCA based system, from it's inception we've tried to keep Infiniflow's external/visible persona very simple. Hence, operationally, you can deploy a large autonomic fabric in minutes, and from a developer perspective, if you can write Spring 2.1 components, then you can immediately run these on the fabric and benefit from the adaptive, robust / recovery orient - characteristics of the Infiniflow runtime.

Clearly, as soon as you start to consider how to build sophisticated distributed SCA Systems ( say Complex Event Processing and / or Distributed Transactional Processing ), then a whole new level of design understanding is required by the System Architect of the "SCA System" he is trying to compose; this in order that the instantiated "System" running on the Fabric actual performs from a business perspective (SLA and behavior wise) as expected.

Clearly Business Analyst / Developer tooling is very important here and the fact that SCA is a standard that, alongside OSGi, appears to be gathering increasing traction, should in due course result in a wide ranged of composite assembly editors targeted at the business analyst.

AlBlue said...

The presentation, code examples and screencasts are available at http://www.eclipsezone.com/files/jsig/ for those that are interested.

Alex.

Projects

OSGi (130) Virgo (59) Eclipse (10) Equinox (9) dm Server (8) Felix (4) WebSphere (3) Aries (2) GlassFish (2) JBoss (1) Newton (1) WebLogic (1)

Blog Archive