The yin and yang of new feature vs. production stability: WebSphere Liberty Feature Repository
Stephen Kinder 110000HUHT firstname.lastname@example.org | | Tags:  feature_repository websphere-application-ser... liberty_profile websphere
0 Comments | 4,244 Visits
I’ve had the privilege of working in the computer industry for over 30 years now, primarily delivering commercial software. One constant I’ve seen over that time is a the conflict of interest between providing bullet-proof stability – like those required by mainframe operating system components – versus the need to provide new functionality to customers. It seems that change invariably introduces instability. When you build systems that stay up for 20 years without a failure, change can be anything but your friend.
Traditional WebSphere and feature packs
As WebSphere grew, we compiled a significant set of compelling features, tools and functions helping customers build compelling web applications that fit into their Enterprise and Service Oriented Architecture. As we responded to the rapid development lifecycles of the “web-year”, we had to transition to new styles of development. Waterfall gave way to agile and we started delivering new features over iterations and milestones, vs. multi-year releases. It seemed like every customer meeting I was in, there was a plea to accelerate the availability of new features; while at the same time we needed to not disrupt what was working in production. Hands off!
In version 6.1 of WebSphere Application Server, we introduced the concept of a feature pack. These feature packs could be installed on top of servers as-needed, and allowed customers to leverage the version that they were using the field and only take the risk of introducing new features on those servers that absolutely needed them. We continued this support and in v7 as well. And many customers leveraged these new features much, much earlier than if they had to wait for the formal WebSphere Application Server release cycle; all the while being isolated from change for their stable environments.
Liberty, the Incredible Lightness of OSGI, and the rise of the Feature Repository
Since its initial release in WebSphere Application Server v8.0, the Liberty runtime has been enhanced with myriad new features, all of which are configured in individual, composable, pay-as-you-go fashion. Customers specify which features, feature version and its configuration and the Liberty runtime sucks in the features and builds a fit-for-purpose server. The Liberty runtime even permits customers to factor their own frameworks and utilities as features to be included in their applications, gaining all the same attributes as they do from the IBM provided features.
As we’ve moved through the past decade, the web-year has transformed into the cloud-year, and we’ve added a new style of engagement and embraced the programmable web. The pressure to deliver new features, such as integration with Cloudant database has caused us to rethink again how we can deliver new features even faster.
We’ve introduced a feature repository and feature manager that can suck down features from the repository and install them in your Liberty server. Just taking a quick look at the feature content in the public feature repository, I see Message-Driven Beans, JMS, JCA, z/OS connect, and z/OS optimized connectors – all interesting content to say the least. Features are made available in a continuous delivery fashion. If your application needs these features, you can ask the Liberty server’s feature manager to pull them down, install them and apply the specified configuration.
Very much like the feature pack idea, only those applications that need to have new features actually pull in that content, leaving others in their own fit-for-purpose server. I hope you can see that the principle, which balances new function and stability, are very well served by the feature design of Liberty and access to a rich set of new features is also well served by the feature repository.
You can learn more about the Liberty feature repository with this short video:
I’d love to hear how you are leveraging Liberty features, using WebSphere in the cloud, or just otherwise wax philosophical. Leave a comment here or catch me on twitter: @StephenKinder.