JSR168 Portlet Development: Learning How to Develop Effective, JSR-168, Portal Applications, Everything from the GenericPortlet to the Struts and JSF Apache Portlet Bridges