Another release, another great podcast from Joe Chacko, an IBM developer, who introduces the WebSphere Application Server V8.5.Next Liberty Profile Alpha, explaining the many new benefits it brings to you. He covers some of the highlights of the Liberty profile and its accompanying tools (WDT). Please all share in Joe’s love of the Liberty profile.
Hello and welcome to another Liberty Alpha podcast.Â I’m Joe Chacko, and I’m a developer working on the WebSphere Application Server Liberty Profile.
I’d like to thank you for telling us what you thought of our previous release.Â We’ve had to be very disciplined about what to prioritise for the Alpha and knowing what is important to you really helped.
If you want to try the alpha you shouldn’t have any migration concerns moving from the 8.5 GA Liberty profile.Â We will honour all the settings when you bring your server config across.Â If you aren’t using the tooling, you can just unpack the Alpha into a new folder and copy across the usr folder from any previous installation.Â All your server definitions and content should just work.
We’ve been tidying up a few loose ends.Â One common request was support for folders in shared libraries.Â We’ve cleared this up by adding explicit file and folder elements to a library definition, so you can add a folder to an application’s class path. We’ve made this simple to use, which of course took extra careful design and implementation.
Even our launch scripts have been the subject of close scrutiny and improvement.Â You can now generate up to three types of diagnostic dump for a server right from the command line.Â If you’re more of a GUI enthusiast, you can use the new dump dialog from the tools instead.
We have added support for JAX-WS 2.2, allowing you to work top-down from pre-defined web service definitions, or bottom-up, generating the definitions from the Java, even a plain old Java object.
JAX-WS also supports resource injection, which brings me on to another cool feature: CDI, or Context and Dependency Injection â€” using annotations to define the lifecycle and interactions of a bean in the container.Â Our tooling has also been enhanced to allow you to augment existing projects with CDI support, and to warn you when you need CDI support enabled in the server, even adding it for you via a quickfix.
We now have direct support in the tools for developing with Maven.Â There’s also some very slick web and mobile support using jQuery widgets including a mobile device WYSIWYG development view.
Back in the server we have added, for your delight and delectation, support for the EJB Lite subset of the EJB spec. You can create stateless and singleton EJBs, and you can use annotations to inject these into servlets and to define some role-based security privileges.Â I may have a biassed view of this particular technology, but I see this as a big hitter for our lightweight composable server; by adding a line of text to a file you can turn on the EJB container in a running server.Â Of course the tooling support is as ever in lock step with the server.Â You can now deploy EJB applications to a Liberty Profile server in Eclipse and the required features are added automatically.
I’ve saved my favourite new feature until last: you can now extend the Liberty Profile by adding your own features.Â In fact it’s a bit of a meta-feature; it’s not something you enable in server.xml â€” it’s always on because it’s the mechanism we use to load our own features.Â There’s a new folder structure under the usr folder called extension.Â By adding bundles and subsystem manifests within this structure, you can define user features, referenced in the feature manager as “usr:myFeature”, a dash, and then a version number (e.g. “1.0”), within a feature element.Â The code in these features is treated as part of the server runtime and takes part in the feature lifecycle just like any other feature in the Liberty Profile.Â This is a new approach to extensibility and is unique to the Liberty Profile.
We’re so confident that you’ll love this new feature that we’ve invested in tooling support for this as well (those tools guys are so hot they’re smoking). There is a new project type in the tooling called a Liberty Feature project, with a special editor to allow you to create the subsystem manifest that defines your feature, including its API (which is visible to applications) and its SPI (which is visible to other features).
Well, I hope I’ve whetted your appetite for a slice of the Liberty pie. Remember that we’re just a post or two away on wasdev.net if you need any help.Â I look forward to hearing from you.