Friday Feb 13, 2009

Sun GlassFish WebSpace Server consumes SAW API

GlassFish Portfolio

Sun GlassFish WebSpace Server 10.0(henceforth referred as "WebSpace" was released as part of GlassFish Portfolio launch.

Traditionally, performing tasks on multiple portals is tedious and inefficient as enterprises adopt back-end business processes and must then continually manage them. Hence, demand has steadily mounted for the capability to perform tasks on just the portal itself instead of on multiple sites with a single-point solution; that is, a solution that not only handles the process interactions but also enables end users to seamlessly perform tasks as "hooks" in the process. Bear in mind that automation of business integrations requires human steps on portals, often accomplished through proprietary applications. By integrating human workflow into portals, you ensure that all the tasks, whether performed by humans or by software, occur in one place.

WebSpace consumes the SAW API to provide this functionality. The Simple API for Workflow(SAW) is intended to offer a generic workflow api to perform human workflow interaction with various workflow engines. SAW API is an API for performing task management(update(e.g. approve/reject), delete, reassign, escalate etc.) created in a human oriented workflow. The Workflow can be defined in various languages supported by the workflow engines. With SAW API, portlet developers can manage tasks created via various instances of workflow definitions defined in languages specific to Workflow engines.

Currently the SAW API has implementations for Sun Java Composite Application Platform Suite, jBPM, OpenSymphony OSWorkflow.

These implementations are showcased by means of:

  1. Workflow Portlet available in Portlet Repository(works with saw-impl-jcaps).
  2. Workflow Portlet available as part of Liferay Plugins(works with saw-impl-jbpm)
  3. Expense Report Portlet(available as part of eval bundle, works with OpenSymphony os-workflow)

Details about '1' are available here. Stay tuned for details around '2' and '3'.

Watch out saw site for screencasts, user guides, docs and other details.

Friday Mar 14, 2008

OpenPortal @ Glassfish Day Hyderabad

SunTechDaysHyderabad The three days at Sun Tech Days walked through an interesting keynote by Rich Green(Executive Vice President, Sun Microsystems). Rich described how JDK, MySQL , xVM, GlassFish, NetBeans, Solaris and many other similar offerings provide a comprehensive suite of products that cover the entire portfolio of software. He talked about how Sun Campus Ambassadors, out of which around 20% being from India, will play a major role in the future. He also focussed on reusability.


The first day also saw a concert hosted by a popular rock-band in India, namely "Euphoria".
The second day hosted a lot of talks especially the ones around masshups, SOA, BPEL interested me. On the Glassfish day I presented the talk on wholistic features of "OpenPortal" saw an attendance of 400+ developers. Extra chairs had to be ordered to accomodate the crowd in the auditorium which had a capacity of around 400. Have a look below at the Glassfish Day Audience.


I was anticipating lot of questions comparing OpenPortal with other portals, however folks were more interested around the Enterprise features of OpenPortal.
Specifically lot of interest around SAW and jBOSS. There was an interesting use case around WSRP. Interest was expressed around BPEL, OpenESB Integration with OpenPortal, Eclipse plugin equivalents for PortalPack and SAW/Mirage NetBeans plugin.
Many of the audiences openly appreciated the talk by inclining to contribute towards some feature or the other or to download it.

If anyone's watching over OpenPortal or ThePortalPost hits, I am sure they would have increased after Friday.

Me Presenting OpenPortal @ Glassfish Day


Monday Feb 25, 2008

Building and Installing Liferay Source Code on GlassfishV2

GlassfishLiferayI came across various articles to deploy liferay on glassfish. Thanks to them I could figure out the exact way on how to do it. Here is a step by step procedure which I tested twice and it works. If it does not work for you , let me know.

Here are the steps: 

  1. Download Glassfishv2(b58g). Install it
    • java -Xmx256m -jar glassfish-installer-v2-b58g.jar
    • ant -f setup.xml
  2. Download mySQL and mySQL connector jar.
  3. Install mySQL (Refer installation specifics below in Notes section)
  4. Create database 'lportal' with user 'lportal' and grant system/administrator level privileges. This is a sample default user. One can create other users and try it out by modifying Liferay Source Code. For Details refer mySQL Documentation
  5. Alternatively, follow these steps
    1. Login to mysql as 'root' and create database lportal;
    2. use lportal;
    3. create user lportal;
    4. set password for 'lportal'@'localhost' = password('lportal');grant all privileges on \*.\* to 'lportal'@'localhost' identified by 'lportal'
  6. Start Glassfish and login to the Admin Console.
    • Go to Resources/JDBC/Connection Pools and create a connection pool to connect to the lportal database.
    • While doing so, one can specify the database to connect to.
    • Go to Resources/JDBC/JDBC Resources, create a JDBC resource with the name jdbc/LiferayPool, and associate it with the connection pool created in the previous step.
    • Stop Glassfish
  7. Download Liferay Source Code. Unzip it
  8. Download apache-ant-1.7.0. Extract it
  9. set ANT_HOME to apache-ant-1.7.0
  10. Use JDK 1.5 or above and set it in Path.
  11. Go to Liferay source code directory and modify Make sure you specify the directory in which glassfish is installed and NOT the glassfish home. For example, if glassfish is installed in f:\\glassfish, then in the, please specify f:/(forward slash on Windows). The name of the glassfish folder has to be "glassfish". Comment tomcat entry :-)
  12. In , please specify the glassfish version viz. v2 or v3. Please change it to reflect as per the glassfish download that one has.
  13. Go to Liferay Source Code Directory and run ant -f build.xml all
  14. Once, build is successful, the build process will create the necessary jars and copy them to Glassfish Domain.
  15. Copy mysql connector jar in the glassfish/domains//lib
  16. Restart Glassfish. Wait for 3 minutes, since Liferay compiles JSPs. One can turn off JSP Compilation if required.

