GCube Portal Engine
Introduction
To provide the end user with the full functionality of the gCube system, a presentation application, based on the ASL and not on the lower level gCube services directly, has been implemented.
For this application the portal/portlets paradigm has been adopted. A portal is a Web based desktop that is customizable both in the look and feel and in the content and applications which it contains. A portal, furthermore, is an aggregator of content and applications or a single point of entry to a user's set of tools and applications. The portlets are the visual components that participate into providing the user-conceived functionality of the portal. Behind the portal there is always an engine (and a framework) that powers the system.
In gCube the [Liferay portal] is employed as the portlet-hosting platform. Liferay portal is an open source portal solution which uses the latest in Java and Web 2.0 technologies. It runs on all major application servers and servlets containers and it is JSR 168 and JSR 286 compliant.
Thus portlets are using either JSR 168 or JSR 286 and several other technologies such as Java Server Pages for dynamically generation of HTML/XML documents in response to a client’s request, JavaScript for client side development, GWT (Google Web Toolkit) for writing high performance AJAX applications, GWT ext or GXT for developing rich User Interfaces and the TIBCO pagebus framework wrapped by a GWT library so that it could be used by portlets that are developed using the GWT technology.
All these technologies are hosted under the Liferay Portal engine.
Technologies
JSR 286
JSR (Java Specification Request) 286 establishes a standard API for creating portlets. It constitutes the integration component between applications and portals, and it enables delivery of an application through a portal. Without this standard, each version of an application needed its own portlet API, and each of the various portals required that these portlets should be specifically tailor-made for that portal. Inter-Portlet Communication through events, public render parameters and dynamically generated resources directly through portlets are some of the API's advantages
GWT
Google Web Toolkit (GWT) is an open source Java software development framework that allows web developers to create Ajax applications in Java. It is licensed under the Apache License version 2.0. GWT emphasizes reusable, efficient solutions to recurring Ajax challenges, namely asynchronous remote procedure calls, history management, bookmarking, and cross-browser portability. For all these reasons most portlets use the GWT for a better and more efficient Ajax implementation.
Ext GWT (GXT)
Ext GWT (GXT) is a Java library for building rich web applications with the Google Web Toolkit (GWT). It includes high performance, customizable UI widgets and it is a native GWT solution.
JSP
Java Server Pages (JSP) is a Java technology that allows developers to dynamically generate HTML, XML or other types of documents in response to a Web client request. The technology allows Java code and certain pre-defined actions to be embedded into static content. The JSP syntax adds additional XML-like tags, called JSP actions, to be used to invoke built-in functionality. Additionally, the technology allows for the creation of JSP tag libraries that act as extensions to the standard HTML or XML tags. Tag libraries provide a platform independent way of extending the capabilities of a Web server. JSPs are compiled into Java Servlets by a JSP compiler. A JSP compiler may generate a servlet in Java code that is then compiled by the Java compiler, or it may generate byte code for the servlet directly. JSPs can also be interpreted on-the-fly reducing the time taken to reload changes.