Q&A with Ashish Sarin: Portlets in Action
Ashish Sarin is the author of Portlets in Action, published by Manning Publications. Ashish has over 10 years of experience designing and developing web applications and portals using Java EE and the Portlets APIs. DZone got a chance to catch up with him about his book and his work.
DZone: Could you give us a quick introduction to yourself and what you're currently working on?
Ashish: My name is Ashish Sarin and I work as a senior architect for a consulting firm. I have been working on portals for the last 5 years, during which I architected both internet and intranet portals. These days I am exploring the Spring Roo project, which I find quite interesting.
DZone: What is a portal and how are they beneficial?
Ashish: A portal is a collection of mini web applications, called portlets, which support features like personalization, content aggregation, authentication and customization. Portlets act as windowed web applications within the portal and each window on a portal web page (called portal pages) represents a portlet. Portals enrich the end-user user experience by providing single sign-on functionality, aggregating data from disparate systems, and allowing users to personalize/customize content based on their preferences. A good example of a web portal is iGoogle.
DZone: Are there any new releases to be aware of or anything to note for the future of portals?
Ashish: JSR 286 (or Portlet 2.0) was launched in mid 2008 and most portal servers are currently Portlet 2.0 compliant. As of now, JSR 286 remains the most recent portlet specification and I feel it is stable and has addressed most issues that existed in Portlet 1.0 spec (or JSR 168). I think Portlet 1.0 spec was a bit of a let down as it failed to address important concerns related to inter-portlet communication, AJAX, serving binary content, filters, and so on. Portlet 2.0 is much more improved and it has everything that a developer needs to develop a web portal which delivers rich content.
I find the future of web portals very promising as almost every organization is looking for ways to take their web applications or data from existing systems to a portal platform. I also see an increased rate of adoption because of the Spring Portlet MVC framework, as it brings with it all the Spring features (dependency injection, bean validation API support, annotation driven development, and so on) that further simplifies development of portlets.
DZone: What aspects of working with portlets are covered in Portlets in Action?
Ashish: Portlets in Action is different in the sense that it not only attempts to teach Portlet 2.0 concepts with loads of examples but also discusses necessary technologies and frameworks which a developer needs to know for building real world portlets. For instance, Chapter 7 introduces readers to the Spring framework and shows how to develop portlets without using annotations, Chapter 8 focuses on annotated controllers, Bean Validation API, testing using JUnit/TestContext framework, Chapter 9 shows how Spring JDBC module and Hibernate can be used to develop a transactional portlet, Chapter 12 takes a look at AJAX and Comet (or Reverse AJAX) for developing rich portlets, Chapter 14 look at portlet bridges and Chapter 15 gives introduces readers to WSRP.
DZone: Who should read this book and where can they get a copy?
Ashish: The book has something for everyone. It assumes that if a reader picks up the book, all he needs to know is web application development using JSPs/Servlets. The book provides a gentle introduction to technologies/frameworks used in the book. If someone has prior experience working on Portlet 1.0, then the Portlet 2.0 details will be useful. A portal architect will find all the chapters useful as it contains everything that is required to develop an enterprise portal.
The book uses Liferay portal CE as the reference portal server for deploying portlets, so its easy to try out all the examples in the book. The source code for the book is available from Google Code and readers can try out examples by following the steps described in the book.
The book is currently available under MEAP (Manning Early Access Program). Please refer to the Portlets in Action book page on Manning's website for details.