Hope this helps!!! Please try it out and let me know if we need to modify these steps anywhere.

 Start using Liferay with Glassfish!!!


  1.  The build might delete the existing glassfish domains directory and create a new one. Hence, do take necessary backup. These installation steps are on a fresh glassfish installation.
  2. The build might fail due to some minor Java errors. One might have to modify them and then run the build. I observed one such error.
  3. For those who want to get quick started without getting their hands dirty,but want to do it with Glassfish, there is also a Liferay bundle with Glassfish available for download here
  4. Install mySQL with detailed configuration. That way one will have better control especially multilingual etc./firewall blocking/unblocking
  5. If you have tried an unsuccesfull install of mySQL and unable to install again, please uninstall, delete the MYSQL installation directory and re-install MYSQL
  6. When MySQL is successfully installed, log on as "root" and create user lportal with lportal(password) and grant privileges.
  7. If you intend to create connection pool faster, you may follow alternatively the below method:
    1. Create mysql_liferay_connection_pool.xml
    2. Add the following contents to it
    3. <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE resources PUBLIC
      "-//Sun Microsystems Inc.//DTD Application Server 9.1 Domain//EN"
      "\\\*[\*]"> <resources>
              <property name="user" value="lportal"/>
              <property name="password" value="lportal"/>
              <property name="url" value="jdbc:mysql://localhost:3306/lportal"/>
    4. Now run following command in glassfish/bin directory:
      asadmin add-resources <location-of-resource-file>/mysql_liferay_connection_pool.xml

Wednesday Nov 14, 2007

Glassfish Day @ Beijing

Participants flocked together to attend the Glassfish Day . I had the opportunity to talk about OpenPortal  at the Glassfish day held in Beijing. It was a wonderful bunch of participants. Do also check out Arun Gupta's blog and Carla King's blog on the same.

