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.

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



« July 2016