Agile Portugal 2011. June 20-22

Agile Programing: eXtensible Enterprise Objects, a practical open-source implementation.

Sponsored Talk, by Pedro Rio
Tuesday, June 21, 17:30 – 18:30 @ B 002

Agile methodologies brought rapid delivery of small (usable) parts of a project, ability to handle (frequent) change and essentially try to make the development process something that works better than traditional approaches, by avoiding long requirements and design phases.

In order to use agile methodologies to their fullest potential we should also have the appropriate tools. The open-source XEO (eXtensible Enterprise Objects) Framework was built to allow rapid application development/prototyping and ability to deal with change, making it a suitable tool to use with agile methodologies when building enterprise web applications.

XEO abstracts developers from low-level routine tasks by providing a concept known as an XEO Model, which represents a given domain entity and allows you to model not only the entity’s properties but also its behavior using a set of features such as events and logical conditions (including requirement, validation rules, etc..) which are applied to every single instance of that XEO Model. When you create/update a model using XEO Studio (an Eclipse Plugin) XEO’s Builder will process it and generate/update a set of supporting structures to handle instances of the Model, providing an agile way to evolve your models and application.
Having created a Model you can quickly scaffold a set of XEO Viewers to list/edit/lookup instances of that model (based on metadata in the model). XEO viewers are component-based views which are tightly integrated with Models, i.e. if a Model declares a required attribute, the interface will prevent you from saving an instance without filling a value for that attribute. If you change a Model property, save and refresh the view you can see the differences reflected immediately.

This talk will introduce the open-source XEO framework, its approach to development and how it fits agile methodologies.