Liferay and Vaadin Announce Partnership

LiferayAs the press release says, now it is official: "Liferay, Inc., provider of leading open source enterprise portal and collaboration software, and IT Mill Ltd., provider of the Vaadin rich user interface library, recently announced a new technology partnership. The collaboration will simplify and reduce the cost of developing sophisticated and secure rich user interfaces for Liferay-based enterprise applications."

What does this mean in practice for a Liferay and/or Vaadin developer? Simply, it means an easy way of building rich web applications on top of Liferay platform.

We have been working on Vaadin portlet integration for some time now and Vaadin-based portlets run nicely on Liferay. Read Teemu's article about how to get started today! If you are using Eclipse download the plugin and startup Liferay - Your first application is nearly deployed.

The upcoming Liferay 5.3 will introduce more seamless integration of Vaadin applications. Better portlet commmunication and full support for installing and running multiple rich portlets in Liferay portal environment.

For those only interested in seeing what this looks like, and what kind of applications you can build with Vaadin-Liferay combo, take a look at the tech demo of new Mail Portlet:


Liferay European Symposium

 Just got back from Liferays European Symposium in Frankfurt

Great conference and great people - I can really recommend the conference to everyone interested in Liferay. Have been listening to many great presentations, including Sami's presentation on "how to build Liferay portlets with Vaadin".
Liferay comes built in with tons of really nice content publishing and web 2.0 type features. It defines a solid base to build communities and web sites/portals on. Because those features are more and more required by the business applications - we see Liferay Portal also as a perfect platform to build enterprise applications needing those features. With Vaadin based portlets for the "application like" parts and mixed with portlets what ship with Liferay Portal.
Besides the fact that Vaadin has supported Liferay for a while now, you may have noticed some subtle hints about something going on between Liferay and Vaadin, such as this, that and maybe even this. Because we see that Liferay and Vaadin are perfect match for building enterprice portals, there will be  even more integration coming up in future. Core developers of Vaadin and Liferay are actively working together with Liferay to make the  products work seamlessly together. 
Stay tuned.
- Joonas
Update: Sami put the source code online for the demo application he created during presentation.

Is your Vaadin application becoming sluggish?

(by Matti Tahvonen)

Yes, this can happen - it is no secret. This can happen for every application, with every programming language, with every UI library and with all hardware platforms. Make it a web application and it is not even hard. For end users this is not acceptable, especially when building applications for frequent use.

All developers have heard the phrase premature optimization is the root of all evil, coined by software guru Donald Knuth. There is a wisdom in that clause. Still I want to motivate you (Vaadin developer) to read this article, even if you currently have no performance issues. I'd say it is not that bad to know what will inevitably make your application slow. You might subconsciously avoid the worst pitfalls (but still not be subjected to premature optimization) and avoid optimization task totally.

Resolving performance issues in Vaadin-based applications may be a bit tricky in some situations. Performance issues are one of the most common issues why project managers in IT Mill come and disturb our "peace" in the RnD team. Usually we'll end up modifying the application, not Vaadin. Vaadin abstracts away the browser environment, and the abstraction may make it hard to figure out what is the actual cause for a slow UI.

The first step is to detect whether to optimize the server side or the client side. You can use all standard profiling tools with Vaadin apps like Firebug for the client side and JProfiler for the server side. For a quick look for what is taking so long it is easy to use "?debug" query parameter in application. It will show you a small floating console in the browser. Inspecting messages there, one can see server visit time (includes both network latency and server processing time) and the actual time spent handling the response in client.

If the problem is on server side, it is most commonly in the back-end system or how it is connected to Vaadin components. The server side code of Vaadin is pretty well optimized by the JVM. If the server side is your problem, I'd bet you will end up optimizing SQL queries. Optimizing tricks for server side are very similar to any other Java application.

If it is the client side processing that takes a long time, optimizing methods are more Vaadin specific. There are several tricks one can perform to optimize the client side processing time. Some of them are more or less generic to ajax applications in common, others are purely Vaadin specific. If you belong to the large group of Java developers who hate browser programming, you don't need to get worried at this point. Although the processing time is long on client, you will be mostly modifying the pure server side Java code when optimizing your application.

Read top optimization tips and tricks from Vaadin Wiki