2007s

Awesome Regex Ninja

^(0*|-?0*[1-9]\d{0,8}|-?0*1\d{9}|-?0*20\d{8}|-?0*21[0-3]\d{7}|-?0*214[0-6]\d {6}|-?0*2147[0-3]\d{5}|-?0*21474[0-7]\d{4}|-?0*214748[0-2]\d{3}|-?0*2147483[ 0-5]\d{2}|-?0*21474836[0-3]\d|-?0*214748364[0-7]|-0*2147483648)$

Javapolis 2007 - The Techie Bits

mpis300x400.jpg

I’m just back from Javapolis in Antwerp. Javapolis is a conference put together by the BEJUG, Antwerp is a big city in Belgium and the second largest seaport in Europe . For a conference put together by a group of folks that are not pro conference makers, it was pretty impressive. The fact they have kept the price down to less than €300 is particularly amazing.

I was there to check out the conference, but even more importantly to get to have a chat with some of our new committers on the Eclipse SOA Tools Project. We’ve had a number of new components just added to source control (more about that in another entry) and now I was getting the chance to meet some of these developers for the first time. Even better, I got to hang out with Bruce Snyder, open source aficionado extraordinaire, and Stephen McNamara, a buddy of long standing and enterprise survivor.

First off the bat I had a chat with Mark Little whom you may know from JBoss ESB and the world of transactions in general. We marvelled at how world+dog is currently refactoring their {insert runtime tech of choice} to be composed platforms using OSGi bundles. This is going to be very interesting as it will open up the containers, which will hopefully bring more control to the customer platform developers on the one hand, and introduce with the other a whole raft of new interoperability issues :)

James Gosling’s keynote was a round-up of everything that has happened in Java land for the last year. It’s easy to see where his interest lies - realtime java and the spread of java-controlled devices, using SunSpots and similar tech. He also spoke of the mobile services architecture (JSR248) and how that was to be a “grown-up CLDC”. I polled a few individuals over the next few hours and there was a keen interest in seeing how Google and the OHA will eat Sun’s lunch on this one.

Key point for me was that mobility is coming of age at last, something like 2 years after we pulled our enterprise-mobility product. Timing is everything after all.

Netbeans 6 hit the presses during the week, and James was keen to point out some of the new and shinies in the bag. Enhanced mobility support was one thing, an holistic Java model that makes for keen context-sensitive refactorings, REST service development tools and advances in report design and generation were some of the things he mentioned. I’ll be looking at the REST tools, because we are developing REST tools in STP too, but the Eclipse refactoring and reporting facilities seem to be at least a couple of years ahead in terms of feature comparison. I’ve not using the mobility gear in Netbeans or Eclipse, so no comment on that.

He also mentioned JavaFX, and later on in the week I attended a talk/demo on it. It looked faintly interesting until I spoke to the guy sitting next to me. He had attended a talk at OSCON where the JavaFX demo was followed up by a Flex demo which blew it out of the water totally - the SUN demo person looked pretty squirmy by his account. Flex is very very impressive, but perhaps JavaFX may beat it on the phones.

ow2stand500x277.jpg

The guys from OW2 had a talk about all of the stuff that they have and how it can all be linked together. It had BPM, BAM, SOA, portals, workflow, monitoring and all other aspects of the enterprise buddha nature. My poor brain filled up early in the talk, so I will need to look into it in bite-size chunks later. I'm delighted that Eclipse STP counts among its committers a number of individuals that are involved in the OW2 community-- Christophe Hamerling, Adrian Mos, Andrea Zoppello, to name but a few and of course Alain Boulze, who is an STP PMC member.

In between the corridor work I managed to get to a few more talks. I experienced a good quality brain melt at Joshua Bloch's closures talk and attended a very informative talk on JSR311 and REST from Paul Sandoz. Andrea Zoppello did a very interesting demo on going from BPMN to runtime monitoring at the Eclipse stand and I got to catch up with the Eclipse stalwarts Wayne Beaton and Ralph Müller. In the photo below you can see the inimitable Bruce Snyder being totally mobbed by adoring geek fans after his talk on ServiceMix and Camel. [Note - picture is blurry due to awesome flux of worshippon particles]

