eXo Platform is built on open source and open standards. It adheres to the the Java EE stack and leverages many open-source components. Hence, the run-time package embeds Tomcat, the most popular open-source enterprise Java application server. Alternatively, it can be deployed on JBoss EAP.
Data is stored in the platform’s file system as well as in a relational database through either JPA or JCR APIs. The chat application also requires MongoDB. Indexing and searching the data are powered by ElasticSearch.
At its heart, a microkernel orchestrates the life cycle of core services, such as managing users and permissions, scheduling jobs, sending out notifications and storing data. Services in the microkernel can be easily overridden, extended or plugged into by custom or additional services.
The portal framework manages authentication, authorization and permissions, as well as the UI composition of different portals, including the built-in intranet. The social layer brings the building blocks for user-centric collaboration: rich profiles, activity streams and spaces. Other user-facing collaboration apps and services, such as calendars, tasks, wikis, forums, chats, are fully integrated into the social layer, allowing them to display user profiles, publish activities, post notifications and manage space applications.
Finally, a deeply integrated content layer powers the document and web content management capabilities thanks to an embedded Java Content Repository. The content is exposed via CMIS and WebDAV.
Developers can write their own applications to run inside the platform, such as OpenSocial gadgets or JSR286 portlets, using their favorite web framework (including, JSF, Spring, Ext-JS, etc.).
Many extension points and APIs allow you to interact with the platform’s data, either to connect your business apps or to implement custom behaviour, or for entirely new applications.
eXo Platform’s user interface is built on a mobile-ready, responsive and skinnable framework powered by JQuery, Bootstrap and LESS. By following eXo’s UX Guidelines, your apps will look and feel native with little effort. Finally, an exclusive extension mechanism allows you to override the platform’s built-in web resources and Java services so you can customize them without pain. Extensions can then be packaged into the archive format for eXo add-ons, allowing them to be safely installed and upgraded without sacrificing flexibility.