Blog

  • Extending Virgo with a HttpService

    Several people have asked about us providing a packaging of Virgo that includes the OSGi HttpService. We don’t have any plans to do so because it’s so easy to extend Virgo with extra function yourself. I’m using the Equinox HttpService as the desired extra function here but the same approach applies no matter what you want to extend Virgo with.

    KernelFilesAll you need is the latest Virgo Kernel download, the Equinox HttpServer jar and it’s dependency the Servlet API jar. Unzip the Kernel and copy the two jars in to one of the repos. You have a choice of ‘repository/ext’ or ‘repository/usr’.

    In this case ‘ext’ is the better choice as these bundles are being used to extend the core functionality of Virgo. If they were dependencies of an application then ‘usr’ would be the better choice.

    There are two configuration files to edit.

    • The ‘config/org.eclipse.virgo.kernel.userregion.properties’ file. At the very bottom, specify an additional initial artifact. The artifacts listed here will be started before any applications are installed. We need to list the Equinox HttpService bundle. The value is comma separated so after adding the new bundle you should have something like.
    initialArtifacts = 
        repository:plan/org.eclipse.virgo.kernel.userregion.springdm, 
        repository:bundle/org.eclipse.equinox.http
    • The HttpService requires some configuration itself, it needs to know which port to run on. This is given with the ‘org.osgi.service.http.port’ property and can be specified in the ‘lib/org.eclipse.virgo.kernel.launch.properties’ file.
    org.osgi.service.http.port=8080

    That’s all there is to it, start the kernel up and before any applications are installed the HttpService will be available. This is the same approach that should be used to extend Virgo in any other way and is exactly how the Tomcat and Jetty packages of Virgo are constructed. If you have extended Virgo in some way, let us know.

  • Eclipse Summit Europe 2010

    Between moving house and going on a long holiday my personal projects went a little quiet but I’ve been at the Eclipse Summit in Europe in Ludwigsberg this week so I thought I’d write up my thoughts.

    This was my first ‘big’ Eclipse event, on the one hand it’s nice to have so many knowledgeable people around but on the other hand I felt the level of presentation had to much higher than normal to impress. I certainly enjoyed all the ones I went to.

    I talked about Eclipse Virgo as a part of the RT tutorial and gave a new talk about our Snaps prototype for modular web apps. I even managed to shift give away 50 memory sticks with Vrigo and STS on. This was really well timed due the new release of Virgo going out this week.

    I think the things I’ve taken away from the sessions are:

    • Go and have a play with EGit, seems to have come a long way, will be interesting to see if I start using it day to day after getting so comfortable with the command line Git and GitX.
    • Jetty is really cool! Seems to have a lot of work done to help it scale & perform well, wonder how v8 will stack up against Tomcat 6 in the performance stakes. Really looking forward to using it in Virgo and maybe playing with some of the newer features for the Virgo Admin Console.
    • The Emma code coverage tool hasn’t been worked on in years but there is a new project keeping the good work going, EclEmma. The thing that really got me interested in the Ant integration.  I’m wondering if it can be integrated in to the CI build and fail it if the code coverage is too low.
    • Finally, integration into Eclipse 4.x of OpenSocial gadgets. Made me smile. I’m trying really hard to think of a good gadget that I will want in Eclipse. Maybe something that looks up web based docs for various languages…

    Overall I had a great time and the social side was fun too. Good to put faces to names I’ve been talking to but never met in real life. There was some interesting dancing going on with the band on Wednesday night. Looking forward to Eclipse Con 2011 now.

  • Eclispe Sofia DemoCamp

    I went to Sofia to present at an Eclipse Demo Camp and seems it went down well with at least one of the attendees. http://javamissionary.blogspot.com/2010/06/eclipse-democamp-2010.html. The ‘young’ comment made me chuckle. It’s all well and good looking youthful but it’s a pain when you want some gravitas. I’m sure I’ll be out and about talking about Virgo again this year sometime.

    I know it’s been a while since posting but I’m allowed holidays, I have another ‘proper’ post in the works and will be out soon.

  • IDE support for OSGi grows

    The SpringSource Tools Suite (STS) has offered support for OSGi development for a long time, IntelliJ also has good support and even better specific support for dm Server was added in May. Now NetBeans has released version 6.9 with a lot of new OSGi related features. It’s really encouraging to see all the major IDEs competing over OSGi.

    NetBeans now works with vanilla OSGi containers from Felix and Equinox with the later being experimental for now. OSGi build with Maven along with existing Ant support. Finally a lot of integration between it’s RCP system allowing it to consume OSGi bundles and to convert NetBeans modules to Bundles and run them on raw OSGi.

    There are no signs of support for either dm Server or Virgo yet in NetBeans but they are definitely looking at OSGi so maybe…

  • Book: A Practical Guide to Information Architecture

    DesigningInformationArchitecture

    At the beginning of the year I took a few days to review a book about Information Architecture (IA). I’m certainly not a technical reviewer having no experience of IA but reading the drafts in enough detail to be useful to the author was an enjoyable experience. I picked up a lot more than I normally would. I’d definitely recommend others to try it, if your willing to put the time in. It’s now available to buy, published by Five Simple Steps.

    Who’s the Author and what is IA…
    (from the books website)

    “Donna’s a freelance information architect, interaction designer and writer. That’s a fancy way of saying she plans how to present the things you see on your computer screen, so that they’re easy to understand, engaging and compelling. Things like the navigation, forms, categories and words on intranets, websites, web applications and business systems.”

    The book assumes no previous knowledge other than knowing what a website is. It’s a very gentle introduction to a hard topic. The writing style is relaxed and definitely not heavy going. It breaks the topics down and makes a good reference for when you actually need to do some IA work. Although I understood everything being talked about I won’t really appreciate it until I’ve actually tried doing it. This is a subject that takes skill on top of knowledge and I suspect it’ll take time to acquire that skill. So, I admit I’m biased having spent so long going over the drafts but it was good fun. I recommend this as an excellent starting place for your IA learning or even to pick up some new tricks if your already a practitioner.

  • The First Milestone of Virgo is out

    VirgoLogo

    Yesterday I started Virgo milestone 2.1.0.M01 copying round the Eclipse mirror servers. It’s really good to see it go and I’m looking forward to seeing the response later today. The official blog post by Glyn Normington is on the SpringSource Team Blog.

    The Virgo Kernel is also available along with the Web Server. It supports additional server types to that of the Web Server. The Kernel gives you all the improvements on top of raw OSGi that the Web Server does but no servlet container, none of the web stuff at all. In fact the Web Server is built on top of the Kernel using its support for initial plans. This approach can be used by anyone else to start a Virgo Server customised with their own bundles.

    Hopefully this milestone also signals that work on the projects move to Eclipse will begin to reduce and new development can commence once again. There is some work that has been discussed for the Admin Console that I’m personally very keen to do. Hopefully improving the usability for larger deployments of the Virgo server. Exciting times ahead.