General
The framework allows to rapidly assemble dynamic server pages with the help of highly customizable server-client side components . A developer can concentrate efforts on an implementation of a business process and not on complex user interface aspects.
Design
All components are built using Model-View-Controller design.Such separation for the tiers with predefined responsibilities allows to quickly modified the whole behaviour of a component with minimal changes in it's structure. Component's models(data model,selection model) contain a data for drawing and current state(selection model). View is responsible for component look and feel . Controller defines component lifecycle and manages models and view. Every component has corresponding Data and Selection model(if necessary) , Controller(component itself) and Renderer(responsible for component drawing). Components are supplied with the predefined interfaces of models,component itself and renderer and contain a broad range of already implemented functionality. Nevertheless developer can easily extend the default implementation or reimplement it from the scratch to obtain a new functionality. Renderer is responsible for a component client side presentation , so developer can implement a separate set of ones to dynamically assign them to the component allowing different representation of the component for different application clients. WebGalileo framework consists of component classes and java server pages classes that use components. WebGalileo is shipped with the predefined JSP custom tag classes as a client of component framework allowing to quickly begin to build JSP pages. But the framework isn't restricted to usage of JSP technology. All components can be used by any java server side technology.
Client side and server side of a component
All components have corresponding server side and client side parts. The server side part is implemented as set of Java Classes, client side part is implemented as a javascript component. Both parts have the similar interfaces of a component and models.All components support not only standard HTML events but specific events for a given components.If necessary javascript components post events to the server side component part for the proper modification of a server side component or it's models.
Extentions of Webgalileo framework
Because of modular design all components are ready for usage with existing database backends.This can be achieved by proper instantiation and initialization of corresponding data models of components. Java developers can extend the functionality of the components by means of implementation of a separate set of component renderers for various application clients. For a example a WML(used for WAP) aware renderer can be dymanically assigned to the given component at runtime to allow non HTML application clients to connect to your application.