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.
|
Copyright (C) 2006 RajuChiluvuri. All
rights Reserved
|
|