ow2stand500x313.jpg

If you are in the market for a Java conference, and a bit short on budget, Javapolis is well worth your while, methinks. I would just ask them to do two things for next year - first, open up the program to allow submissions from whoever wants to submit java related stuff; second, put some evaluation sheets out there guys! That panel with Bloch, Gafter, Gosling, et alii was really really terrible! Having Bloch and Gosling waffle on about unsigned int for nearly 20 minutes was a total waste of time. Got to hand the beachball of blame to the moderator there - should have put the squeeze on them, Carl!

For photos, hit Flickr with a keyword search on JavaPolis.

It's Déjà Vu All Over Again

Heard of Thrift? It's a Facebook-developed system that allows services to be defined in a language-independent manner.

Didn't we do this already, a while back?

It's slated for contribution to Apache too.

Eclipse Provisioning Platform

At the Eclipse Summit 2007, Jeff McAffer gave a presentation [link to slides not available yet] on what has been happening with Equinox. I missed the talk itself, but later on I had lunch with him, Naci Dai of WebTools and Jerry Preissler of Swordfish and we talked about the Eclipse Provisioning Project, aka p2

p2 is a framework which is all about configuring things and putting them somewhere. That's as generic as I can make the definition :) In the example on the website, p2 is being used to move bundles around. The SoaTools, Swordfish and WebTools projects already do this kind of thing, and we have a set of deployment frameworks which allow us to configure and deliver things (WAR files for example) to different places (server runtimes for example). That's why we are interested, especially since there are visible moves in the direction of OSGi based runtimes for hosting Services .

I'm just at the point where I need to drill into the information on the web. As per usual, I'm confused about how p2 and Buckminster appear to do exactly the same thing. And I want to see how p2 matches up with the SoaTools SOAS component. If we could do something around extending p2 (if appropriate) then we could reduce the STP workload a bit. I guess that WTP and Swordfish are thinking the same thing.

I feel a workshop coming on here :)

A tangential point: as far as I know, and I am open to correction here, the p2 project was brought into the Eclipse ecosystem as an effort to replace the aging Update Manager mechanisms. Certainly over the course of the last couple of years, many interesting behaviours of the UM have come to light, but it might have been a good idea to fix those in conjunction with starting a new development effort. As per usual, if you have patches, feel free to open a bugzilla :)

Another tangential point: there is a project proposal called Riena which will also be interested in the p2 capabilities. I don't yet understand what Riena is trying to do - all I know is that it is about 'smart clients', the committers are mostly tall, and that they all wear the same teeshirts. When I find out more I'll let you know. In the meantime visit the top-level page on wiki for p2 for details.

Some things I learned at the Eclipse Summit Europe 2007

Eclipse users and developers know that the Eclipse platform is a bit of beast - there is just so much in there that if you don't get the chance to poke your head out of your own personal Eclipse-interaction light cone, you can miss out on some cool stuff. And it turns out that the best way to do that is to come to these kind of conferences :) Here's some things I found out about yesterday.

Plugin Spy
Select something in the UI, hit Alt+Shift+F1, and you get a window containing an introspection of the current widget/part that you have selected. Check out the PDE Incubator page, and a blog entry from Chris. If you are using Eclipse 3.4M2 or later, you will find this feature already built-in.

Clean Ups
I use Checkstyle in most of my project work, and it and I have an uneasy relationship. The sort of one where the dishes get broken and people come around to bring the pets away. I have always whined that if Checkstyle is so smart, why doesn't it get rid of that trailing space it spotted for me and stop bothering me? Well, it can't do that, but Eclipse Clean Ups can. Woot!

A Clean Up is just a collection of refactorings that you use regularly on your code to keep it squeaky. You can run 'em manually, or have them run automatically when you save a Java file. Go to this developerworks article to find out more.

