The Enterprise Social Platform

Subscribe to our newsletter

More about eXo Platform

Join the eXo Tribe

Join the eXo Community website where you will be able to:

  • Discover eXo Platform 4 in a production environment
  • Access useful resources to start with eXo Platform 4 and extend its capabilities
  • Download eXo Platform 4 and its add-ons
  • Access eXo Cloud to start your own intranet for your company

Archives

Posts Tagged ‘html5’

We recently announced our Cloud Strategy:

  • A new version of our enterprise software offering (eXo Platform 3.5) that will allow enterprises or cloud service providers to build private or public cloud portals at an unbeatable cost.
  • A set of free online services for developers to facilitate social coding in the Cloud (eXo Cloud IDE) before deploying their apps to Platform as a Service offerings.

Today I would like to add a new dimension to our enterprise eXo Platform vision by introducing our mobile strategy.

The Cloud and Mobile are two huge trends that completely change the way we produce, store and consume digital information. Data now lives in the Cloud and is accessed by many different devices, from PCs, smartphones, to tablets.

In the consumer world, people now store their documents, images and videos via cloud services; they can edit online and share this content with friends in social networks. This information is not only available from different devices, it is also consumed with dedicated user experience, which factors in the size screen as well as the multi touch capabilities.

The eXo vision described in the next picture is simple: we want to bring that consumer experience to the enterprise, by delivering an integrated, secure and multi channel platform that leverages existing IT investments.

This picture explains how eXo acts as a bridge between the existing IT system and end users.

This picture explains how eXo acts as a bridge between the existing IT system and end users.

First, eXo integrates with the IT system:

  • eXo Platform is able to consume data and information leveraging traditional Java middleware as well as content directories. Standard protocols and libraries are supported, so eXo can integrate with a large set of existing systems.
  • eXo Platform is able to easily consume web services and REST APIs that are now available in modern applications deployed in an enterprise private cloud.

The next step in is to be able to consume this data, reorganize and expose it to different channels:

  • Third-party apps: eXo Platform allows developers to easily mashup the information from the IT system and to expose it as a set of dynamically built REST APIs available in a secure way. This mashup API can also be built on top of online services like the one from Google or Salesforce. The embedded web IDE is a key part of this, as it allows dynamic creation of such APIs without any need to install a new library or to restart the server (which is critical in a multi tenant architecture).
  • Third-party portals: consumption of APIs is great, but sometimes it is simpler and faster to directly offer a set of UI components that already use those REST services. eXo Platform can be used as an OpenSocial Gadgets container or as a Netvibes widgets directory. In other words, one can remotely import gadgets into an iGoogle dashboard, or in any application that supports the OpenSocial specification. Once again, those gadgets and widgets can be created online with our web-based IDE.
  • eXo Platform – the UXP: eXo Platform started as a pure player in the portal world. While it of course still support portlets, it can also consume previously-created OpenSocial Gadgets. The use cases are diverse; it can be either for a social intranet, or as part of web content when the platform is used as a customer-facing extranet (which mixes transactional applications with some corporate content such as a product catalog). The channel is the classic one, as it simply uses a browser on a PC or laptop.
  • eXo Platform native mobile apps: eXo Platform now has a set of complementary applications for mobile devices (iOS and Android) that can consume those APIs and Gadgets.

The Enterprise Mobile Portal Concept

Using the Safari browser in an iPhone or an iPad to browse dashboards from your social intranet is clearly not the optimal user experience, but there are scenarios when you might want to build a mobile-friendly site. eXo Platform, with its web IDE and a wide range of native APIs, allows developers to rapidly create touch-compatible HTML5 apps, as shown in this video demo.

But we wanted to create a user experience that was truly optimized for the way we interact with mobile devices – so users can access the same information and applications from multiple devices, all in an integrated and secure way that suits enterprise needs. Usual portal features, such as personalization or single sign-on, could be coupled with a touch-based user experience, thereby defining a new type of portals: the mobile portal.

