The Liberty profile in WebSphere Application Server Version 8.5.5 still has all the great characteristics that makes it fun (yes, fun!) to develop with, but now supports a much wider range of applications through additional programming models. You can also extend the server capability by writing your own features!
Liberty configuration is really simple. Each feature contains useful default values so you hardly have to put anything in your server.xml. You can keep all the configuration for your server in that one file, or structure it across multiple files using includes. Make configuration even more portable by using variables that are substituted at runtime. And: unlike other application servers, you can use your existing configuration files from the V8.5.0 runtime with the new V8.5.5 runtime without any modification!
The runtime still starts in a few seconds and is fully dynamic, and we’ve made application start even faster than V8.5.0. There’s no tradeoff on request throughput though; performance in our benchmarks is higher than all the popular open source application servers. Your web applications can go even faster now using the new webCache feature, which provides an API for caching application data as well as container caching of responses controlled by an XML file in the application. Changes to applications and configuration take immediate effect, making development fast and free of server-restart frustration.
So what are the new programming model features in V8.5.5? We have rounded out the web application support to be compliant with the Java EE Web Profile 6.0 specification; that required the addition of CDI, Managed Beans and EJBLite (basically local-only EJBs). You can provide endpoints for those EJBs, or for POJOs, using the new JAX-WS feature, and use a superfast JAXB feature for XML processing. For JMS, there is now a lightweight messaging engine (perfect for development) as well as fully transactional clients for WebSphere messaging (Liberty or full profile engines) and, of course, WMQ. With EJBLite and JMS in the picture we couldn’t resist also adding MDB support.
Of course, security is provided for all this new stuff in separate features, so you can start simply and gradually evolve your applications. Speaking of security, you can now delegate authorization using the OAuth feature; the Liberty server can be both a service provider and a protected resource endpoint. The new ldapRegistry feature extends the LDAP support in 8.5.0 to allow federation of multiple repositories.
For data access we’ve added the mongoDb feature which provides simple configuration for access to the open source NoSQL database. And if you’re a fan of using open source libraries in your applications, take a look at our new Liberty repository which helps you to integrate many popular open source frameworks into Liberty. The repo is also where we’re putting our new product samples for features like EJBLite, so check it out.
One more aspect of Liberty V8.5.5 that is of particular interest to developers is the support for user-written features. This is a first for WAS; we are opening up the mechanism by which we build our own features so you can write code that plugs right in to the server architecture. Your feature is kept out of the application space; your configuration properties can be parsed from the server.xml file and injected into your code every time they change; they can even appear in the WebSphere Developer Tools for Eclipse configuration editor! There’s lots of cool integration available when you need to extend the server runtime.
So – the same simple, fast server for development, but lots of handy new features to expand your applications. The enhanced Liberty Profile in WebSphere Application Server V8.5.5.