EclEmma
If you are familiar with the Emma Project then you will have probably guessed that this is a test coverage tool for Eclipse, based upon Emma. I've always found test coverage to be an invaluable tool for showing you where the great, gaping, black holes of non-deterministic behaviour reside in your code. There's a lot of tools that can do coverage, and there are Eclipse integrations at varying levels of quality. What I liked about EclEmma is that it is quick and straightforward to use on a single Eclipse project, and gives me the results fast. Although the results are not always welcome :)

Update: Jeff McAffer's Eclipse Update Talk [pdf link] has details of Plug-in Spy and Clean Ups.

Is your code C.R.A.P.?

Just got a link this morning to the C.R.A.P. metric and the crap4j Eclipse plugin. This humourously-named approach mixes up cyclomatic complexity and code coverage to give a number that is your code's CRAP index. Generally speaking, you can lower your CRAP index either by adding automated tests or by refactoring to reduce complexity, or both.

Apparently crap4j can also estimate your CRAP Load (we've beaten this one to death - ed.), in which it gives an indication of how many tests you will need to write to reduce the CRAP index to less than an arbitrary bar of 30.

Update: tried it out, and it seems interesting - I can understand the concepts immediately and it has an amusing toilet paper icon on the menu. Here's a screenshot of the CRAP Report that it produces.

crappy.png

In the case of this anonymous component, you can see that the crapometer weighs in at 14.91% - an artitrary figure that tells me that a little over one in seven of the methods in the component are, well, crappy.

crapload.png

The CRAP Load figure above hints that maybe about 14 tests would do the trick in reducing the CRAP figure of a complex method with 0% coverage.

RESTafarianism and EMF

I had the pleasure to share a drink and a chat last night with Ed Merks, the EMF Project lead. One of the interesting things that he brought up was his efforts to extend the EMF URIHandlers to be more REST-like. He mentions this in a blog entry - you will find the reference after the picture of the hibiscus. There are some more techcore details at the Bugzilla entry that hosts the patch.

This work is a big thing for EMF, in my opinion. Putting this together with a simple HttpService instance in an OSGi container can give you the basis for remotely manipulable models, with most of the work done by EMF itself. This opens up the field for Rich Internet Applications (blach - another buzzword) that can interact with hosted EMF models without having to depend on having an EMF library on the client side.

The Artix Repository product that IONA ships has done something very similar, but we have created the RESTful interactions outside of EMF. It's cool to see this kind of capability moving into the core.

Off to Eclipse Summit Europe

I'm waiting for my flight to Frankfurt to attend the Eclipse Summit Europe that is being held in sunny Ludwigsburg, in Germany. Due to a typical pebkac error, I'll be staying in 3 hotels over the 5 days that I will be there :)

The Euro Summit is an interesting conference - the content is usually good, the venues conducive to meeting people and of course the German beer is without peer. This adds up to a fun-filled few days. During the conference, Adrian from STP will be updating us on what's new and noteworthy on the project, and of course bringing us up to date on the old material too. One of the evenings will contain an STP BoF, although the date has to be confirmed.

An Infestation of Snails (was: Java Annotation Madness)

I was just reading an article on JPA, posted on TheServerSide. In it we see a simple 'real-world' example - a mocked-up blog application. The object model looked fine, the DB schema representation looked fine, but then I got to see the Java, annotated JPA-stylee.


import javax.persistence.*;

@MappedSuperclass
@EntityListeners({ModelListener.class})
public abstract class ModelBase {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name="id")
    private Long id;

    @Version
    @Column(name="version")
    private Integer version;

    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="created_by_user_id")
    private User createdByUser;

    @Temporal(value = TemporalType.TIMESTAMP)
    @Column(name = "date_created", nullable = false)
    private Date dateCreated;

    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="updated_by_user_id")
    private User updatedByUser;

    @Temporal(value = TemporalType.TIMESTAMP)
    @Column(name = "date_updated", nullable = false)
    private Date dateUpdated;
    // methods removed for readability (LOL)
}

I got a bit of a chuckle out of the comment at the end of class declaration, but my overall feeling was one of giddiness at the sight of Annotations Gone Mad. It's fashionable, it appears, to bang in as many annotations as possible in Java 'frameworks'. If you have dealt with debugging C# webservices clients, you might recall the brain damage that was introduced when trying to fish through dozens of C# annotations in the generated code. Is this going to happen all over again, but for Java this time?

