Tuesday, 24 April 2012

Liberty Pi - Running WebSphere on the Raspberry Pi


Firstly, this is the coolest thing I've done at IBM :o)  Working with two technologies that are really interesting, innovative and just fun to play with!  So how did this all start…

A while back, I got in contact with the great folks at Raspberry Pi, Eben and Liz Upton, and told them I wanted to run a proof of concept demo which runs lightweight software on lightweight hardware.  They were keen to get involved and sent me one of their little gems to play with.  The reasons I wanted to run the new Liberty Profile on the Raspberry Pi was because I saw a lot of similarities in the goal of providing a lightweight solution, an offering which developers would love to get their hands on, and sheer innovation and determination to deliver a real top class deliverable.

A Raspberry Pi is essentially a business card/credit card sized computer. They're a charity which have wonderful intentions to encourage programming among school children with a really affordable computer.  Here's what's on it:




The new Liberty Profile, which is part of WebSphere Application Server V8.5 offering, due for release June 15th 2012, has been designed around developer needs. As a result its a lightweight offering of the full WebSphere App Server that is composable, very fast and reactive to a developers needs.  A download and install from scratch for example would take little over 3 minutes.  This Liberty Profile still contains the top class containers and services full WAS profiles have used over the years.

To show these two technologies off, I wanted to show both the Liberty Profile running on an extremely small device, as well as the Raspberry Pi running substantial software, including a Debian OS, full JVM and Application Server.

Here's the demo in action:


This is my first pass at running an environment on the Raspberry Pi, so comments and suggestions about what I could try next would be very interesting.  I've already got a bunch of ideas i'm planning on trying but would love to hear your thoughts.

In this first pass, I decided to run with the recommended Linux distribution, Debian.  The Liberty Profile allows you to use your choice of JVM, from a supported list.  However, as this was on an ARM architecture, choices were slightly limited.  This time I decided to go for the OpenJDK.  Liberty was a straight forward download and unzip from WASdev.net.

Things I noticed straight away: 
Where has all my memory gone?!?  256MB has turned into 126MB straight away!   Digging a little further shows that an amount of this is taken up by the GPU, and there seem to be workarounds to better allocate the memory for what I want.
Wow, the X Server takes up 30% of my remaining memory!  In the future I'll be switching to a more minimal runlevel to make better use of the resources the Pi comes with.

Some of my planned next steps are to play with the J9 JVM on the Pi, upgrade to the released levels of the Liberty Profile and use a more interesting application.

For more information about the Liberty Profile check out the WAS development community at WASdev.net.  For more info on the Raspberry Pi, see raspberrypi.org.

Friday, 24 February 2012

Why the Liberty Profile is like the Millenium Falcon!!!

First of all, the Liberty profile can start in under 12 parsecs! (yes, yes, yes, that's a measure of distance, but what Han says goes, OK!  Besides, he shot first ;o) )

I was stunned to see this video of the millennium falcon and how it took 3 years to animate, brick by brick. Absolutely amazing job by Francisco Prieto.


Lego Millennium Falcon Stop Motion Assembly 3d from Francisco Prieto on Vimeo.

The chap who worked on the Lego Millennium Falcon build, Francisco Prieto, is clearly an uber determined person, with dedication and attention to detail plainly on show.  I've been a privileged developer in my time at IBM, having worked with some equally dedicated, determined and smart folks in the Hursley lab.  None more so than the team who have created the Liberty profile for WebSphere, a truly awesome lightweight, componentised developer focused offering that I'm proud to say I'm working on.

The new lightweight OSGi kernel it sits on provides the base for the liberty profile to enable all the words which people like to hear, such as consumable :o)  Basically, using OSGi you're able to create your server runtime to be bespoke to your application requirements.  If it doesn't use a particular aspect, such as JSPs, why load it into the runtime?  This is the componentised aspect similar to the lego build above which allows you to construct your finished server, as you want with componentised building bricks.

So what are we talking about here when we say lightweight and fast?  On my macbook pro, here are the stats:

