Since the last blog post on the Liberty buildpack update in March, we have released three additional buildpack updates. Here is a summary of the key new features and improvements made since the March update. More...
Applications are changing. Users are expecting a more interactive experience on a wide variety of devices. Applications need to be able to scale, be highly available and be able to roll out continuous updates to quickly react to browser, mobile device, API, and security changes. Creating one large monolithic application may no longer make sense. The Microservices architectural pattern is a great solution for these problems. The concept is simple—break your application into multiple independent applications, each with a clear purpose.
As I noted in my previous blog entry, Graduate students learn and innovate on Bluemix, the Bluemix platform as a service (PaaS) is not only a business solution, but also an excellent environment to learn and sharpen your programming skills. Today's entry presents a Bluemix application developed by my students called Ship>>Easy.
Bluemix is great because you can simply push your Java EE application (WAR or EAR) and select what services your application needs. You don't have to worry about the server configuration because it's generated for you by the Liberty buildpack. Ideally, you should write your application in such a way that the generated configuration works for your application. But if you need to enable a Liberty <feature>, set a JVM argument in jvm.options, or provide a shared library that resides outside the WAR, this video explains how to modify server.xml, package your server, and deploy it to Bluemix.
Since our last update, we have released four new versions of the Liberty and Node.js buildpacks in Bluemix. The improvements include development mode support in Eclipse, dynamic log level setting for Node.js, new Liberty and Node.js runtimes, and enhanced JVM option support.
While the Liberty buildpack will preconfigure the JVM configuration for a Java application deployed in Bluemix, the ability to customize from the default configuration of the JVM is sometimes necessary and likewise can sometimes be complex with a variety of options available. The ability to customize the configuration of the JVM is simplified in the latest LIberty update, enabling you to more easily configure JVM diagnostics of memory-related issues (hangs, performance degradation), performance tuning, and adding JVM agent(s).
The Cloudant team is thrilled to be the data layer behind Bluemix and we’re excited to have released a new IBM Bluemix boilerplate for building apps with Java and Cloudant. Cloudant has a lot of exciting updates coming for Bluemix users in the near future. This tutorial will walk you through getting set up on IBM Bluemix and building your first app using the new Java boilerplate.
If you want to do step-wise debugging, the answer to “Can I debug in Bluemix?” seems to be “yes with some work”. The current architecture of Bluemix/Cloud Foundry doesn’t permit an incoming debug connection and at the same time, most debug clients are behind some kind of firewall, so we can’t configure our deployed application to make the connection from Bluemix/Cloud Foundry to the client. This post explains how to configure a simple forwarder that can accept two connections, one from the deployed Java application and the other from the debugger. It has a number of drawbacks but is a simple way to prove out the concept.
Here's what has changed in the July 2014 version of the Liberty Buildpack.