Product
Overview
Framework
Presentations
Developers
News & Events
Purchase
Contact Us



Sign In

Username

Password




Password Finder
Sign Up



XUI Framework

A rich web UI solution with an architectural vision. Cross-platform. Cross-browser. Global-ready.

XUI was built by engineers for web developers with the end-users in mind. XUI uses smart techniques in working with XML, CSS, DHTML, and JavaScript to produce a robust UI framework that fits most naturally into any J2EE web application framework.
For more information on how to start using XUI, please check out our Technical Documentation.

How the XUI Framework Came About

The Web as we know it, with the browser as the main tool to access hypermedia documents and other remote assets, has become one of the main avenues to deliver complex applications. This is quite amazing as only a few years ago it was only possible to deliver applications through the conventional way of creating them as stand-alone, "shrink-wrapped" software programs.

Traditional web user interfaces, like those found in traditional websites, remain as the standard model to facilitate the interaction between the end-user and the Web application's business logic residing in the server-side. To date, unfortunately, this method or process for creating and implementing user interfaces for a given web application has proven ineffective and detrimental to the success in delivering such applications regardless of the complexity.

One approach to delivering a richer GUI for web applications is the use of technologies other than HTML, JavaScript, and CSS-- namely Java for creating Applets or ActiveX Components in the Microsoft environment. This approach has proven to be ineffective as well since it takes away the natural ability of the Web to deliver content and other media to a variety of clients that have different policies, personal or corporate, in supporting such heavyweight technologies. There have also been numerous known issues in creating a GUI in Java Applets. In some companies, the use of Applets is banned.

Implementation of the Extensible User Interface (XUI) Framework overcomes the issues and limitations mentioned above. It enhances the development of web application GUI and improves the usability and user experience for the end-user.

XUI provides developers the ability to create and deliver rich GUI for web applications implemented in a framework that has XML and Java as the preferred technologies for server-side processing; and XML, XHTML, HTML, DHTML, JavaScript, and CSS as the preferred technologies for client-side processing.

[Back to top]

Similarities with Java Swing/AWT

XUI includes systems, methods, and conventions which allow the creation of GUIs that have a close consistency with existing GUI development environments and tools such as Java Swing and AWT. In order to provide consistency between the development of the web application's user interface and the traditional software user interface, and so that the same efficiency, flexibility and ease of development is achieved, "deliberate kinship" is applied to emulate the techniques, patterns, conventions and standards found in the conventional development environment for Java Swing and AWT components.

This means that XUI closely mimics and emulates, for example, the creation of a Menu Tree component in Java Swing. XUI's extensible GUI components thus include familiar windows, split-pane windows, menu bars, tree menus and toolbars, among others, as used in standard windowing systems that gives the ability for the given web application to be rendered with the look-and-feel familiar to a broad base of users. Developers who are familiar with Java and Swing development will also appreciate the familiar pattern starting with the XUI Class Hierarchy and naming standards. For example, the Object Class is extended by the Component Class, which is extended by the Xcomponent Class. In Java, the pattern is very similar.

The Java Swing and AWT package naming convention is also closely followed in XUI. For example, the JInternalFrame, JPanel, JTree, and JMenuBar classes in Java are represented as XInternalFrame, XPanel, XTree and XMenuBar classes in XUI.

XUI also supports polymorphism where one component can morph into many other components. One example implementation is the HTML Tag which can be implemented as any other HTML tag such as html.img and html.span.

[Back to top]

The XUI Framework Architecture

Within a typical J2EE development environment, XUI is implemented within the Application and Presentation Layers. XUI communicates with the Data Layer through XML. There is no need to disturb any existing J2EE infrastructure. XUI integrates smoothly by focusing on the needs within the Presentation Layer.



[Back to top]

XUI GUI Factory Managers

XUI includes the following modules (or Managers) that are collectively responsible in executing and rendering UI Components.



Layout Manager
Responsible for rendering a view of a web page according to a selected layout algorithm and has its primary responsibility in the positioning and shaping of UI content objects contained in its associated "container". It is to be understood that the Layout Manager is only responsible for the positioning of the UI component and not its look-and-feel.

Component Manager
Responsible for the organization of different XSL templates for each corresponding supported UI component such as menubars, menutrees, tabbedpanes, etc. The Component Manager is also responsible for the organization of script files and stylesheet files used by each component's XSL template.

Look-and-Feel Manager
Responsible for managing and organizing a pluggable and customizable look-and-feel appearance for a view of a web page. It is also responsible for binding the appropriate stylesheets and scripts that are "plugged" into the final hypermedia document delivered to the requesting client.

Script Manager
Responsible for managing and organizing scripts (e.g. JavaScript code) that are globally available within the framework.

Event Manager
Responsible for binding events to the appropriate event handler, methods, and functions as defined by the developer.

Localized Content Manager (LCM)
Responsible for managing and rendering localized content such as labels and images from a database of internationalized labels and images.

[Back to top]


Terms of use | Online Privacy Policy | Browser Requirements