I talked about OpenPortal, its decoupled features, Web2.0 features, There were many questions asked about OpenPortal at the end of the talk and here is the excerpt about some of them:

  1. CMS Story
    • Check out Project Mirage. CMS  is available in the form of infrastructure APIs, Netbeans tooling and out of the box portlets(Article Management, Document Management and Custom Content Definition Portlets). CMS is being integrated with JSR170 repository e.g. Apache JackRabbit via the OCM mapping.
    • The project deliverables will be in terms of several individual smaller sub projects some of which may come in under some different projects. The deliverables from this project will be consumed by the OpenPortal project to provide CMS functionality to the portal product. The current plan is to provide in terms of deliverables :
      • CMS Infrastructure and Generic API based on the Apache Jackrabbit implementation of the JSR-170
      • CMS Tag Libraries which developers can use to create web applications/portlets that can leverage the features offerred by the content repositories.
      • Sample portlets which will be a part of the Portlet Repository. The sample portlets will showcase how to use CMS Infrastructure/API's to store/retrieve/update structured and unstructured content to the JCR.
      • Tooling Plugins for developer IDE's which empower the developer to use the Mirage API and Tag Libraries with the greatest of ease. These will be available under the Portal Pack Project.
  2. Comparison with other portals
    • Powerful CMS Story(independent of a JSR 170 compliant Repository)
    • Identity Based Content Delivery is also one of the powerful features of OpenPortal
    • Decoupled features viz. SAW, CMS , DesignView, Delegated Admin are some of the contrasting features
    • Secure Remote Access
  3. Difference between OpenPortal and OpenSource Portlet Container
    • OpenPortal and Open Source Portlet Container(OSPC) are two different projects and different consumables. OpenPortal consumes OSPC to cater to the lifecycle of a portlet(JSR 168 or JSR 286). OpenPortal is the entire Portal itself. A Portal in its entirety offers variety of different value added features viz. Security, Identity Based Content Delivery, CMS, Workflow, Collaboration, Communities etc. An OpenSource Portlet Container is a portlet container helping to render the life cycle of a portlet(JSR 168/JSR 286).
  4. Can OpenPortal work with different applications for enabling SSO
    • Yes, there is an SSOAdapter available which can be extended to enable SSO for different applications
  5. How can we contribute to OpenPortal.
    • Go to OpenPortal
    • Check out Community Wiki
    • To get involved check out GetInvolved Section
    • To subscribe to mailing lists, see the mailing lists or subscribe to the mailing list
  6. What are the various URLs specially portlet-repository
  7. Want to pitch for OpenPortal, but unable to download
    • Send Request to with exact problems faced
  8. Only available for Glassfish?? Not for Apache Geronimo
    • Currently only Glassfish
  9. How is OpenSource Portlet Container available?
  10. How to develop a simple login portlet.

And as time passed by , we came to the end of a wonderfully hosted Sun Tech Days(thanks to the organizers)



Saturday Nov 03, 2007

Sun Tech Days

Sun Tech Days, one of the most coveted events by Sun was held this month.
And guess the venue. It was none other than the very place where 2008 Olympic Games going to be held. Yes, you guessed it right. It was none other than Beijing, China. You can spot the Bird's nest in the picture, peeping behind the balloons over the Sun Tech Days venue the Beijing International Convention Center. This was the 10th anniversary of Sun Tech Days and we celebrated it by cutting a cake.

The first day began with welcome speeches and key notes(Jim Hughes) from Sun and Oracle in a very warm and spirited manner.

Then followed some very cool demos, one was about Sun SPOTs, jMaki and JavaFX, small devices which can communicate helping the dream of  controlling your Home AC from your office, hopefully, a reality. Then ofcourse was JavaFX, which seems to be catching up quite a bit. Some cool features of Netbeans followed.

OpenSolaris, Glassfish, OpenPortal, Oracle BPM,Workflow, OpenESB, Metro- Web Services, JavaFX, JRuby were other technical sessions apart from the various hands on labs that were being carried out. Time passes  and Glassfish day arrived promising lots of interest. Not disappointing there was a quite a turnout for Glassfish Day.

