Eclipse Yoxos Services Downloads Blogs About
Home > Blogs >

Jeff McAffer

on May 6th, 2009New OSGi and Equinox book chapters

As some of you may know, we are in the process or writing a book on OSGi and Equinox. I just got word from the publisher that the Safari Rough Cuts content has been updated.  This new content includes several new chapters as well as revisions to some of the previous chapters.

Overall the book covers most of the major OSGi features and functions as well as particular value-add bits from Equinox and the Eclipse community. We cover in detail the use of PDE for developing and OSGi-based systems as well as advanced topics like provisioning with p2 and embedding Equinox in app servers using the servlet bridge.

As with the RCP book, we start from scratch and develop a realistic application through the course of the book.  In this case it is Toast, a fleet management system complete with extensible vehicle-side software and a central management server.  Anyone seeing a conference talk from me in the past year has likely seen at least some part of the example.  This approach is cool as it exposes and addresses the issues you have as developers creating such systems.

Check out the new book content and send us your comments.  They really do help.  Also, look for the first batch of content for the 2nd edition of the RCP book on Rough Cuts soon…

on May 5th, 2009Remote provisioning with p2

A  number of people have been asking for copies of my Runtime (r)evolution talk from EclipseCon.  Unfortunately a consequence of doing a presentation zen style talks is that the raw material is not that compelling on its own.  In my case each slide has one word or picture and there are a set of demo movies.  So, I decided to start making a series of short webcasts that each cover a part of overall topic.  This is the first such webcast.

In this webcast I demonstrate the use of p2 to define, provision and manage remote Eclipse, Equinox and OSGi-based systems. In particular, we use base p2 but adapt and extend the mechanisms and create a central management server that remotely manages and synchronizes the software on clients, vehicles in this example.  There are a number of cool things happening under the covers. I talk about some of these and others will be the subject of future blog posts by me and others on the team.

on Apr 15th, 2009Equinox Update Interview

EclipseCon was a blast this year.  Lots of great talks and fun people to talk to.  One of my favorite folks to chat with is Michael Cote from RedMonk.  He’s got lots of great ideas and feedback on things. He’s also very interested in Equinox and this whole runtime thing at Eclipse.  EclipseCon afforded us an opportunity to sit (well, stand) together and chat.  Cote just released the video interview on RedMonk TV.

jeffcote Equinox Update Interview

Check it out and see what you think.  Stay tuned as I believe there is a demo session coming up as well.

on Mar 5th, 2009Collaboration at EclipseCon

EclipseCon is less than three weeks away. Everyone I talk to or work with is either finalizing work on M6 or working on EclipseCon presentations.  I’m surely biased but the program this year is arguably the best ever. Especially if you are a runtime type.  There are quite a number of talks on Equinox, p2, RAP, ECF, PDE, g-Eclipse and more.

What is really great is the number of joint talks and joint efforts around talks. Most of the 25 or so talks involving the EclipseSource team are joint with other committers from other companies. We’ve got the RAP guys working with the BIRT guys, the multi-national ECF team is using examples from the Runtime (r)evolution talk and I’ve been working with the EMF, Teneo and EclipseLink folks on some shared reusable demoware. The g-Eclipse guys are in on the game showing you how to do Equinox on the cloud. Of course, we are using the RFC 119 Distributed Services implementation from ECF wherever we can.

This should make for really informative and interesting talks that cover a wider range of the technologies that impact you.

I am particularly pumped that even in these hard financial times so many committers are still able to make it. EclipseSource is managing to send more than a dozen people and many others are gathering from their scarce resources to make sure they attend. Clearly EclipseCon is a must this year.  Have you registered yet?

100x100 speaking Collaboration at EclipseCon

on Feb 25th, 2009You gotta have friends

Its at times like these that you gotta have Friends.  Of Eclipse that is.  Friends of Eclipse.  While I congratulate the entire Eclipse team for releasing 3.4.2 and I applaud the community for its fast uptake.  But really. All this downloading is getting in the way of other people.

Until today I was a lapsed friend.  But then I decided I needed yesterday’s integration build. Being no longer blessed with living inside the IBM firewall and having access to “fullmoon”, I had to go to the main eclipse.org server for the file.  Well, me and 110% of all the other people in the world apparently.  Just getting a 20MB file was going to take 30min. I had several downloads fail.  Frustrating. But wait, a lifeline is at hand.

