Sunday, March 23, 2008

MVC or application portlets (JSR 168/286, Struts, JSF, Springs, etc)

This category of portal integration pattern is when portlets are developed in-house as full fledged applications. This could be from simple to complex ranging from 1 view to multiple views. Portlet developer implements all the tiers of standard MVC (Model-View-Controller) pattern. Code can be written using standard JSP, JSTL, Java as well as several popular frameworks like Struts, JSF, Spring, etc but make sure whatever framework you choose is supported/integrated with portal product that you are using.

When developing portlets make sure to implement using standard portlet API JSR 168. The newer portlet 2.0 standard JSR 286 has also been improved but may have limited support by vendors. It is best to avoid using propritory portlet framework like IBM portlet API which is now deprecated with IBM Portal 6x.

Sunday, March 16, 2008

Web service client/SOA/BPEL portlets - Portal Design Pattern

These comes in several flavors.

Lets say you have a web service that you want to expose on the portal. You can than create a web service client portlet - lot of IDEs may let you drop the service WSDL and auto-general all the code letting you place the input to the service as HTML UI elements as well as custom layed output. It will auto-generate the html code and all the backend plumbing code. Just package as the war file and deploy. An example of this can be "Package Tracking Portlet" which simply takes a tracking number and returns the results in the portlet.

A variation of the above is when you just want to display the results and there is no input which is based on users profile that is passed to the service - this can be custom coded or auto-configured depending on the sophistication of the IDE. In custom code you would have to do quite a bit of tweaking where you have to make the results page as the home page of the portlet and behind the scenes submit the 1st/input page to the service.

SOA portlets are basically giving UI interface via portal to your SOA solutions. The portlet can be calling one service that choreographs multiple services or you can have a portlet that calls multiple services.

BPEL portlets are the ones generated as implementation of human task in a business process flow.

Blogged with Flock

Saturday, March 15, 2008

JSR 286 Approved

Great news for portal developers and vendors alike :)

via JSR 168 JSR 286 Portlets & Enterprise Portal by Punit Pandey on 3/7/08

You would be happy to know that the JSR 286 is approved and the final version should be available soon. By the time, you can have a look at final draft here. I am sure JSR286 will prove a big leap forward in success of Java Portals. I congratulate spec lead Stefan Hepper and all expert group members for the efforts and hard work.

Sunday, March 02, 2008

Iframe portlets - portal design pattern

Iframe portlets can be used to expose existing internal web applications and even external sites - as a matter of fact any web site as a portlet. Below are high level steps:

  1. Create a basic portlet using the portlet IDE that comes with your portal, like RAD (rational application developer) for IBM portal.
  2. In its most simple format there is just enough code to use the html iframe tag.
  3. This tag takes url as one of the parameter which is where you specify the site url.
  4. Some additional parameter that can be used are height/width of the iframe - so if you have more than one portlet on the page than use these to adjust accordingly.
  5. To add more - you could use the out of the box help/edit feature of the portlet and even let the user specify the url of the site.
This approach lets you integrate existing applications very easily with your portal and is probably used a lot.

Blogged with Flock

Portal Integration Patterns

There are several portal integration patterns that I would like to talk about over several blog posts. This is to expose applications/functionalities that people can use on portal. Some of them are:

  • Iframe portlets
  • Web service client/SOA/BPEL portlets
  • MVC or application portlets (JSR 168/286, Struts, JSF, Springs, etc)
  • Launch applications via portal
  • WSRP (Web Services Remote Portlet)
  • Fun/productive/vendor portlets
  • Web Clipper portlets

Blogged with Flock

Saturday, March 01, 2008

Gartner Top 10 for 2008

I am very interested in social networking and enabling apps on mobile devices in an enterprise setting from this top 2008 list from gartner

Blogged with Flock