My particular complaint is not about using annotations, which I do think are wickedly useful for getting rid of the omnipresent and immiscible configuration APIs in thousands of products. Being able to inject values into class members is brilliant. There are even some gnarly uses where annotation declarations may themselves have annotations (go look at the Apache Camel source code). But using annotations to tie Java programs to what are irreducible and unmappable resources - ports, URLs, even DB tables - doesn't make a lick of sense to me.

Update: Benson Margulies has given this condition a name - an infestation of snails (@) - in a cxf-dev posting. This is so good I had to change the name of this entry.

TSS Java Symposium Barcelona

&

I got a chance to attend, and speak</a;, at The ServerSide Java Symposium in Barcelona at the end of June. The talk I gave was about how Enterprise Software can be delivered using Open Source as the basis for satisfying some of the most common Enterprise Software requirements. I wasn’t talking about business logic here – I was talking about the nonbiosphere that surrounds a piece of Enterprise software, including process automation support, addressing chargeback in a transparent manner, managing middleware heterogeneity. I also guaranteed the listeners that I wouldn’t use any buzzwords :)

You can download the slides and notes and check it out. From the top of the room, I observed the reaction: a healthy mix of boredom, horror, torpor, confusion, outrage, interest, catatonia and crackberry tapping. After the talk, I did get some compliments and interesting questions. No pitchforks and torches, so that was good.

On the subject of pitchforks and torches, I was lucky enough to be invited to sit on a SOA Industry Leaders Panel with Martin Fowler and Gregor Hohpe. It was an interesting thing to site between those two guys, whose books and articles I’ve avidly consumed in the past. Mainly I worried about looking like a total idiot. According to Jay at DeCare Systems, I did ok - if you read that entry, you’ll see the torches reference I made earlier.The whole thing was filmed, so perhaps we will get to see it online sometime. The panel moderator, the inimitable Ted Neward, gets my vote for best panel mod evah, coaxing some excellent tough questions from what turned out to be a good audience. It was with a mental sigh of relief from me that Gregor got in first on the inevitable What is a Service, anyway?.

Update - check out Ade’s experiences at TSSJS

Eclipse Europa has Shipped

Well, it shipped nearly a couple of weeks now, and I've been taking a bit of breather and getting back in touch with some other things that get left by-the-by as we went through the release process. Bjorn and the legal team deserve great praise for their mammoth efforts in getting everything lined up for those of us who delivered projects.

From the perspective of SOA Tools, it's a time to gather our wits and make some plans, with the help of the community. I'm glad to say that over the last few months, there has been a considerable amount of interest in the project from a number of organizations that wish to contribute code and expertise. The PMC's challenge is how to make sure that all these prospective committers can work together in a way that is conducive to developing the best open source tools and frameworks.

Enter the Incubator. This is to be an STP sub-project (it's in pre-proposal phase right now), which I hope will address our challenge. It works like this -- a number of organizations decide they would like to contribute some code, but in each case, they have code that does the same or similar things. The best thing for the project is that the committers come together, bring their solutions to the table, re-architecting if necessary, and producing a joint vision for the merged code. The 'table' in that metaphor is the Incubator sub-project. Once the technical vision has been constructed and agreed upon, and a draft plan put in place, any work that has taken place in the Incubator is ready to 'graduate', that is, move to full STP sub-project status.

It's also time to let us know what you would like to see happening in the current areas of the project - let us know on the dev list or the newsgroup!

Eclipse nears Europa release

It's getting near now - end of this week we are good to go for the Eclipse Europa release.

I'm looking forward to getting this out the door so that we can get back into a planning mode next week!

At the TSS Java Symposium Europe

This week I'm attending the TSS Java Symposium, which is taking place in Barcelona. I have a talk to give on using OSS in enterprise environements (will link to slides later), plus I've been asked to sit on a panel with Martin Fowler and Gregor Hohpe on SOA. It will be unusual to talk to these guys, having studied their work :)

This is not WSDL