The Friends of Eclipse program allows the community to both show their support for Eclipse and get a bit extra.  The extra in this case is special Friends QoS rules for download.eclipse.org. What’s that mean? For me it meant the difference between 9kb/s and 688kb/s. Or, for the temporally inclined, 37 minutes to download my file vs. 37 seconds. As Denis puts it, “thats 35 bucks well spent”.

Are you a…

friendslogo You gotta have friends

on Feb 20th, 2009e4 and RAP

For those of you who don’t know, RAP (the Rich Ajax Platform) provides the ability to run your Eclipse application on a server and have the UI served up in the browser using Ajax techniques. e4 is the next generation Eclipse platform that is targeting, amongst other things, the ability to do web UIs. Hmm, seems like there should be something in common.

Indeed! Yesterday the RAP team spent the afternoon looking at e4. First task was to check out the relevant code and setup the e4 photo demo. With that running it was time to switch out the target platform to use the RAP target platform.  Basically RAP provides alternate implementations of things like SWT and JFace. These maintain all the UI object structures on the server but with widgets that render in the browser. So putting in the RAP target substitutes these new implementations.

Moving to the RAP target resulted in quite a few compile errors but most were actually the same error in many places. For the most part alternates were substituted and in some cases, for the purposes of getting running, bits of the demo were hacked out. One of the major bits that had to be removed was the Nebula widgets–these just don’t have RAP equivalents yet. Of course, the photos in the photo demo are being displayed using these now missing widgets but that’s a different story.

So with that done, the app comes up. e4 on RAP or RAP on e4. However you like to say it.

In the end it was relatively easy once the details of how e4 starts up and works were  were understood. The result is actually too ugly to show here as the CSS styling has not been mapped onto the cool new RAP styling work. That’s a topic for another afternoon.

The goal of this afternoon adventure was to explore the space and see what the further topics of investigation might be. In that, it was a great success. Here is a short list of topics:

CSS styling — Much of the the property setting and basic styling will be easy to integrate but there appear to be some places where a graphic context is used. This will be harder. Perhaps there are some abstractions that can be done there…

RAP IEntryPoint and e4 Product/Application — Since a RAP system can have many concurrent sessions, there will be many concurrent applications.  IEntryPoint is the RAP abstraction for this. It would be good to investigate the use of the OSGi application model.

Nebula integration–This is harder.  Nebula widgets do all manner of stuff.  There has been work to do Draw2d but more is needed. In any event, that is not a critical element of e4.

Session support–Look at contributing RAP’s session support code to the parts of Eclipse that make up e4. This is likely to go a number of places but would be a very useful thing to have.

Internationalization–The extension registry and other parts of the system expect there to be just one locale. With the web there are users all over the place and they expect to see their content in their language.

Other cool stuff.  Stay tuned to this channel and post a comment if you are interested in RAP and e4 as another way of bringing your apps to the web.

on Feb 19th, 2009Runtime (r)evolution demo taking shape

600x96 Runtime (r)evolution demo taking shape

We have this count down timer around here that says 31 days to EclipseCon (have you registered yet?). Frankly that scares me silly. There are a huge number of things to do in the projects, in EclipseSource and not the least of which, for my Runtime (r)evolution talk. Over the past day some real progress was made on the latter.

The idea for this talk came from discussions at the Eclipse Summit Europe RT Symposium held last November. There we had a great group of people talking about all things runtime. One of the recuring issues discussed was the lack of examples and demos that pull the story together. Also at ESE we had an Equinox Hackathon. The idea was a bit of an experiment. Give people a base of code to add to rather than having everyone start with Equinox and OSGi from scratch–you get instant gratification by putting your favorite technology in the context of an existing application and scenario.

The Runtime (r)evolution talk combines the problem with the experiment. In a sense, the talk actually a long demo that paints a vision of what you can do with Equinox and the runtime technologies from Eclipse. Folks from Equinox, ECF, RAP, BIRT, EclipseLink and EPP are pitching in to showcase their technology. Yesterday the ball really started rolling with several group discussions and brainstorming sessions. Code is starting to come together.

Everything in the demo is based on Toast, the telematics example application we are using in the upcoming Equinox and OSGi book. The core of this is a car infotainment unit and a back end server that interact. From that humble beginning the demo shows how to add in all manner of things from VOIP, AJAX, reporting, scalable databases, Equinox server side, p2 provisioning and of course, RFC 119 distributed services.

In addition to whether or not we can pull this off is how to present it. There are so many systems and machines involved, doing it live is, well terrifying. I’m thinking that it will be better to record and playback with the talk. That would make the talk go more smoothly but we gotta avoid making it look “canned”. In any event, I’m going to post bits of the demo leading up to the conference to get feedback and incorporate new ideas.