The participants seem to be very enthusiastic and keen to participate. As was reflected by the one of the most interesting events of the Sun Tech Days, Beijing, the talent show.
The participants who were aged group between 15-25 were in high spirits and ready to go. Ofcourse one was the winner and she won the cool Java Leather Jacket for dancing.
In a nutshell loads of fun, loads of energy and loads of participation and some very powerpacked sessions.

Watch out my next blog on  The Glassfish Day


Friday Aug 24, 2007

SAW is Ready

SAW Binaries ReleaseIn an effort to enable workflow functionality within products, SAW was conceived. However, a value added feature that has emerged out of it is that it abstracts the interaction with different workflow engines. As the diagram in Understanding SAW guide depicts, the intent of SAW is to be able to integrate with different workflow engines, thereby keeping the product using SAW pretty oblivious to changes.
Currently, SAW comes with a default integration with Java CAPS. For folks having Java CAPS(5.1.3) installation, it should be a matter of minutes to get the client stubs required to perform workflow. After having defined  a simple workflow as indicated in my article Incorporating Workflow into Portals with Sun Java CAPS, they should be able to play around with SAW. Ofcourse, alternatively, SAW User Guide offers a typical way of using SAW.
I am sure many of the developer friends will be interested in knowing more about SAW's details. And this is precisely why, the Java Docs are there too.
I invite/request you all to go through all this exhaustive material that we have around SAW and explore/give feedback at , join SAW and help enrich it.

Monday Jul 02, 2007


SAW-LogoAnnouncing the launch of SAW at I created the SAW project at today!!!

The Simple API for Workflow(SAW) is intended to offer a generic workflow api to perform human workflow interaction with various workflow engines. This generic workflow api will ship with a default implementation for Sun Java Composite Application Platform Suite(aka JCAPS).

The SAW will also be consumed by other features e.g. OpenPortal and Project Mirage

The deliverables from this project will be consumed by the OpenPortal project to provide Workflow functionality to the portal product. The current plan is to provide in terms of deliverables :

  • Workflow API
  • Workflow Tag Library
  • Sample portlets which will be a part of the Portlet Repository. The sample portlets will showcase how to use SAW to manage task with the help of backend Java CAPS.
  • Tooling Plugins for developer IDE's which empower the developer to use the SAW API and Tag Libraries with the greatest of ease. These will be available under the Portal Pack Project.

Subscribe to for further details on SAW.

<script type="text/javascript" src=""> </script> <script type="text/javascript"> _uacct = "UA-1110410-3"; urchinTracker(); </script>

Monday Jun 18, 2007

Java CAPS Apostles Conference

As indicated in my blog at Portal Post ,at the Java CAPS Apostles Conference held from June 11-15 2007 @ Singapore, presented a great opportunity to show case Portal and stuff being done around it and/or involving Java CAPS.
It was a great opportunity to showcase

  1. Introduce Portal/Portlets/OpenPortal/Open Source Portlet Container
  2. Showcase the Portlet Container
  3. The Generic Workflow API and its implementation around Java CAPS to be consumed by Portal
  4. Netbeans Tooling to develop
    1. Portlets
    2. Workflow Portlets
    3. Eventing Demo 1 and 2
    4. Out of the box, Task Management Portlet
  5. Generate Portlets out of eVision(JavaCAPS) and deploy them on Sun Java System Portal Server
  6. SDN Article for Incorporating Workflow in Portals

My session also included, hands on portlet development lab with portlet-container deployment and developing a simple portlet using the netbeans portal pack plugin.
Partners were excited about the news that they got about Portal and the fact that so much of developer friendly material was available around Portal.
Some folks were also surprised to see that the functionality of converting eVision to portlets existed.
Hence, the conference concluded on a very positive note, giving a great food for thought to everybody about integrating Portal with Java CAPS.
P.S.: The distro at the conference included:

  1. Java One CD including demos around CMS,Workflow,Eventing
  2. Zip Installer CD for Sun Java System Portal Server 7