Recently in IONA, in an informal moment in the coffee area, a number of us sat down with sore heads and decided that we would all feel better if WSDL wasn’t so hard to use. Not in those exact words, but I’m writing for a mixed audience here.

In March, I was out at EclipseCon, and got to visit the Yahoo office (where old webservices comrades Mark Nottingham and Hugo Haas now toil). During lunch in the canteen, we talked about lots of things, but one of them was how we would all feel better if WSDL wasn’t so hard to use.

magritte-not-a-wsdl.jpg

There are of course lots of WSDL editors out there in the wide world. At Eclipse, there is the WTP graphical WSDL editor. Many products, such as XMLSpy and IONA’s own Artix Designer incorporate ways to reduce the agony of dealing with WSDL.

For me though, none of editors I’ve tried have made the nut. As a developer I want a clean way to make WSDL that deals with all of the crud that needs to be there (like pointy-bracket syntax for example). What I don’t want is a weird graphic metaphor with links and dragging and dropping, thanks. Just let me type it, like code, give me some syntax support and some useful conventions and then let some other agency worry about generating the XML vocabulary.

Here is the sort of thing that I would like to be able to type in and have it converted to WSDL for me, with some sensible defaults, etc:

import “myTypes.xsd”;

namespace “http://www.iona.com/interface-namespace";

interface myInterface version 1.0 {
    string myOperation (in string param1);
}

We could also code in some conventions (like that version in the interface) to help people along, so for example:

import “myTypes.xsd”;

namespace “http://www.iona.com/interface-namespace";

interface myInterface version 1.0 {
    string myOperation (in string param1);
}

interface myInterface version 1.1 {
    string myOperation (in double param1);
}

would cause an error because someone has changed the method signature in a minor version upgrade. They should have used version 2.0 instead. There’s little limit to the fun we could have with this :-)

By the way, the string type that you see there is, by convention, the XML Schema string type. Same goes for the float. You can use imported types just by using the prefix approach that XML already has - pfx:myType.

I haven’t mentioned the bindings aspect of the WSDL specifically. To me, that part is a big target for an extensible set of wizards or tailored binding editors and not something that feels like it should be accessible to code-like definition.

Service Pattern Approach to SOA

I just read Beth Gold-Bernstein's blog entry entitled Categorizing Web Services in which she proposes the development of Service Patterns to provide a recipe-style approach to SOA development. I would certainly recommend to her that she visit the Enterprise Integration Patterns, get the book and read it cover to cover. There's enough patterns in there to be going on with - the book is quite information-dense, but if you go to the website there is a breakout of each of the patterns.

Beth also states that these patterns should be embodied in tModels for storage in UDDI registry. I can only attribute the continued existence of UDDI to some kind of dancing bear syndrome - while I don't agree with everything that Peter Lacey says in his criticism of web services, I think he is spot on with the UDDI comments. Rather than continuing to lipstick this pig, I think that it's time the industry looked at a SOA-coherent and standardized repository API. Not something that is infinitely flexible or can be repurposed to anything (an ex-colleague of mine used the public UDDI servers to store his bookmarks), but something that has Services, Intermediaries, Policies and the like as first-class items and allows them to be tagged, typed and corralled into workflows. Then the patterns would make more sense.

EclipseCon Day 4

The last day of EclipseCon was SOA Tools talk day. I spent the early part of the day working on the presentaiton (which you can find if you follow the previous link). The talk itself went well - there was an audience of about 40 or so, and there wasn't much attrition towards the end. In the talk we covered some of the technology that had been put into the SOA Tools project, and gave an update of progress and a draft roadmap.

EclipseCon Day 3

Day 3, Wednesday, and at this stage in the conference I feel as if I have been dragged through a hedge. I'm not the only one, as lots of the people I've talked to have been here since Sunday and the adrenaline is starting to fade. This has nothing to do with a number of BoF sessions that provided free beer late into the night, nor has it to do with mojito-fuelled technical and project discussions. More on that in a later entry.

