TWiki> WebXEO Web>XeoPrimer>XeoArchitecture (revision 1)EditAttach
create new tag
, view all tags
-- PedroRio - 14 Dec 2010

XEO Architecture

XEO is a J2EE framework, and XEO Applications are deployed in a J2EE Application Server (such as JBOSS, GlashFish). XEO's Architecture will be explained by steps (with a complete overview at the end). XEO is structured in three vertical layers, which are set upon each other, the layers are XEO Data Layer, XEO Core System and XEO Client Controller Layer.

XEO's Data Layer, depicted in figure Arch.1, has two components. The Database Driver component and the Virtualization component. The Database Driver is the connection to the DBMS where instances of XEO Object Models are to be saved while the Virtualization layer (still not fully implemented) is the component which allows the use of other datasources (such as webservices, XML databases, LDAP, etc..) for object instances.

XEO Data Layer

Figure Arch.1 - XEO Architecture, only including its Data Layer

The second layer, XEO Core System, is where the XEO Engine is present. It's responsible for all the abstractions seen in the XEO Concepts section, as well as some other features, such as XEOQL (XEO Query Language), which is a SQL-esque language used in XEO to query instances of XEO Object Models or the XEO Java API which is the primary method of defining custom behavior for XEO Objects. The XEO Core System layer is depicted in figure Arch.2, bellow. Even in runtime, XEO Object Models are grouped in XEO Packages (again, merely a logical grouping).

XEO Core System

Figure Arch.2 - XEO Architecture with Data Layer and Core System Layer

Above XEO's Core System Layer is the XEO Web Components Layer, which deals with the rendering of web-pages for user interaction. XEO WebComponents have built-in security mechanisms, which allow to create rules where users, may or may not see certain components in a given viewer (or see a viewer altogether). The XEO Client Controller Layer is depicted the in figure Arch.3

XEO Client Layer

Figure Arch.3 - XEO Data Layer, Core System Layer with the added Client Layer

The XEO Framework not only allows for great customization of its Object Models, has query, visual and security mechanisms but can also be extended with the concept of a XEO Module. A XEO Module is was of adding new features to XEO (which can be installed separately form the main framework), a XEO Module may define a set of XEO Object Models, have its own API, include existing Java libraries and interact with XEO's Java API to create the desired features. The XEO framework has been extended with two modules, one to allow interaction with object instances via web services (REST and SOAP) and one to integrate with a Business Process Management (BPM) engine. The ability to interact directly with XEO's Java API allows for modules to integrate in the Core System Layer, Data Layer or the Client Layer, as depicted in figure Arch.4

XEO Modules

Figure Arch.4 - Complete XEO Runtime Architecture

In the next chapter we'll describe a sample application (which we'll use throughout the documentation, building an incrementally complex application), read more.


Topic attachments
I Attachment Action Size Date Who Comment
PNGpng Architechture1.png manage 8.6 K 2010-12-14 - 14:04 PedroRio  
PNGpng Architechture2.png manage 30.8 K 2010-12-14 - 14:11 PedroRio XEO Core System
PNGpng Architechture3.png manage 34.7 K 2010-12-14 - 14:44 PedroRio XEO Client Layer
PNGpng Architechture4.png manage 49.0 K 2010-12-14 - 14:50 PedroRio XEO Modules
Edit | Attach | Print version | History: r5 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2010-12-14 - PedroRio

No permission to view TWiki.WebTopBar

This site is powered by the TWiki collaboration platform Powered by Perl

No permission to view TWiki.WebBottomBar