Difference between revisions of "GCube Portal Engine"

From Gcube Wiki
Jump to: navigation, search
(Main Technologies)
 
(21 intermediate revisions by 4 users not shown)
Line 1: Line 1:
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.
+
<!-- CATEGORIES -->
 +
[[Category:Developer's Guide]]
 +
<!-- END CATEGORIES -->
 +
== Introduction ==
 +
To provide the end user with the full functionality of the gCube system, a presentation application, based on the ASL libraries and the featherweight ones, has been implemented.
  
For this application the portal/portlet 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 offers a complete platform for building web apps, mobile apps, and web services quickly, using features and frameworks designed for rapid development, good performance, and ease of use. It runs on all major application servers and servlets containers and it is JSR 168 and JSR 286 compliant.  
  
In gCube the GridSphere1 portal framework is employed as the portlet-hosting platform. GridSphere is an open-source framework which enables developers to develop and package third-party portlet web applications that can be run and administered within the GridSphere portlet container. For its purposes, it uses the JSR 168 Portlet API, to provide reusable web applications.  
+
Portlets are using 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, and the most popular Front-End frameworks such as Angular, React or Vue.
  
For the development of portlets several technologies are involved: the JSR 168 portlet API, Java Server Pages for dynamically generation of HTML/XML documents in response to a client’s request and GWT (Google Web Toolkit) for writing high performance AJAX applications. All these technologies are hosted under the Gridsphere Portal engine.
+
All these technologies are hosted under the Liferay Portal engine.
 +
 
 +
== Main 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
 +
 
 +
=== Angular ===
 +
Angular is a platform that makes it easy to build applications with the web. Angular combines declarative templates, dependency injection, end to end tooling, and integrated best practices to solve development challenges. Angular empowers developers to build applications that live on the web, mobile, or the desktop.
 +
 
 +
 
 +
=== 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.
 +
 
 +
== Other Technologies ==
 +
=== GWT-OpenLayers ===
 +
GWT-OpenLayers is a Java wrapper for the OpenLayers JavaScript API. It allows GWT projects to use the OpenLayers JavaScript API. OpenLayers makes it easy to put a dynamic map in any web page. It can display map tiles and markers loaded from any source. OpenLayers has been developed to further the use of geographic information of all kinds. OpenLayers is completely free, Open Source JavaScript, released under the 2-clause BSD.
 +
 
 +
=== jQuery ===
 +
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.

Latest revision as of 12:56, 8 April 2019

Introduction

To provide the end user with the full functionality of the gCube system, a presentation application, based on the ASL libraries and the featherweight ones, has been implemented.

In gCube the [Liferay portal] is employed as the portlet-hosting platform. Liferay Portal offers a complete platform for building web apps, mobile apps, and web services quickly, using features and frameworks designed for rapid development, good performance, and ease of use. It runs on all major application servers and servlets containers and it is JSR 168 and JSR 286 compliant.

Portlets are using 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, and the most popular Front-End frameworks such as Angular, React or Vue.

All these technologies are hosted under the Liferay Portal engine.

Main 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

Angular

Angular is a platform that makes it easy to build applications with the web. Angular combines declarative templates, dependency injection, end to end tooling, and integrated best practices to solve development challenges. Angular empowers developers to build applications that live on the web, mobile, or the desktop.


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.

Other Technologies

GWT-OpenLayers

GWT-OpenLayers is a Java wrapper for the OpenLayers JavaScript API. It allows GWT projects to use the OpenLayers JavaScript API. OpenLayers makes it easy to put a dynamic map in any web page. It can display map tiles and markers loaded from any source. OpenLayers has been developed to further the use of geographic information of all kinds. OpenLayers is completely free, Open Source JavaScript, released under the 2-clause BSD.

jQuery

jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.