Blog | On the Web | About me

Search 

Image:Websphere Portal Development options - The big picture - Part 1

Get larger image...

Hello, it has been long time since I last wrote a post in english. This is the first of a series I've been preparing for quite some time.


At an event we held last september I dare to say "Websphere Portal" at a Lotus Domino centric event :) (look at
day.dominopoint.it for more information on what the community achieved).

As expected interest was somehow limited and scepticism high. I believe Websphere Portal is a great product but the Yellow community has had troubles in getting comfortable with it.

Luckyly I then discovered that many are using portal, or at least struggling to put it into their toolset.


Here I'm starting by listing those that, in my opinion, are the available options when you start to look at portal as an "application integration middleware" (but it's even much more).


I the map you've seen on top I quickly depict the big picture, let's start:


1. Portlet factory


It's my favourite tool. IBM acquired it as "Bowstreet Portlet factory" and turned it into the fastest way to exploit the power of the portal.

It's a rapid application development tool that build it's power around pattnern based development.

In portlet factory you use BUILDERS to configure a specific action (displaying a page, submitting a form, executing an SQL query, using an EJB object and much more). It could seem like you've wizard for doing everything but the story is very different.

A wizard is stateless, after using it you get your code but cannot change some parameter and keep your customization. A builder is different, in a portlet factory project everytime you use a builder you store in the project a set of parameters that at generation time are used to create the code for your application. This allows for continuous changes to your application withtout losing your customizations. It's "iterative development" at it's best.


I think that with portlet factory you can cover at least 70% of your development needs. Whatever portlet factory can't do you can do it, just attach plain old java code and integrate it to reuse existing assets or internal frameworks built over time.


A great resource to learning portlet factory it this great RedBook:
Portal Application Development using WebSphere Portlet Factory

Currently it's a draft but you get "redbook quality" information and samples in there. Never start with portlet factory without reading it.


2. Rational Application Developer


This is the second favourite tool. With rational application developer you can do almost anything you can imagine with java.

In this case development is completely free, the developer can do whatevere he wants but in RAD you get some extras that comes from the fact RAD is an IBM product.


Using RAD with portal you get:



  • Portal tree and themes tools, you can "export" the portal tree and theme configuration from a running portal to the IDE to implement your changes.
  • Portlet wizards (IBM api or JSR168 api
  • Support for composite applications and wiring features
  • Portal Test Environment, support for debugging you portlets inside a locally or remotely running portal



This is the tool of choice if you need to develop custom code or specific portal extensions.


Note: Portet factory can be installed into RAD so you get a single and consistent development enviroment.


3. J2EE / Other


This option is simple... write your java code, use whatever you want, respect JSR 168 api spec. Package yourself the code and deploy to portal.


You could also use different IDEs but as long as you respect the rules it can work.


This is not my favourite option, productivity is limited without tools integration.





More options coming, look out for the next.



Comments (1)
Daniele Vistalli November 25th, 2007 15:43:01

 Comments
1) Webpalla
Giuseppe 11/27/2007 19:55:18

great post Daniele! Can't wait for part 2!

 Add a Comment
Subject:
   
Name:
E-mail:
Web Site:
 
Comment:  (No HTML - Links will be converted if prefixed http://)
 
Remember Me?