--
PedroRio - 06 Dec 2010
Introduction to the XEO Framework
XEO (stands for e
Xtensible
Enterprise
Objects) is an agile development framework that eases the creation of web-based management applications.
XEO's approach to development is modeling real world entities (such as people, cars or invoices) as Object Models (XEOModels), defining their behavior and using a component-based visual layer to achieve a full-fledged web application, which includes listing, editing and searching of instances of those entities. The Eclipse Plug-in, XEO Studio, further automates the process of creating said Object Models, editing their properties, customizing behaviors and also creating the visual layer for those Object Models. XEO Object Models abstract the developer from the intrinsic (relational) data model, enable customized behavior and the XEO Web Components speed up the creation of web applications (XEO Applications).
Requirements
An application built using the XEO framework requires a
J2EE Server (such as Oracle's
OC4J or
JBOSS) running Oracle's Java 6 and backed by a relational database (XEO has connectors for popular Databases such as
MySQL,
Oracle and
SQL Server), although data-source independence is in XEO's road map.
Developing with XEO requires, also, an
Eclipse (J2EE version)installation with the XEO Studio plug-in. The XEO Studio plug-in is not
really required but it makes the process so much easier that there's no reason not to use it.
For Who?
In order to use XEO you should be familiar with Object Oriented Programming concepts and with the Java language in particular. Knowledge of the relational model and the Structured Query Language (SQL) is also recommended. Familiarity with the
Eclipse IDE (J2EE version) is a plus, since developing a XEO application is done using XEO Studio which is an Eclipse Plug-in created specifically to aid in the process.
Why XEO, how does it help me?
XEO was designed from scratch to build web-applications faster while abstracting from low-level details (such as creating tables in the SGDB, learning an object-relational mapping tool, learning javascript, html and css to produce a nice and usable interface).
With XEO you can map a real world entity, its properties and its behavior using a simple language, which the framework will use to build the necessary database tables, Java support classes and even list/edit/lookup web pages, from there on you can focus on the application's logic, rather than low-level details.
You can create form-based web applications that have features such as required fields, fields hidden/disabled based on conditions, listings that can sort results by column, group results, export results to PDF/Excel, all that with very little coding.
Where do I learn more about XEO?
This wiki is divided in two parts, both accessible from the root. The
Primer and the
Reference.
The Primer is where you can learn the basics of the XEO Framework (while creating a simple library management application), useful for beginners.
The Reference contains reference information about various parts of the XEO framework, useful for users who already know the basics of the framework and want to find specific information.