Download size:   26MB  (Yep, that's twenty-six Meg!)
Size on disk:  31.2MB
Memory footprint:   70.9MB
Start up time: 1-2 seconds
Total download, install and start time:  < 3.5 minutes (that's 210 seconds!)

For proof it only takes 210 seconds to fully install the tools, runtime, create and start a new server, check out this non stop video:



I hope you're impressed with the changes that have been made to the WebSphere offering!  Don't forget to check out our new WASdev community (www.wasdev.net) around Liberty, and join in to let us know what you think.  You can download the Beta now and have a play. For more info, check out our education pages.

Friday, 10 February 2012

Monki Gras drove me to blogging

Yes, it's been a while since my last blog post, I've been very busy creating a new site for developers around the new Liberty Profile, wasdev.net. That's no excuse though! I don't think I've ever blogged about a conference I've not been involved with on this blog site or any others, however, Monki Gras has changed all that...




Monki Gras is the second conference the guys at RedMonk have hosted, after the success of Monktoberfest last year. They're technical conferences (Beer themed!) for developers that really do focus on community, technology and developer relations (and beer!). I haven't seen or been to a conference that compares to the awesomeness of Monki Gras and can't wait to go to the next one!!! I'm really pleased IBM decided to sponsor this conference in it's push for developer relations. Let's take a deeper look into what was on offer.

Sessions

The content for the conference was nothing short of amazing. The caliber of the speakers was excellent, ranging from the technical insights of lanyrd founder @simonw to the OS community experiences of Jenkins creator @kohsukekawa. My personal top three sessions were:

at 3: Why most UX is shite - http://www.slideshare.net/leisa/why-most-ux-is-shite - Leisa Reichel @leisa
Leisa gave a great overview of what needs to be clearly thought out to give users the best out of their potentially brief experience with your site/community/product. It wasn't a typical presentation about details required to make a UI pretty and usable, rather a back to basics trying to get people in the right mindset of what you need to be thinking about to then go on to create a great UI/UX.  This is an area which I am quite passionate about learning and changing in my role to help with developer adoption of projects.  Great presentation!

at 2: Kitteh vs. Chikin: What Data Can Tell Us About Who We Are and Who We Want to Be. - http://www.slideshare.net/mattlemay/kitteh-vs-chikin-what-data-can-tell-us-about-who-we-are-and-who-we-want-to-be-monktoberfest-2011 - Matt LeMay @mattlemay
A really entertaining presentation with some very interesting social stats contrasting what people share and what people click, including the now infamous kitteh/chikin analogy!



at 1: Creating a developer community - http://www.slideshare.net/kohsuke/building-developer-community - Kohsuke Kawaguchi, @kohsukekawa
Kohsuke gave some great insight about what he learnt in creating the community for Jenkin, including how everyone starts as a visitor and it's the interactions with the community that turns the visitor to a user and a user into a developer.  There are of course many pitfalls, including UX which prevent these transitions such as crappy download sites/pages, installation guides and getting started pages that are far too big. A really good session about lowering the barrier to entry for a community.

Lunch

The attention to detail was really good throughout the conference, including great coffee (couldn't find a link - maybe someone could send me their details), great Japanese food, and amazing pastries!  This may sound a bit silly, but trust me, it was epic.

Beer!

The link between craft beer and craft software/development was rarely too far away during sessions. As a keen beer drinker :) I certainly appreciated what was on offer, although I didn't stay overnight in London, as I'm on baby alert, so had to stay relatively sober :)

Well done to James Governor for what I understand is the first conference he has organised!  Not a bad start, lets see if he can do better next time ;o)  Hope to see you there!

Friday, 7 October 2011

Announcing the WAS V8.5 alpha

The year was 1911. While most were trying to understand how to create accounting machines and punch card readers, one man had a vision. He created a company with the sole intent of constructing a lightweight, fast, consumable application server that was so fast and easy to use, a developer could run it on even the slowest of punch card readers. "The server must start within 5 seconds" he exclaimed! "The server footprint cannot be bigger than 50 megabytes!" he mandated. While some of his more forward-thinking colleagues questioned how a production-ready server with such strong enterprise qualities of services could run in just 50 MB of space, others were puzzled by what an application server was and baffled by this talk of a "megabyte". They called him a dreamer and questioned whether this was even possible. "I want this application server technology to be available, even if it takes a hundred years!" he replied.

The rest is a history that is very much left out of the IBM Centenary literature. However, WebSphere Application Server V8.5 Alpha provides all this and more, using the new Liberty profile. Want to know more? Why not take a look round this new development community, WASdev. You can download the alpha server and tooling. We'd love you to let us know what you think on our forums, and to collaborate with us to help create a next generation development platform that works for you.

Thursday, 23 June 2011

The link between WebSphere Application Server Community Edition and Apache Geronimo

In previous posts I've written on this blog, such as Get OSGi samples running on your machine in 10 minutes and OSGi Bundle Lifecycles I've referred to Apache Geronimo as the light weight application server I've been using.  Geronimo is an open source application server that consumes the Apache Aries project.  However the food chain does not stop there.  An IBM product called WebSphere Application Server Community Edition consumes the Geronimo project.  So what can we infer from this food chain in the future?

Well, Geronimo currently offers full support for the Java EE 6 and enterprise OSGi applications (via integration of Apache Aries).  I asked Kevan Miller, an IBMer who is the PMC Chair of Apache Geronimo and the WebSphere Application Server Community Edition Architect, to clarify the intent for the Community Edition product.  Here's a slide Kevan often uses which carries a clear statement of WAS CE future intents.



I'm looking forward to seeing these functions in WAS CE, particularly the Java EE 6 support and the new OSGi enterprise programming model to WAS CE, in the OSGi platform.

IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion.   Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.

Monday, 13 June 2011

External Bundle Repositories

An external bundle repository is a location that can host a number of OSGi bundles and an xml file, which describes the bundles in the OSGi Bundle Repository. The xml file specifies the capabilities and requirements of a number of bundles together with their URLs. The bundles can live in the same location or different locations from the xml file.

Apache Aries, WebSphere Application Server V7 + OSGi and SCA Feature Packs and WebSphere Application Server V8 all support external bundle repositories. However, a common frustration among those who use external bundle repositories is the creation of the repository. Emily Jiang, a member of our development team, recently developed a repository generation tool that's worth sharing (instructions can be found on the Apache Aries website). The tool takes a list of URLs and generates a repository xml file describing the URLs. If the given URL is a local file directory, the tool will generate metadata for all valid bundles in that directory, which saves the user significant effort, as they do not need to explicitly list every bundle in the target directory. Subdirectories will be recursed for any bundles that exist higher in the directory structure.

For more instruction about how to administer external bundle repositories, check out the docs for the WebSphere V8 beta infocenter: http://publib.boulder.ibm.com/infocenter/wasinfo/beta/index.jsp?topic=%2Fcom.ibm.websphere.osgi.express.doc%2Ftopics%2Fta_admin_obr.html

Wednesday, 18 May 2011

New Enterprise OSGi YouTube video: Blueprint

Blueprint provides a dependency injection framework for OSGi and was standardized by the OSGi Alliance in OSGi Compendium R4.2. It is designed to deal with the dynamic nature of OSGi, where services can become available and unavailable at any time.


A new video on the Enterprise OSGi YouTube channel gives a brief introduction to the Blueprint container.