Today was the big day for the guys in the SOA Tools BPMN sub-project. I introduced their long talk From Modelling to Execution in the Enterprise - using BPMN and BPEL to a crowd of around 60 people, which was an excellent attendance. Antoine and Hugues did a a great job of bringing the audience through BPMN and how it can be mapped to and from BPEL.

I was due to do my talk on SOA Tools the next day, so an early night was in order. There was an IONA round-up at Pedro's and then it was back to base to sand down the corners of the presentation.

EclipseCon Day 2

These entries are being posted ex post facto to the conference - I just haven't yet got the hang of real-time blogging!

I managed to get one demo, one long talk and a panel in today. Lunch and part of the afternoon got subsumed by meetings and general corridor work. I was also developing some ideas to bring to the ServerSide Java Symposium in Barcelona in June. Here's the roundup:

Getting Hooked on Equinox

This session was out the door, standing room only, and at some point the event hall monitors started beating people with sticks to prevent them from attempting to enter the room. The guys showed us how to configure adapter hooks for the OSGi framework (using Equinox, of course) , extending the default behaviour, for example to do some class checking on class-load, or to filter the contents of contributed bundles to remove disrespectful extensions.

The presenters talked about and demonstrated two great applications of this technology. The first was the capability to load classes from a memory mapped archive or indeed shared memory, rather than from a JAR files. The second used AspectJ to weave incoming class files and instrument them for monitoring.

Extending WTP Using Project Facets

This long talk gave a full introduction to the facets facility in WTP. Facets can be associated with Eclipse projects, as metadata to describe capabilities, or requirements. For example, a project can be given the jst.web facet, to indicate that it is a web application. In this way, facets are similar to Eclipse natures, but the advantages that facets provide is that they are versioned and may have information about other facets that they require to function, and facets with which they conflict. All in all it's a cool approach and I certainly think we should consider using it in SOA Tools - we currently use natures to mark JAX-WS and SCA projects, but the versioning feature of facets would be very useful here as these approaches are standards and will move on over time.

Adopting WTP in Your Products

This session was a panel, hosted by Bill Roth of BEA. The panellists were asked a number of questions about how they have adopted WTP as part of their product suite. The most interesting thing I got from this session was an insight into SAP's open source strategy, which is more about take than give: the SAP representative on the panel showed some serious frustration at not being permitted by his employer to actually commit code back into the Eclipse commons. This cleared up something for me: I know that there are some guys in SAP Labs in Bulgaria (video link) working with SOA Tools, so on a recent IM session with an insider, I dropped some dark hints about contributions. The response was along the lines of "our Open Source strategy is difficult to explain". I guess that in the fullness of time, SAP will get its head straight on OSS and be more forthcoming. We live in hope.

EclipseCon Day 1 - The Tutorials

Last year I regretted not attending more of the tutorials, so this year I kept the schedule clear to let me attend as many as I could. Here's the experiences from the day.

A Tour of the Eclipse Debug Framework

This was a double-length (4hrs) tutorial that would take up the whole morning. My major motivation here was to get an idea of where I would start writing a BPEL remote debugger. I have some debugger coding experience: many moons ago I had spent a summer rummaging around in the belly of dbx , changing the remote debugging elements to allow it to debug bootstrap code on a uVax at the end of a serial line. Charged with this dim experience, plus a very long bittersweet affair with using debuggers to find bugs, I was really looking forward to this session, and I can say that I wasn't disappointed with the content and presentation. The link to the tutorial page above contains a link to a zip file with all the tutorial materials. Go and download it - if you use Eclipse for debugging your code, you should at least read it and see how the magic works.

After a break to miss lunch, I had two short tutorials lined up for the afternoon.

Extending the XML and source editors from the WTP Project

Part of the work SOA Tools needs to get sorted in the short term is an editing facility for SCA .scdl files. These files describe the structure of an assembly, and use an XML vocabulary. The current state of the art is a WTP XML editor, backed by a the SCA 0.95 schema and registered for .scdl resources. I'd like to be able to do better for SCA 1.0 when it is released, so I attended this session to gen up on the whole procedure.

