Portlet In Action chapter 2