To realize this Enterprise Mobile Portal concept, we created 3 native applications, for the iPhone, iPad and Android. These apps are now available on the Apple App Store as well as the Android Market Store and extend eXo Platform 3.0.

Mobile apps for eXo Platform offer users a native OS application experience (adapted to the screen size of the device), serving as an entry-point to the data and apps available in your eXo-based private or public cloud portal. The platform allows developers to build Gadgets and make them available to users in customizable Dashboards; now these gadgets and dashboards can also be dynamically available in mobile devices.

Many features found in eXo Platform are available in our mobile apps, but the way they are presented has been adapted to the device:

  • Native apps: eXo mobile apps can be installed in the same familiar app store you’re already using. Then, they connect to the eXo Platform 3 server where you’re running your intranet or site.

  • Authentication:to login, users enter their credentials (the same username and password used in their eXo-based intranet), plus the URL of the eXo Platform 3 server.

  • Enterprise Mobile Portal Home: the homepage on each device has two sections. The application section includes native eXo Platform features like instant messaging and document management, while the Dashboard area provides access to the portal gadgets that your admin has made available to you.

  • Dashboards: this is where the magic happens, as any Gadget developed online with the web IDE and added to a user Dashboard is automatically pushed to the mobile device. This allows a dynamic, unified view adapted to your mobile device – but also the secure distribution of enterprise applications to different devices!

  • Document Management: eXo Platform 3 includes a powerful Document Management system that allows to store, share, edit, version, lock and distribute documents such as PDF, Office, image or video files. Our Enterprise Mobile Portal provides access to this doc repository, and uses native OS viewers such as the PDF viewer on your device. If your device has a camera, you can take a picture and automatically upload it to the eXo server. I use this feature myself, to share pictures in eXo social intranet (we will support the iPad 2 camera soon).

  • Instant Messaging: eXo Platform 3 includes a XMPP server and web client (this is useful if the platform is used as a social intranet).

What’s Next

The mobile apps available today were first tested on our own intranet (that explains the version number which is 1.1.1), so they interact well with eXo Platform 3.0 servers. We’re also testing them on the upcoming eXo Platform 3.5 expected later this year.

We are already working on the version 2.0 of these apps, which will include additional social components. The team dedicated to mobile apps has grown, with experienced developers who helped develop the following apps:

You can expect a lot of cool new stuff from us for the launch of eXo Platform 3.5 in September. And who knows, we may one day offer some mobile apps for our free online services such as eXo Cloud IDE…

I’ve been working on a demo that will show how to use the eXo Platform 3 IDE to build an iPhone web application. You can see the sample app in action in this video, or read the tutorial to learn how to build your own – both of which were added to the eXo Resource Center today. I built this demo app in order to show two things:

- First, how using REST services allows you to decouple the UI from the data layer.

As more and more heterogeneous devices are used to browse the web, we are witnessing an architectural shift in application architecture. Separating the data interface from the user interface allows you to have multiple front-ends and can give third parties the opportunity to build their own app on top of your API. REST services expose the data on one side, while Ajax allows the browser to rewrite the page on the fly. With HTML5 features, the browser is even more powerful, and server-side native code is less and less relevant. In my demo, I used jQtouch, a jQuery plugin for mobile development, in order to build an iPhone interface. It is easy to imagine how fast it would be to build an iPad or Android interface for the same app.

- Secondly, how the eXo Platform 3 IDE helps developers leverage this architecture.

Writing, testing and deploying REST services is greatly simplified with the web-based IDE in eXo Platform. Using Groovy scripting language, the code is dynamically compiled and can interoperate with all the existing eXo services written in Java. The JAX-RS API uses annotations to greatly simplify the development of RESTful web services. Finally, the build and deployment phase is reduced to one simple click, and your application server doesn’t need to be restarted. This gains time and energy for developers to focus on more valuable things, such as improving the end-user experience.

The IDE opens-up new prospects for eXo developers to explore. Check out the new video demo and tutorial and let me know what you think. For further reading, check out Mike Loukides’ article: New directions in Web Architecture.