Brief Summary of Raju's online GUI-API Framework

Pioneer-soft invented a simple process create reusable Ajax GUI Classes, which are more flexible and easy to use than GUI Classes for traditional GUI platforms such as Java/Swing or Windows/VC++. Only difference is that our GUI Classes generates the code for the GUI components to be included in the online application (e.g. web page) as shown in the following figures #1 & #1A.

Figure#1

Figure#1a

 

The GUI application (or even large container components) essentially comprise of a collection of components (or subcomponents). These components may need to communicate with each other. The communication can involve either simple passing of data or it could involve two or more components coordinating some activity. Wherein, some means of connecting the components to each other is needed. Likewise, the SVG (or DHTML) components in the web page (or in the container component) need to communicate with each other (e.g. exchange data or to notify an event, such as, mouse clicks, new button selection, state-change or data arrival).


For example, one can instantiates two or more GUI Objects and write application logic to get real time data from data sources to initialize the GUI objects. Then request the GUI Objects to generate code for the GUI components and place their code in a web page (i.e. online application code) as shown in the figure#1(or 1A).

Figure#2

 

How is it possible to create communication code between the two components, so that, the GUI components can exchange data or notify events? Today it is not possible, if the GUI components are generated using reusable GUI Widgets from any other Ajax framework! Pioneer-soft invented simple and elegant processes to integrate the dynamically generated GUI components, so that, the data driven GUI components can communicate with each other (the figure#2 and figure#3 illustrates one of the processes). 

Figure#3


BRIEF SUMMARY: Comparison between Traditional GUI-API Frameworks and Raju's GUI-API Framework

Actions In Traditional 
GUI Framework

Corresponding Actions for 
Our Online GUI Framework

Application developers instantiate and initialize each GUI Object and request the GUI Objects to present their GUI Component

Application developers instantiate and initialize each GUI Object and request the GUI Objects to generate code to present their GUI Component (See Figs#1 & #1A)

If two or more GUI components in the application need to collaborate or communicate, the developers implement required communication code for the components to collaborate with each other.

If two or more GUI components in the application (e.g. web page) need to collaborate or communicate, the developers implement code at server, which generates communication code for the components to collaborate with each other. (Please see Figures #2, #3, #4).

 Hence, Raju's GUI API are "functionally equivalent" to the traditional GUI API

 

P.S: As shown in the above table, if the development process looks simple or trivial, it is only because we have worked very hard to make it that way. We believe elegancy often lies in its simplicity. We have invented many unique and unprecedented processes, which you cannot find anywhere else. For example, to name a few: communication between the components of GUI Widgets, Component factories loosely coupled components & their hierarchies. Without overcoming certain limitations no one can ever create a viable GUI Framework!

 

To build GUI classes or CCG (or "Component Code Generators") that generate large GUI components, it is desirable to use multiple GUI or CCG Objects, where each CCG generates a subcomponent. The CGM ("Code Generation Method") of the container CCG contains code to instantiate and initializes each of the CCG Objects and uses its CGM to get code for each subcomponent. Of course some of the CCGs for subcomponents can be instantiated and initialized out side and pass their references to the container CCG.

Figure#4


The container CCG includes the code for the subcomponents in the container component code. If the subcomponent need to communicate with each other, the container CCG implements “integration logic” (Java code runs at server) to generate communication code (JavaScript code runs at client). Click here for an example.

Figure#5

The Component based software development paradigm uses product factory metaphor. Larger components are build by assembling subcomponents. The CCGs are called CF-Component factories. The CF4 uses other CFs (e.g. CF1,CF2 and CF3) to build custom data driven subcomponents at real time. The CF3 in turn can depend on other CFs to build its subcomponents. Furthermore, a larger CF can depend on CF4 to build its subcomponent. This logical chain of dependencies of the CFs can be repeated. The following figure shows an example for a logical chain of dependencies of CF4 (where CF15 depends on CF4 and CF4 in turn depends on other CFs):

Figure#6

 

Scalability and repeatability of the process

 

The above simple and elegant process can be repeatable to build larger and larger CCG or GUI classes by composing many other CCG or GUI Classes. For example, a larger GUI Class can be created, where other GUI classes can be used to create many of its subcomponents. Furthermore, this larger GUI class can be used by yet another GUI Class to build one of its subcomponents. This process works flawlessly without any exceptions.

Figure#7

 

Pioneer-soft has done extensive research and experimentation work on this process, created hundreds of examples. Pioneer-soft placed many examples in it the web site http://cbsdf.com/technologies/demo-links/demo-links.htm, however they are only small fraction of hundreds of examples created for validation of the invention. Pioneer-soft found out that the process is highly scalable for large and complex components and to build online applications.

 

Reasons why Raju's GUI-API can be more flexible than Java/Swing GUI-API

 

Copyright (C) 2006 RajuChiluvuri. All rights Reserved


Miscellaneous Documents Privacy Policy | Site Map | Services
Designed By SINDHU SYNERGY
Copy Right © 2006 Pioneer Soft, LLC. All Rights Reserved.