Post on 30-May-2018
transcript
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 1/23
DYNAMIC GRAPHICAL USER
INTERFACE
AJMAL BEG
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 2/23
Author and/or publisher shall not be liable for any kind of direct and/or indirect loss as a result of using
information in this book.
ISBN: 97!"!9"#$%"!&!'
(
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 3/23
)edicated to my family
'
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 4/23
&
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 5/23
Introduction
*any of the enterprise systems used in core business processes in large organi+ations consist of
persistence layer, business logic layer and the presentation layer. Some of the enterprise systems
completely separate the presentation layer from the business logic and persistence layer, thus allo-ing
usage of multiple ersions of the graphical user interface -ith the same business logic. hese solutions
further proide end!user means at the user client to manually s-itch the ersion of the graphical user
interface at the presentation layer. 0ne of the main merits of proiding functionality of s-itching
bet-een different is that it allo-s the user to s-itch to lo- hard-are resource consuming graphical user
interface 123I4 ersion if there are not sufficient hard-are resources aailable at the client machine.
his book describes a method, -hich dynamically checks the aailability of the hard-are resources at
the client and dynamically s-itches the graphical user interface -ithout any manual interention of the
user. he merit of the proposed approach is that it help user run multiple resource consuming
applications presentation layers concurrently at optimal performance -hile minimi+ing the risks of
creating 563 or A* bottleneck at the client machine.
#
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 6/23
Chapter 1
Need or d!na"ic #raphica$ u%er interace
86 systems are -idely used in organi+ations of different si+es 1laus et. al. (""" 3mar (""&4. *any
critical business applications such as 86 systems consist of follo-ing three computing layers 1;rank
(""& 5han %999 Schneider (""$4:
• 6ersistence layer -hich resides on single or multiple database systems.
•
Business logic layer -hich is stored and e<ecuted on the application serers.
• 6resentation logic -hich is e<ecuted on -eb or -indo-s clients of the users.
8ach of the aboe computing layers consumes hard-are resources such as 563 and memory.
)ifferent approaches are used to optimi+e the utili+ation of the hard-are resources on each of the
aboe computing layers. ;or e<ample, the hard-are resources at the persistence layer are generally
optimi+ed by the database tuning e<perts using approaches such as:
• 0ptimi+ing of application serer technical enironment such as tuning of database data buffer
and cursor caches 1Schneider (""$4.
• 3sing fast data storages 1Seamons et. al. %99#4.
• 0ptimal distribution of data files on disk storages 16athak %99"4.
• 5reating of appropriate inde<es on different database tables 1=ifschit+ (""#4.
• *aintaining of database statistics to help database make right decision about access path
selection 1uberg (""'4.
• eorgani+ation of the database inde<es and files.
• Archiing of tables to reduce the si+e of ery large database tables.
$
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 7/23
• =oad balancing -ith multiple databases 1Bouganim, %99$4.
• 0ptimi+ing of batch >obs scheduling to flatten the peak load 1;eitelson, %9974.
• echnical optimi+ing of operating system enironment on -hich database runs 1*usumeci et.
al. (""(4.
ypical approaches used by the technical and functional e<perts to optimi+e the hard-are resource
utili+ation at the application serer are:
• 0ptimi+ing of database technical enironment such as tuning of data buffers, memory paging
areas and processes handling the data 1*illsap, (""'4.
• echnical optimi+ing of operating system on -hich application serers run 1*usumeci et. al.
(""(4.
• uning of the e<pensie S?= statements -hich are issued by the business logic and puts e<tra
load on the database resources 1Burleson (""% @enderson (""% 2ulut+an (""(4.
• 6rogram optimi+ing to reduce the olume of the data -hich is brought from database and saed
in the internal tables at the application serer 15ra-ford, ("""4.
• Simplifying of business logic to reduce the resource reuirements of the program.
3ser Interface is -ell e<plored area. Significant number of user interface tools, 23I design languages
and methods has been inestigated 1*yers %99# Bederson et. al. (""" *yers et. al (""" Abrams et.
al %9994. @o-eer, optimi+ation of presentation layer for large business applications such as 86 is
not an e<tensie research focus area. he only approaches aailable to optimi+e the hard-are
utili+ation at the presentation layer in large scale business applications are:
7
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 8/23
• S-itching to non!graphical ersion of the presentation layer. Such as accessing contents
-ithout rich graphical images.
• S-itching to light ersion of the 23I controls -here the presentation layer proides
multiple 23I controls ersions -ith capability to s-itch among them.
he first option is only aailable for those business applications -hich proide t-o ersions of
contents to be presented at the application layer. 0ne ersion is less graphical than the other
aailable ersion and consumes less hard-are resources at the presentation layer. he demerits of
adopting the first approach are:
• 8<tra -orkload and the deelopment cost for the soft-are manufacturer and the content
deeloper as there is needs to prepare t-o ersions of the contents.
• Non graphical ersion of the contents may be more difficult to comprehend compared to
graphical ersion of the contents.
• Not all information can be presented in a non!graphical -ay. Such graphical contents
are generally less informatie compared to the graphical ersion of the contents
he second approach completely separates the presentation and the business logic layer and,
proides at least one set of light 23I controls and another set of heay 23I controls. he light 23I
consumes less hard-are resources and the end user can s-itch bet-een heay and the light 23I
through easy to use interface to reduce the hard-are resource consumption. 86 solutions from
SA6 proide the functionality at the presentation leel to s-itch bet-een t-o ersions of 23I
controls 1Schneider (""$4. @eay ersion of 23I controls uses more resources compared to light
ersion of 23I controls. he functionality allo-s s-itching among the t-o ersions, thus allo-ing
the client to be run on client machines -hich are not ery po-erful. he second approach is
superior to the first approach as it does not hae the aboe mentioned demerits of the first
approach. @o-eer, the issues -ith adopting the second approaches from the point of non!technical
end users are:
• he hard-are of end user -hich runs the presentation layer has number of soft-are
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 9/23
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 10/23
Chapter &
Architecture
;igure % sho-s the oerall architecture -hich allo-s the dynamic s-itching of the graphical user
interface at the presentation layer -hile considering dynamic hard-are resource consumptions at
the client machine. he business application consists of three layers. he persistence layer e<ists at
the database. he business logic layer e<ists at the middle-are. he presentation layer is e<ecuted
at the client machines of the business application serer. he presentation layer can be a
functionality installed on the client or it can be a program -hich runs in the bro-ser at the client
machine. At the end users machine a est 6rogram is scheduled, -hich runs periodically and
determines follo-ing t-o aspects:
• Impact on performance -hen presentation layer s-itches from heay 23I to a light 23I.
•Impact on performance -hen presentation layer s-itches from light 23I to heay 23I.
23I 6erformance *onitor Serer plays a central role in the dynamic s-itching of the graphical user
interface at the presentation layer. 23I 6erformance *onitor Serer performs follo-ing functions:
• It receies reuest from client machines for generation of est 6rograms.
• It installs the est 6rograms on the client machines.
•
It schedules the est 6rograms.
he architecture sho-n in ;igure % is a simplified ersion of corporate systems. he corporate
system landscape may consist of multiple databases. Similarly, the clients may be accessing the
business logic -hich is spread oer multiple application serers. *ultiple 23I 6erformance
*onitor Serers using load balancing techniues may e<ist in the case of ery large corporate
net-ork. In the case of a small system landscape, machine hosting application serer or the
database serer may also proide the functionality of the 23I 6erformance *onitor.
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 11/23
Fi# 1' Architecture o d!na"ic #raphica$ u%er interace approach
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 12/23
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 13/23
;ig (: 2enerating and installing est 6rogram
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 14/23
3.1 Identifying programs with performance issues
here are t-o scenarios for using the dynamic graphical user interface:
• he dynamic graphical user interface can be enabled for all type of soft-are or
functionalities that run on the client machine.
• he dynamic graphical user interface can be enabled only for those programs or
functionalities for -hich the end user complains about the performance
he step % in the flo- sho-n in ;igure ( refers to the second scenario, in -hich the dynamic user
interface is enabled only for the screens, programs or -eb pages -hich hae the potential of
consuming higher hard-are resources. he end user or the administrator can determines such
programs.
3.2 Generating performance test description
;igure ' illustrates the user interface -hich can be used to generate D*= describing the
6erformance est )escription at the second step in the aboe flo- diagram. he end user may select
all the elements in a screen to be ealuated for performance testing or >ust one of the elements
contained in the program -hich consumes the most computing resources. he user interface allo-s
selecting the controls -ithin the program that can be tested for performance gains by s-itching to
the 23I controls -hich consumes less computing resources. =etEs assume a scenario, -here a user
of a business application generally displays large number of data in a table and e<periences slo-er
response. By s-itching from a table component -hich proides full spreadsheet capabilities to a
simple table -hich does not proide calculation capability and only displays the table contents, may
help the user meet the reuirement of better performance for displaying data. he user -ants to
dynamically s-itch to a table component -hich consumes less computing resources at the time the
client machine is e<periences the resource crunch. he user selects the table as the component for
-hich better performance is desired using the interface sho-n in ;igure '.
;or an application, -hich proides capability to s-itch among t-o types of tables, one -hich is
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 15/23
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 16/23
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 17/23
;ig ': 3ser interface for creating description of the performance test
3.3 chedu!ing
;igure & sho-s a graphical user interface that can be used to schedule the est 6rogram on the end
user machine. It can be used to select a test from number of different tests already created. It can be
used to select the application and the serer on -hich it is running. he presentation layer of the
selected application -ill be monitored for dynamic s-itching of graphical user interface according
to aailability of the resources at the client machine. he graphical user interface can be used to
describe the period of time during -hich the dynamic s-itching of the graphical user interface -ill
be alid. he same interface can include the @H resource consumption thresholds at -hich the
dynamic graphical user interface s-itching -ill be actiated. he field -ith label *onitoring
triggering 23I ime1O4Kin ;igure # configures the est 6rogram to actiate the dynamic s-itching
of the graphical user interface, if time spent on generating the screens at the client is more than #"O
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 18/23
of the total time of processing at the presentation layer.
;igure # sho-s ho- the est 6rograms run on the client machine. est 6rograms generates dummy
screens based on the est )escription and fills it -ith dummy data -hile measuring the time spent
on generating the screen in background. In case, light 23I controls are in use, it looks for
opportunity to s-itch back to heay 23I controls as soon as the hard-are resources are aailable
on the client machine layer. At time -hen heay 23I controls are in use, it runs tests to see if there
is a hard-are resource problem at the presentation layer and s-itching to light ersion of 23I
control -ill help. If s-itching to alternatie 23I control helps, it s-itches to alternatie ersion of
23I controls.
In case, the presentation layer runs in the -eb client, -here the html code is sent from a serer, the
s-itching bet-een the light and heay 23I at the presentation layer can be reali+ed using different
methods such as:
• 5hanging the contents of the CaaScript or html that is sent from the application serer to
the -eb client.
• )isabling script usage on the -eb client.
• Sending different graphical contents from the application serer to the -eb client.
• 5hanging the plug!in being used
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 19/23
;igure &: 3ser interface for scheduling est 6rogram
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 20/23
;igure #: ;unctionality of est 6rogram running at the presentation layer
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 21/23
Chapter *
Su""ar!
5omputing systems consisting of persistence layer, business logic layer and the presentation layer
are e<tensiely used in corporations. 6ersistence layer and the business logic layer are generally the
focus for performance optimi+ation. he presentation layer runs on the client machines and
generally reuires uite e<tensie computing resources for smooth running of presentation layer.
;or a company -ith large number of client machines, the cost of purchasing ne- client machines
can be significant as graphical user interface at the presentation layer becomes more and more
resource consuming due to arrial of more functional and graphical 23I controls. his book
presents a method that can be used to dynamically change the user interface according to the
aailability of the hard-are resources at the client machine -ithout any manual interention. It
allo-s the user run concurrently presentation layer of multiple applications -ithout creating
resource crunch at the client 65. he described techniue can be used also in case of -eb
applications.
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 22/23
Reerence%
P%Q A. 3mar, hird 2eneration )istributed 5omputing 8nironment. Nge Solution Inc, (""&.
P(Q B. A. *yers, 3ser interface soft-are tools, A5* ransactions on 5omputer!@uman
Interaction (!% 1%99#4 $&!%"'.
P'Q B. B. Bederson, C. *eyer, =. 2ood, An 8<tensible Moomable 3ser Interface 2raphics oolkit in
Caa, 6roceedings of A5* Symposium on 3ser Interface and Soft-are echnology 1("""4 %7%!
%".
P&Q B. *yers, S. 8. @udson, . 6ausch, 6ast, present and future of user interface soft-are tools,
A5* ransactions of 5omputer!@uman Interaction 7!% 1("""4 '!(.
P#Q 5. *illsap, 0ptimi+ing 0racle 6erformance, 0Eeilly, (""'.
P$Q ).. Burleson, 0racle @igh!6erformance S?= uning, *c2ra-!@ill, (""%.
P7Q ). 2. ;eitelson , =. udolph , 3. Sch-iegelshohn , . 5. Secik , 6. Hong, 6roceedings of the
Cob Scheduling Strategies for 6arallel 6rocessing 1%9974 %!'&.
PQ 2ian!6aolo ). *usumeci, *. =oukides, System 6erformance uning, (nd 8dition, 0Reilly,
(""(.
P9Q @. laus, *. osemann, 2. 2. 2able, Hhat is 86 Information Systems ;rontiers, (!( 1("""4
%&%!%$(.
P%"Q I. 5ra-ford, . . Hadleigh, Soft-are 0ptimi+ation for @igh!6erformance 5omputers:
5reating ;aster Applications, 6rentice @all 6, (""".
P%%Q. 8. Seamons, J. 5hen, *. Hinslett, J. 5ho, S. uo, 6. Cones, C. Co+-iak, and *.
Subramanian, ;ast and easy I/0 for arrays in large!scale applications, Seenth I888 Symposium on
6arallel and )istributed Systems, Horkshop on *odeling and Specification of I/0. 1%99#4.
P%(Q . @enderson, he 2uruEs 2uide to S?= Serer Stored 6rocedures, Dml, and @tml, Addison!
Hesley 6rofessional, (""%.
P%'Q =. Bouganim, ). ;lorescu, 6. aldurie+, )ynamic =oad Balancing in @ierarchical 6arallel)atabase Systems, =)B 1%99$4 &'$!&&7.
P%&Q =. ;rank, Architecture for integration of distributed 86 systems, %"&!# 1(""&4 &%T&(9.
P%#Q *. Abrams, 5. 6hanourious, A. =. Batongbacal, S. *. Hilliams, C. 8. Shuster, An Appliance!
Independent D*= 3ser Interface =anguage, 5omputer Net-orks %%!%$ %999 %$9#!%7".
P%$Q N. uberg, 2. uberg and *. *attoso, )igging database statistics and costs parameters for
distributed uery processing, =ecture Notes in 5omputer Science, ( 1(""'4 '"%!'%.
P%7Q 6. 2ulut+an, . 6el+er, S?= 6erformance uning, Addison!Hesley 6rofessional, (""(.
P%Q . * 6athak, A. umar, J. 6. 2upta, eliability 0riented Allocation of files on )istributed
8/14/2019 DYNAMIC GRAPHICAL USER INTERFACE
http://slidepdf.com/reader/full/dynamic-graphical-user-interface 23/23
Systems, 6roceedings of I888 Symposium on 6arallel and )istributed Systems. 1%99"4 $!9'.
P%9Q S. 5han, Architecture 5hoices for 86 Systems, 6roceedings #th. Americas 5onference on
Information Systems. 1%9994 (%"!(%(.
P("Q S. =ifschit+, *. A. . Salles, Autonomic Inde< *anagement, Second International 5onference
on Autonomic 5omputing. 1(""#4 '"&!'"#.
P(%Q . Schneider, SA6 6erformance 0ptimi+ation 2uide, SA6 6ress, (""$.
P((Q . Schneider, Note ("'9(&: 6erformance &.$ T collectie note, SA6 Serice *arketplace,
(""$.