It’s going to be a great conference. Register now and we’ll see you there.

on Feb 18th, 2009Mike Wilson: New Eclipse PMC lead

Those of you following the recent discussion in the Eclipse PMC mailing list will know that Philippe Mulet, our fearless leader is changing his focus some. Philippe has done a great job over the past couple years keeping the project and the PMC running smoothly.  PMC leadership is a hard, often administrative role and Philippe has done a great job.

Looking forward, the Eclipse PMC unanimously nominated and elected Mike Wilson to take over from Philippe. As per the Eclipse by-laws, the Board of Directors today confirmed Mike as the Eclipse PMC lead.

Mike is another of the Eclipse originals and has had a hand in many different parts of the project. Most recently he has been focusing on e4. His efforts at community building and making tangible progress are really showing fruit now with the first milestone of e4 and a great (and large) list of contributors.

I know that Mike will do a great job and am pleased that he has agreed to take over. It is an exciting time for the Eclipse project in many different ways. Thanks Philippe and congratulations Mike.

on Feb 5th, 2009Not running. Not Board.

As you may have seen, Mike posted the nominees for the 2009 elected board members race the other day. The observant reader may also have noticed that my name is not on the list for re-election.  I’ve been on the Foundation Board of Directors for some time now. It is great fun and an awesome learning experience.

There are a few factors in my decision to not run.

  • It’s time to make some room for others.
  • EclipseSource, our new company, will take over the Innoopract Strategic Membership and I will act as the alternate to Jochen Krause our formal representative.
  • Participating in the Board requires considerable time and effort.  It is extremely rewarding but nonetheless hard to manage while creating a new company and participating heavily in the Eclipse community.

Being on the board is a fantastic experience and a privilege.  I’ve learned vast amounts from some of the community’s and industry’s best. From time to time I may even have had an impact and helped to improve things.

The board discussions are always, uhhh, lively with a wide range of opinions and perspectives.  It is a large but functional board and Mike is doing a great job of balancing giving people their say and avoiding (well, minimizing) rat-holes.

As Mike points out, there is an impressive roster of nominees. Should be an excellent race.  Best of luck to all the candidates.

on Jan 28th, 2009Jetty@Eclipse

Jetty is moving to Eclipse! Someone asked me what I thought about this.  Well, as the Eclipse Runtime PMC co-lead how could I not be thrilled with this direction? This is a bold move by a very competent and exciting team with great technology. It is awesome for the runtime movement at Eclipse and really completes the lower level picture of our componentized server  side story.

Before I go too far, let’s nip any rumours in the bud.  Jetty is not moving to be OSGi based. That might be “a good thing”™ but Jetty appears to be meeting its goals with the current architecture. They are however taking OSGi integration seriously.

Several years ago we used Tomcat inside the Eclipse SDK for providing help content.  This worked but was big and a clumsy. Then someone, might have been Simon Kaegi, had the bright idea of using Jetty.  Same difference right? That’s what I thought.  I was wrong.

The most important characteristic is that Jetty is designed to be highly embeddable.  It is not the container to end all containers but rather an element of the solution. This fit really well into both the Eclipse mentality and our particular usecase. Jetty is small, light-weight and performant. You can spin up a Jetty instance whenever you want.

With Jetty at Eclipse we get several things.

Even without moving to OSGi there is room for improved integration. The various HTTP and server related OSGi-specs have been around for a while and could use some updating. The Jetty team with their involvement in the Servlet 3.0 spec and deep experience are well positioned to, say, provide an OSGi HTTP Service implementation that exposes more modern servlet function.

Deeper integration with Equinox and perhaps even lighter-weight configurations for particular Eclipse needs may also be possible.

Little known is that the Jetty folks also do client transports. There is potential there for some even better install performance for p2 and other web intensive aspects of Eclipse.

I for one am looking forward to working with the Jetty folks on all of these.

The story is not onesided IMHO.  For Jetty this is a really smart move.  Being part of the Eclipse ecosystem positions Jetty in a whole new realm of consumers. The rigor of the Eclipse IP and release policies will no doubt add to the already stable view of Jetty. The increased attention likely to be paid to it by the Eclipse ecosystem, sharing in the buzz around the Eclipse brand, release trains, conferences and overall adoption of Eclipse can only be good.

In short, welcome to the fold…

© EclipseSource 2008 - 2011