Soundbyte 96: Fade to black
Before we really get into the SoundByte, first some music. This SoundByte I donâ€™t have some kind of link to the rest of the article, but itâ€™s good music anyway. Recently I decided to take training (in the gym) to a next level and that means plenty of time in the gym listening to music that makes you want to work harder. One of my all-time favorite bands for this is Metallica. Works well for waking up on a Monday morning as well, so it should be useful for a SoundByte.
As a side note about training, itâ€™s funny how many OMG WTF moments I recently had in the supermarket now that I started paying more attention to whatâ€™s in food.
In the past few months I have talked about the PulseOn technology stack with many people. We have been presenting at several conferences, and had several meetings with (potential) customers interested in how we are doing things. The two main factors why people are looking at our architecture is because we have a way to maintain a high quality code base in a very agile environment, and because the way we deal with scalability. That has nothing to do with the fact that we are using Amdatu and OSGi per se, but is all about the advantages of an architecture enabled by these technologies.
PulseOn is of course built on Amdatu, but what does that mean exactly? Is Amdatu the framework to rule them all? There are two different ways we can look at Amdatu:
A set of open source OSGi components
An architecture blueprint for â€œcloudâ€ applications
The architectural part is by far the most important. This is what brings maintainability and scalability. The software components are just (very useful) enablers of this architecture. So how is this different from other frameworks? Most frameworks (Java EE, Spring, Grails etc.) are just more convenient ways to build applications using the same old architecture. Amdatu takes a different approach in that itâ€™s core concept is modularity. Modularity makes it much easier to develop and maintain a large code base. Separating a code base in many small, isolated, pieces of code prevents coupling and forces you to think about separation of concerns. Modularity is key here, not so much the fact that we use OSGi and Amdatu components.
Of course, if we do want modularity in Java there are not really any alternatives to OSGi. And when using OSGi we need components for high level features such as RESTful web services and MongoDB support, which brings us back to Amdatu. Still, itâ€™s important to remember the reason (modularity) why we use this technology stack.
We are not the only ones to see the importance of modularity. To give an example, in the JavaOne Russia keynote modularity was mentioned as one of the most important themes for the near future several times. What that means exactly remains unclear, Oracle certainly doesnâ€™t have the answer yet. Thatâ€™s also why itâ€™s important to show how this can actually be used today already.
The other aspect of the Amdatu architecture is scalability. This is where we leverage the cloud and move away from traditional deployments. The key difference with traditional deployments is that we see nodes (servers where our software is installed) as being â€œdisposableâ€. In traditional deployment environments an application server is used, and this application server must be installed and maintained. In contrast to this, on our nodes we only run an empty OSGi framework and provision to these frameworks using Apache ACE. Because we donâ€™t manually install or maintain the nodes (the provisioning happens automatically) we can just throw away nodes whenever something goes wrong, or when a node becomes unhealthy (either because of hardware or software problems). This brings scalability and automated failover, which isnâ€™t limited by the amount of nodes in a cluster.
These ideas are also the message we are spreading on conferences. Bert and I went to JFokus , JavaOne Russia and will be going to GeeCon end of this week. Marcel and I went to EclipseCon and Â Sander and Jan Willem will speak at JEEConf next week. The first JavaOne talk from Bert and me is also accepted. That means plenty of Amdatu coverage around the world. We even made it to Apeldoorn recently and will be doing another Amdatu session in the Netherlands later this year 😉
Chromebooks and web applications
Iâ€™m writing this Sound Byte on a Samsung Chromebook that I bought recently. The reason for buying a Chromebook is mostly an experiment to see how useful it is, but I also did have a use case for yet another device. Since Iâ€™m still working on a book together with Bert I do quite a lot of writing. Writing obviously works well on a Macbook as well, so why bother with another device? Powerful laptops get very hot, and in my case (17â€) itâ€™s pretty large as well. Like most of you I spent most of my days (and evenings as well actually) behind a desk and computer. Simply to change environment once in awhile I prefer to write in a relaxing way on the couch. Relaxing works a lot better if your legs are not set on fire by a laptop, so a smaller and less powerful device fulfils this job a lot better. The advantages in environments such as airplanes are obvious as well.
For writing and browsing the Chromebook is perfect. For anything else, not so much yet. I do believe this type of device will become very popular in the near future, since most people use laptops for exactly those things. The advantages in an educational context are even bigger. If learning is done online with PulseOn a Chromebook is a nice (and cheap) alternative to tablets. For exercises students need to type, and a physical keyboard is still a lot nicer in that case. We now see students carry stands and external keyboards for their iPads to the classroom and to me that really defeats the whole purpose of having a tablet. We are currently starting a PulseOn pilot with an organisation in the US, and they will be using Chromebooks. Iâ€™m eager to see the results of this pilot.
The success of devices like the Chromebook has everything to do with the availability of powerful applications in the browser. I am currently involved in a code review of an application that includes both a native iPad application and a web application. The web application is missing features because, well, itâ€™s a web application. Iâ€™m really wondering if this is true!? Have we reached the point yet where web applications are as powerful as native applications, or is this still something of the future? Iâ€™m aware of the fact that the browser world is still far from perfect, but Iâ€™m also fairly certain that we are on a turning point where web applications can be as powerful as native applications. This will also bring an end to the multi OS madness where each application is basically written three times (iOS, Android, Win8), and oh, we also want a web application….
Luminis Technologies website
To finish this SoundByte I want to show the new Luminis Technologies website.Â This is the result of an afternoon of hacking with the whole LT team. The website is built using Awestruct and a Bootstrap theme.