Wednesday May 09, 2007

Developing Workflow Portlets with Netbeans Plugin

In my previous blogs, I referred to my article on how to incorporate workflow into portals with Java CAPS. The article used portlets as a mechanism to interact with the user. However, it did assume that the end user has a knowledge of how to use the Java CAPS APIs.

Here is a netbeans plugin developed for writing workflow portlets. This plugin not only demonstrates the ease of coding workflow portlets but also uses an extensible API for performing workflow.

Check out the Netbeans plugin for Developing Workflow Portlets

 Hope this makes life easier for portlet developers to integrate complex workflow applications in their portals.

Tuesday May 08, 2007

Introducing Eventing Plugin with Netbeans and Open Portal

The Open Portal and the Open Portal Portlet Container, provide a custom way to perform eventing between portlets. I have created a netbeans plugin  demonstrated in the EventingDemo, which depicts how easy it can become to write portlets which generate and consume events.

The netbeans plugin with upcoming Netbeans 6, will make it easy to drag and drop the Java code for the portlet to generate/receive events. It also introduces appropriate XML entries in the custom xml file required by the Enterprise Class Open Source Portlet Container

Have a look!!!

Saturday Mar 03, 2007

Incorporating Workflow Into Sun Portals With Sun Java Composite Application Platform Suite

Traditionally, performing tasks on multiple portals is tedious and inefficient as enterprises adopt back-end business processes and must then continually manage them. Hence, demand has steadily mounted for the capability to perform tasks on just the portal itself instead of on multiple sites with a single-point solution; that is, a solution that not only handles the process interactions but also enables end users to seamlessly perform tasks as "hooks" in the process.

 Through an example, this article describes how to automate human workflow by integrating Portal Server with Java CAPS.

Check this article at Workflow into Sun Portals with Java CAPS.

Friday Dec 15, 2006

Towards a Simpler World

If you read my previous blogs, you can relate to the title of this new blog of mine. What it means is,respecting towards its commitment of opensourcing software, the netbeans portal pack is out in public. Isn't that attractive!!!

To what can be said a difficult uphill task to learn how to develop a portlet to boiling down to a mere clicks, isn't that a step towards making things simpler yet significant.

Go visit and to really appreciate what I am trying to say!!!

A lightweight portlet container which is so easy to deploy that it takes the fear out of you to develop your portlet applications and deploy them on something that can be called JSR168 compliant.

Coupled with that, offering support is the Netbeans portlet plugin.which reduces portlet development to some clicks away!!!

 Though I can blog on lengths about the features of the portlet-container and portlet plugin, its recommended that you check out the following blogs( ) or (

Apart from that, its all opensource!!! Now thats what I call "Towards a simpler world".

If you need any help developing your first portlet, go to


Thursday Nov 23, 2006

Towards an Open World

Here comes , with a plethora of opensource projects. It is indeed interesting to see the Enterprise Class Portlet Container and the amazingly cool Netbeans Portlet Plugin(Portal Pack) being demonstrated at the Foss's booths.

A need for an enterprise class portlet container coupled with  a tooling support for development of Portlets makes Portlet Development really really easy. Whats more the presence of a lightweight portlet container to deploy/undeploy portlets from a User Interface makes it even more cooler.

Watch out the demo booths for more action!!! 

Wednesday Nov 15, 2006

Portlet Development Being Made Easy/Easier

I had an amazingly cool experience installing the portlet-container. Its very simple. Though under development, it seems to be very promising stuff. Check out Interestingly, the Netbeans plugin for portlet-development also seems to be very easy to operate as can be seen from the flash demos available at Do check them out!!!

Thursday Jul 27, 2006

Think Global, Act Local

This is a brief of the happenings at the GTLC(Global Technology Leadership Conference) held on July 25,26, 2006[Read More]



« July 2016