Experimenting with JSR 168 and WSRP

Experimenting with JSR 168 and WSRP

I recently started playing with portlets, mainly WSRP. It took me some time to figure out all the JSR 168 and WSRP terminology. It looked quite cool until I started using the tools. I used WebSphere portal UTE. My initial attempt to set up a WSRP channel between WebSphere and Liferay did not succeed because I assumed that it is going to be easy. It was not.

WebSphere portal UTE 5.0 does not have a complete GUI for enabling WSRP. So I pulled the WSRP4J code which uses maven 1.0 and not maven 2. I don’t know where this is specified and since I haven’t used maven before I wasted time trying to set it up with maven 2.

Now it looks like that I have to understand a slew of technology to really be very productive with WSRP and JSR 168. This could include Web service security, WSRP specification, JSR 168 specification, SOAP, WSDL and also the quirks of tools.

How do I understand this exception message if I don’t know the spec. ?

Consumer supplies a registrationHandle/registrationState pair that is not recognized by the Producer.

So I had to jump through several hoops just to view a simple WSRP portlet in the Swing consumer of WSRP4J.Aggregation of content using WSRP seems interesting. The following is the image of the WSRP4J Swing consumer showing a WebSphere portlet and its clone.

wsrp-portlet.JPG

WebSphere Portal and JSR 168

Initially we started migrating a project thinking that the JSR 168 standard is a totally portable way of writing portlets. After a few months of development we found that our code is sucked in by WebSphere portal. As much as we tried to, we coudn’t keep our code portable. All the navigation code including tag handlers became deeply embedded within the portal themes. Apart from that our authorization code now depends on the portal implementation.

We couldn’t figure out when WebSphere portal would support JSR 115. Our JSR 168 portlets are still portable but what use are they without the rest of the infrastructure provided by WebSphere Portal.

Writing Mixins using AspectJ

I recently wrote about AspectJ and mixins because this idea seemed to have more practical value than usual examples about logging etc.