JBoss and eXo's "Ultimate Mashup Platform"

DZone 's Guide to

JBoss and eXo's "Ultimate Mashup Platform"

· Web Dev Zone ·
Free Resource
In September 2009, JBoss and eXo Platform announced that they'd been working together on the GateIn portal project.  The GateIn portal is a merger of two projects that have been around for a while - JBoss Portal and eXo Portal.  By taking significant code contributions from both parties, the GateIn portal aims to provide both an intuitive portal framework to build upon depending on user needs and a platform that can also be used
'as is'.  DZone spoke with Benjamin Mestrallet, the Owner and Chairman at eXo platform, about the details surrounding the GateIn project.  GateIn is currently available in beta 5 with a final release coming soon.

The eXo stack of enterprise content management (ECM) tools enable people to work smarter and more effectively across business, technical, and operational functions.  The eXo stack is both integrated and modular, meaning customers can use only the parts that they need and any combination will work out of the box.  Web content management, document management, workflow, and collaboration applications can be customized through the eXo stack of portlets and gadgets.  


A key contribution that eXo Platform has made to the JBoss Community Portal is the eXo JCR (Java Content Repository).  eXo JCR is a substantial, cluster-ready repository that is standards-based.  The JBoss Community Portal project is also standards-based and it provides the overall portal engine for GateIn.  JBoss Community Portal brings scalability, modularity, enterprise integration, and middleware experience to the GateIn portal and leverages proven technologies such as JBoss Application Server and Hibernate.  With Jboss focused on middleware, eXo provides the application development and administration tools.  These tools include granular management of virtual portals, drag and drop layouts, security and identity administration panels, contextual meaning and navigational controls, and full support for OpenSocial applications.

A few months ago, Benjamin Mestrallet said that OpenSocial in the enterprise was the primary topic at a discussion panel including executives from Atlassian, IBM, and SocialText.  The question that was asked, "Is OpenSocial destroying the portal world and portlets in general?" was generally answered: 'no'.  Mestrallet says that portals are shifting from aggregators of external applications to platforms for building and delivering services that add value to the user organization.

Mestrallet said that the distinction between a gadget or a portlet is not that significant for the user.  eXo just categorizes them in a way that makes it easy for users to go and grab more gadgets or portlets to customize their application.  From the developer perspective, portlets are used for more robust components that take longer to build.  Gadgets are lighter, web-standard based components that take less time to build.  Originally portlets were mainly Java server-side components that generated fragments of HTML code.  Gadgets dynamically generate that HTML on the client-side thanks to JavaScript and REST server calls.  The main difference, Mestrallet says, is in the application lifecycle.  Portlets have to be deployed as .war packages on the application server whereas gadgets are simple pieces of HTML and Javascript code wrapped up in an XML - they can be dynamically added and edited online.  Users can quickly build gadget-based applications even on the cloud.  

GateIn portal supports both gadget and portlet models, but Mestrallet says this is just one of the building blocks in the platform of tomorrow.  Mestrallet says GateIn also provides horizontal services like content, mail, calendaring, and profiles that can be mashed up together to build a custom web app through the browser.  "We’re baking functionality into GateIn that will enable it to be the ultimate “mashup” platform for combining and recombining components," said Mestrallet.  "Times have changed, let’s be more agile."

In this video you can see Mestrallet demonstrate the following GateIn functions:
  • Provide a simple text file with a list of addresses, deploy it on GateIn WebDAV drive
  • Build with the online IDE a REST API on the cloud (using Groovy and the JSR 311 specification) that reads the content of that file and exposes it as a REST service with a simple click
  • Consume that REST service within a Gadget and use the Google maps API to render a map that points to the address from the file

To contribute to the open source GateIn project, visit the GateIn community site.  GateIn is now available in Beta 5.  The final release will be available in March.  GateIn is under the LGPL license.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}