The session itself was fine, the exercises were useful, but I got there a bit late after saying a few words at the membership meeting, plus I was missing something in my installation that cause things to go a bit tango uniform about three-quarters the way through. I adjourned for coffee and email at that point, but I certainly plan to revisit the tutorial materials that are posted at the link above.

Extending your DSM by leveraging the GMF Runtime

I work with some guys who do GMF programming and, frankly, I can't understand a single word they say at the standups. I attended this tutorial to try to remediate that situation, and to hopefully gain some kind of understanding on where to start on creating some domain-specific pictures for the SOA Tools Core Frameworks. One thing that was very useful was a run-down on what the GMF runtime provides - action bars, collapsible compartments, connection handles, geometric shapes, ruler and grid support, appearance properties and lots of other good stuff (especially: printing support!). The other thing was the discovery of inimitable GMF Dashboard:

Gmf_dashboard.png

They tutorial went on to show how to customize and extend your domain-specific model and to how to keep your crazy diagramming from eating EObjects. Unfortunately, I needed to peel off for a meeting before the tutorial had finished, but this is another one that I will be going through again offline.

EclipseCon Day 0

Sunday is Day Zero of EclipseCon - traditionally a day for some introductory meetings and beers with people that you might not have seen, well, since the last Eclipse conference meeting.

DSC00017.jpg Would you buy a Maven support license from this man?

Phil Dodds, of Simula Labs and Kepler, in reflective form while waiting for the next mojito to arrive. I bet he's thinking about money.

EclipseCon is also a time to meet new people that you've only ever written emails to, or seen on dev lists and newsgroups.

Adrian Mos, from the ObjectWeb Team at INRIA, enjoying beer the quality of which cannot be easily obtained in Grenoble. Adrian is a JBI stalwart, and has been working with guys that created Cimero and ServiceMix to advance the state of the art in JBI tooling for Eclipse, and bring it to a home in the SOA Tools Project.

This photo has been shamelessly plagiarized from Ed Merks' blog, so he gets a link. Thanks, Ed!
IanBlogParty.jpg

Next up is Day One - tutorials - and as usual there's great stuff on offer. STP's own Antoine Toulmé is doing a two-hour tutorial on our BPMN Modeler, which has attracted a lot of interest. I'm taking the opportunity to learn more about the Eclipse Debug Framework, and later on in the day, looking at how to extend the XML editors that are in WTP. At the end of the day, I'm closing up with some GMF domain-specific model stuff.

DSC00018.jpg Carlos sums up the mood of the evening.

Flashback to the PDE Build

I just got a comment on the blog recently updating me on an initiative which supports the build automation of Eclipse Plugins. Markus sent the link to www.pluginbuilder.org, where the eponymous software has just had a 0.2.0 release. Go try it out and see what you think.

Recently I've been having a most excellent time updating and building the SOA Tools project, constructing an update site and getting the infrastructure ready for the Europa (wiki link) release in the summer. It's all PDE, all of the time, and looking forward to a build matrix where we will have Eclipse 3.2.1 builds, 3.3 builds and a mix of J2SE 1.5 and J2SE 1.4 between the subprojects is interesting, to say the least.

However, things are hotting up in the Eclipse build world, and with projects like Kepler, Buckminster and ALF on the go, we are looking at a very interesting future.

What does an SCA Assembly look like?

Here's a picture of an SCA composite, as found in the SCA Assembly specification.

SCA_Composite.gif

What do you think? Pukka or pants? Personally, I think it's a bit inclined to the trousers side of the question. We all worked on the specification words, which were scrutinized most closely, but the diagrammatic representations didn't get much attention. Perhaps we are looking here at an interface designed by Engineers.

One of the things on the STP project plan is a graphical editor for constructing SCA composites from pre-existing service elements and allowing the compositor to wire up the various components and eventually package and deploy it to an SCA runtime. I'd like it to be a useful representation, however, and not something as clunky as what you see here. I know that many of you software developers are really frustrated designers at heart - what's your opinion?

Welcome to 2007

What a start to a new year - finding ones phyzz adorning the front page of The Server Side! Steve and myself did a piece before the holiday where we spoke about the company we work for and some of our favourite topics. link

Now I know what the phrase you have a great face for radio really means.