<<

RECENT ADVANCES in BUSINESS ADMINISTRATION

Adaptive for Web Applications

Hazem M. El-Bakry, Alaa M. Riad, Ahmed E. Hassan, Nikos Mastorakis Mohamed Abu-Elsoud, Samaa Mahmoud S. Kandel, Technical University of Sofia, Mohamed, Faculty of Engineering, BULGARIA Mansoura University, Faculty of Computer Science & EGYPT Information Systems, Mansoura University, EGYPT E-mail: [email protected]

Abstract

User interface has becoming an essential part in the design of applications. In order to make it easy to deal with user's current task, it is required to simplify and optimize the user interface. Therefore, in this paper, a new design for adaptive user interface is presented. Furthermore, several issues of user interface design for web applications are described. In addition, the guidelines and architecture for the design of web applications as well as the nature of the web medium are discussed. The basic technologies are reviewed. Moreover, the languages and frameworks used in building user interface of web applications are described. The concept that the future of web2 could bridge the gab between desktop and web applications user interface is achieved. The web as a platform and building a web could enhance the user interface for web applications.

Keywords: Adaptive User Interface, User Interface Design, User Interface Types, Web User Interface, Web Applications, Web Frameworks.

I. Introduction There is a distinct difference between User Interface or Operator Interface and HMI--Human The user interface (also known as human Machine Interface. An HMI is typically local to computer interface or man-machine interface one machine or piece of equipment, and is the (MMI)) is the aggregate of means by which interface method between the human and the people—the users—interact with the system—a equipment/machine. An Operator interace is the particular machine, device, computer program or interface method by which multiple equipment other complex tool. The user interface provides that are linked by a host control system is means of: accessed or controlled. The user interface of a 1. Input, allowing the users to manipulate a mechanical system, a vehicle or an industrial system installation is sometimes referred to as the 2. Output, allowing the system to indicate the human-machine interface (HMI). HMI is a effects of the users' manipulation. modification of the original term MMI (man- To work with a system, users have to be able to machine interface). In practice, the abbreviation control the computer and assess the state of the MMI is still frequently used although some may system. For example, when driving an claim that MMI stands for something different automobile, the driver uses the steering wheel to now. Another abbreviation is HCI, but is more control the direction of the vehicle, and the commonly used for human-computer interaction accelerator pedal, brake pedal and gearstick to than human-computer interface. Other terms control the speed of the vehicle. The driver used are operator interface console (OIC) and perceives the position of the vehicle by looking operator interface terminal (OIT). However it is through the windshield and exact speed of the abbreviated, the terms refer to the 'layer' that vehicle by reading the speedometer. The user separates a human that is operating a machine interface of the automobile is on the whole from the machine itself [43-45]. composed of the the driver can use User interfaces are considered by some authors to accomplish the tasks of driving and to be a prime ingredient of Computer user maintaining the automobile [82-115]. satisfaction. The term user interface is often used in the In science fiction, HMI is sometimes used to context of computer systems and electronic refer to what is better described as direct neural devices where a network of equipment or interface. However, this latter usage is seeing computers is interlinked through an MES increasing application in the real-life use of (Manufacturing Execution System--or Host.

ISSN: 1790-5109 190 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

(medical) prostheses—the artificial extension of a user interface, as the user must expend effort that replaces a missing body part (e.g., cochlear to remember current mode states, and switch implants). between mode states as necessary [43-45]. The system may expose several user interfaces to serve different kinds of users. For example, a III. Types of User Interface computerized might provide two user interfaces, one for library patrons (limited In computer science and human-computer set of functions, optimized for ease of use) and interaction, the user interface (of a computer the other for library personnel (wide set of program) refers to the graphical, textual and functions, optimized for efficiency). auditory information the program presents to the In some circumstance computers might observe user, and the control sequences (such as the user, and react according to their actions keystrokes with the computer keyboard, without specific commands. A means of tracking movements of the , and parts of the body is required, and sensors noting selections with the touchscreen) the user the position of the head, direction of gaze and so employs to control the program. on have been used experimentally. This is Currently (as of 2009) the following types of particularly relevant to immersive interfaces [43- user interface are the most common: 45]. 1. Graphical user interfaces (GUI) accept input via devices such as computer keyboard and mouse and provide articulated graphical output II. Characteristics of User Interface on the computer monitor. There are at least two Design different principles widely used in GUI design: The design of a user interface affects the amount Object-oriented user interfaces (OOUIs) and of effort the user must expend to provide input application oriented interfaces. for the system and to interpret the output of the 2. Web-based user interfaces or web user system, and how much effort it takes to learn interfaces (WUI) accept input and provide output how to do this. The user interface has the by generating web which are transmitted following characteristics: via the Internet and viewed by the user using a program. Newer implementations 1. Usability: is the degree to which the design of utilize , , Adobe Flex, a particular user interface takes into account the .NET, or similar technologies to provide real- human psychology and physiology of the users, time control in a separate program, eliminating and makes the process of using the system the need to refresh a traditional HTML based effective, efficient and satisfying. Usability is web browser. Administrative web interfaces for mainly a characteristic of the user interface, but web-servers, servers and networked computers is also associated with the functionalities of the are often called Control panels. product and the process to design it. It describes 3. Command line interfaces, it is one of the sser how well a product can be used for its intended interfaces that are common in various fields purpose by its target users with efficiency, outside desktop computing , where the user effectiveness, and satisfaction, also taking into provides the input by typing a command string account the requirements from its context of use. with the computer keyboard and the system 2. Modalities and modes: A modality is a path of provides output by printing text on the computer communication employed by the user interface monitor. Used by and system to carry input and output. Examples of administrators, in engineering and scientific modalities: environments, and by technically advanced Input — computer keyboard allows the user to personal computer users. enter typed text, digitizing tablet allows the user 4. Tactile interfaces supplement or replace other to create free- drawing forms of output with haptic feedback methods. Output — computer monitor allows the system Used in computerized simulators etc. to display text and graphics (vision modality), 5. Touch user interface are graphical user loudspeaker allows the system to produce sound interfaces using a touchscreen display as a (auditory modality) combined input and output device. Used in many The user interface may employ several redundant types of point of sale, industrial processes and input modalities and output modalities, allowing machines, self-service machines etc. the user to choose which ones to use for 6. Attentive user interfaces manage the user interaction. attention deciding when to interrupt the user, the A mode is a distinct method of operation within kind of warnings, and the level of detail of the a computer program, in which the same input presented to the user. can produce different perceived results 7. Batch interfaces are non-interactive user depending of the state of the computer program. interfaces, where the user specifies all the details Heavy use of modes often reduces the usability

ISSN: 1790-5109 191 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

of the batch job in advance to batch processing, in windows. Dave Collins defines an OOUI as and receives the output when all the processing demonstrating three characteristics: is done. The computer does not prompt for further input after the processing has started. • Users perceive and act on objects 8. Conversational Interface Agents attempt to • Users can classify objects based on how personify the computer interface in the form of they behave an animated person, robot, or other character • In the context of what users are trying (such as Microsoft's Clippy the paperclip), and to do, all the user interface objects fit present interactions in a conversational form. together into a coherent overall 9. Crossing-based interfaces are graphical user representation. interfaces in which the primary task consists in Jef Raskin suggests that the most important crossing boundaries instead of pointing. characteristic of an OOUI is that it adopts a 10. Gesture interface are graphical user 'noun-verb', rather than a 'verb-noun' style of interfaces which accept input in a form of hand interaction, and that this has several advantages gestures, or mouse gestures sketched with a in terms of usability [67-77]. computer mouse or a stylus. There is a great deal of potential synergy 11. Intelligent user interfaces are human- between the OOUI concept and other important machine interfaces that aim to improve the ideas in user interface design including: efficiency, effectiveness, and naturalness of a. (GUI). human-machine interaction by representing, b. direct manipulation interface. reasoning, and acting on models of the user, . interface metaphor. domain, task, discourse, and media (e.g., However there are many examples of user graphics, natural language, gesture). interfaces that implement one or more of those 12. tracking interfaces monitor the user's other ideas, but which are not in fact OOUIs - body motions and translate them into commands, though they are often wrongly labeled as OOUIs. currently being developed by Apple. Conversely, there are examples of OOUIs that 13. Multi-screen interfaces, employ multiple are neither graphical, nor employ direct displays to provide a more flexible interaction. manipulation techniques, nor employ strong This is often employed in computer game metaphors. For example, the earliest versions of interaction in both the commercial arcades and the had a more recently the handheld markets. command line interface that was nonetheless 14. Noncommand user interfaces, which observe also clearly an OOUI, though it subsequently the user to infer his / her needs and intentions, became better known for its pioneering role in without requiring that he / she formulate explicit the development of GUIs, direct manipulation commands. and visual metaphors. 15. Object-oriented user interface (OOUI) Although there are many conceptual parallels Computing an OOUI is a type of user interface between OOUIs and object-oriented based on an object-oriented programming programming, it does not follow that an OOUI metaphor. In an OOUI, the user interacts has to be implemented using an object-oriented explicitly with objects that represent entities in programming language. the domain that the application is concerned The guidelines for IBM's Common User Access with. Many vector drawing applications, for (CUA), (possibly the most comprehensive example, have an OOUI - the objects being lines, attempt at defining a standard for OOUI design) circles and canvases. The user may explicitly stated that 'while object-oriented programming select an object, alter its properties (such as size can facilitate the development of an object- or colour), or invoke other actions upon it (such oriented user interface, it is not a pre-requisite. as to move, copy, or re-align it). If a business An object-oriented user interface can be application has any OOUI, the user may be developed with more traditional programming selecting and/or invoking actions on objects languages and tools. representing entities in the business domain such However, there are strong synergies. Larry as customers, products or orders. Jakob Nielsen Tesler, who left Xerox PARC in 1980 to join defines the OOUI in contrast to function- Apple underlined the relationship: 'Many oriented interfaces: "Object-oriented interfaces observers have hypothesized that [the] Smalltalk are sometimes described as turning the user interface and the Smalltalk language are application inside-out as compared to function- separable innovations. Consequently, most oriented interfaces. The main focus of the systems influenced by the Smalltalk user interaction changes to become the users' data and interface have been engineered without resorting other information objects that are typically to Smalltalk’s implementation approach. At represented graphically on the screen as icons or Apple, after using Pascal to implement six initial applications for Lisa, we discovered compelling

ISSN: 1790-5109 192 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

reasons to change our programming language to BCI versus neuroprosthetics: incorporate more ideas from Smalltalk. Lisa Neuroprosthetics is an area of neuroscience applications are now written in the language concerned with neural prostheses—using Clascal, an extension of Pascal featuring objects, artificial devices to replace the function of classes, subclasses, and procedure invocation by impaired nervous systems or sensory organs. The message-passing. most widely used neuroprosthetic device is the 16. Reflexive user interfaces where the users cochlear implant, which, as of 2006, has been control and redefine the entire system via the implanted in approximately 100,000 people user interface alone, for instance to change its worldwide. There are also several command verbs. Typically this is only possible neuroprosthetic devices that aim to restore with very rich graphic user interfaces. vision, including retinal implants. 17. Tangible user interfaces, which place a The differences between BCIs and greater emphasis on touch and physical neuroprosthetics are mostly in the ways the environment or its element. terms are used: neuroprosthetics typically 18. Task-Focused Interfaces are user interfaces connect the nervous system to a device, whereas which address the information overload problem BCIs usually connect the brain (or nervous of the desktop metaphor by making tasks, not system) with a computer system. Practical files, the primary unit of interaction neuroprosthetics can be linked to any part of the 19. Text user interfaces are user interfaces which nervous system—for example, peripheral output text, but accept other form of input in nerves—while the term "BCI" usually designates addition to or in place of typed command strings. a narrower class of systems which interface with 20. Voice user interfaces, which accept input and the central nervous system. provide output by generating voice prompts. The The terms are sometimes used interchangeably, user input is made by pressing keys or buttons, and for good reason. Neuroprosthetics and BCIs or responding verbally to the interface. seek to achieve the same aims, such as restoring 21. Natural-Language interfaces - Used for sight, hearing, movement, ability to search engines and on webpages. User types in a communicate, and even cognitive function. Both question and waits for a response. use similar experimental methods and surgical 22. Zero-Input interfaces get inputs from a set of techniques [46-67]. sensors instead of querying the user with input 25. Organic user interface dialogs. An organic user interface (OUI) is a user 23. Zooming user interfaces are graphical user interface "with non-planar displays that actively interfaces in which information objects are or passively change shape via analog physical represented at different levels of scale and detail, inputs." OUIs are characterized by displays that and where the user can change the scale of the can change or take on any shape and their ability viewed area in order to show more detail. to use the display as an input device. The folding 24. Brain–Computer Interface (BCI), sometimes camera is an early example of an OUI. called a direct neural interface or a brain– Holman and Vertegaal present three design machine interface, is a direct communication principles for OUIs: pathway between a brain and an external device. a. Input Equals Output: In the GUI there is a BCIs are often aimed at assisting, augmenting or clear division of input and output. The mouse repairing human cognitive or sensory-motor and keyboard input actions from the user. Based functions. Research on BCIs began in the 1970s on those actions, output is generated graphically at the University of California Los Angeles on the screen. A key feature of OUI is that a (UCLA) under a grant from the National Science piece of OLED paper, or any potentially non- Foundation, followed by a contract from planar object for that matter, is meant to input DARPA. The papers published after this actions from the user and also output them onto research also mark the first appearance of the the same object. expression brain–computer interface in scientific b. Function Equals Form: The form of an object literature. The field of BCI has since blossomed clearly determines its ability to be used as an spectacularly, mostly toward neuroprosthetics input. The statement Function Equals Form applications that aim at restoring damaged emphasizes this dependency on one another. hearing, sight and movement. Thanks to the Holman and Vertegaal argue that these two are remarkable cortical plasticity of the brain, in fact inseparable and that it is a mistake to try signals from implanted prostheses can, after to deny this in any way. adaptation, be handled by the brain like natural c. Form Follows Flow: This principle states that sensor or effector channels. Following years of it is of utmost necessity for OUIs to negotiate animal experimentation, the first neuroprosthetic user actions based on context. e.g. the ubiquitous devices implanted in humans appeared in the 'clamshell' phone, where incoming calls alter the mid-nineties.

ISSN: 1790-5109 193 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

phone's function when opening the phone during option tree flowchart and for web sites this an incoming call [78-81]. would be a site flow that shows the hierarchy of the pages). 4. Prototyping – development of wireframes, IV. Design of Adaptive User Interface either in the form of paper prototypes or simple interactive screens. These prototypes are stripped User interface design or user interface of all look & feel elements and most content in engineering is the design of computers, order to concentrate on the interface. appliances, machines, mobile communication 5. Usability testing – testing of the prototypes on devices, software applications, and websites with an actual user—often using a technique called the focus on the user's experience and talk aloud protocol where you ask the user to talk interaction. The goal of user interface design is about their thoughts during the experience. to make the user's interaction as simple and 6. Graphic Interface design – actual look & feel efficient as possible, in terms of accomplishing design of the final graphical user interface user goals—what is often called user-centered (GUI). It may be based on the findings design. Good user interface design facilitates developed during the usability testing if usability finishing the task at hand without drawing is unpredictable, or based on communication unnecessary attention to itself. Graphic design objectives and styles that would appeal to the may be utilized to apply a theme or style to the user. In rare cases, the graphics may drive the interface without compromising its usability. prototyping, depending on the importance of The design process must balance technical visual form versus function. If the interface functionality and visual elements (e.g., mental requires multiple skins, there may be multiple model) to create a system that is not only interface designs for one control panel, operational but also usable and adaptable to functional feature or widget. This phase is often changing user needs. a collaborative effort between a graphic designer Interface design is involved in a wide range of and a user interface designer, or handled by one projects from computer systems, to cars, to who is proficient in both disciplines. commercial planes; all of these projects involve User interface design requires a good much of the same basic human interaction yet understanding of user needs. also require some unique skills and knowledge. The adaptive user interface can be achieved As a result, designers tend to specialize in certain through a combination of BCI, OOUI, GUI, types of projects and have skills centered around Intelligent user interface, natural language user their expertise, whether that be software design, interface, voice user interface, text user interface, user research, web design, or industrial design. motion tracking interface, gesture interface, There are several phases and processes in the noncommand user interfaces and information user interface design, some of which are more fusion. demanded upon than others, depending on the project. V. Web User Interface 1. Functionality requirements gathering – assembling a list of the functionality required of Here, we are interested in the design of web the system to accomplish the goals of the project interface. Nowadays, anyone can use the internet and the potential needs of the users. applications very easily. The design of user 2. User analysis – analysis of the potential users interface has a great effect on facilitating the of the system either through discussion with interaction of Internet user with web people who work with the users and/or the applications. The Internet today has a unique potential users themselves. Typical questions reach—right into the homes of a vast audience involve: worldwide. Some organizations (and individuals) • What would the user want the system to see this medium as a good chance for extending do? the reach of their computer systems. One popular • How would the system fit in with the approach used for such activities is to run an user's normal workflow or daily application on a server, using web technology activities? for displaying its user interface remotely. • How technically savvy is the user and Developing such a web-based user interface can what similar systems does the user be quite tedious—it is a concurrent, distributed already use? program which has to run in a hostile environment .Furthermore, the platform on • What interface look & feel styles appeal which it is implemented (the web) was not to the user? originally intended for such usage. User interface 3. Information architecture – development of the is the only way of communication between the process and/or information flow of the system computer user & the computer system, a lot of (i.e. for phone tree systems, this would be an

ISSN: 1790-5109 194 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

researchers and developers gave a huge interest opportunistic attempts to exploit the large, to this. User interface is classified as desktop standardized installed base of the web in our application, web application. The web heterogeneous world for the purpose of application user interface is the way through delivering the UI of a system to a wide audience which the web user communicates to the web .The specification of such “web applications” is system. Web applications are essentially client- considered in this study. Also web applications server applications - there is always a web client. and web frameworks are reviewed. Web The term “Web application” is now widely used frameworks are executable architectural to distinguish a certain type of web site [41]. frameworks for implementing web Several definitions exist—in this paper, a web applications—thus closely related to the application is taken to be a possibly complex structure and requirements of a web application. server application that utilizes web technology in Before digging in the detailed techniques used order to deliver its user interface. (See Conallen for web application user interface, the authors [1999] for an example of another definition.) briefly discuss the technical issues related to the [40]. The end-to-end technical architecture of a kinds of web application and how it differs from web application needs to take into account a classical client server application .Web fairly impressive range of problems (some of applications, however, are different from which are catered for by the web standards). To traditional client-server applications in a few name a few: since a web application is run in an crucial ways. unfriendly environment, it typically needs security—both for the server and its clients. VI. User Interface Markup Languages Often scalability is of importance, since the A user interface is a markup potential audience is vast. Of course, the user language that renders and describes graphical interface should be of acceptable quality and user interfaces [2]. It is preferred to combine all flexibility. Even in the most collapse case a web the user interface Markup Languages [UIMLs] application is a concurrent, distributed in a simple comparison. This comparison in application, which, to make matters worse, 2 compares the general properties of the depends on a completely stateless protocol different [UIMLs] according the following six (HTTP). Typically, web applications need to be criteria’s: integrated seamlessly with several back-end Short Description: A short description of what systems (or at least present a seemingly each language is. integrated front to them). Often database Publication date: The date when the language transactions and security realms need to span published . several such system boundaries. While solutions Development(Creator): The creator of the for each one of these problems exist, the language. particular implementation of a chosen solutions License : The License type for the impact one another. Building user interface for language(ie,open source ,commercial..etc). them in this particular context would not seem to Development environment: What tool the be a simple task at all. developer use to write the language code. The web was conceived as a hyper linked Runtime environment : The runtime network of information which is embedded in environment for the language. documents using a simple document format that The authors notice from Table 2 that : Most is easily editable and viewable on many different of UIMLs are based on XML (eXtensible platforms [36]. Since then, the web has enjoyed MarkupLanguage),that was designed to be self overpowering success and plays host to many descriptive, totally extensible, language unanticipated uses (and, it could be argued, independent, open standard, platform abuses). The basic architecture supporting this independent, textual information, supports massively distributed system has matured with shareable structure (using DTDs),enables experience, guided by the Internet Engineering interoperability, XML documents are easily Task Force (IETF) [38] and the World Wide committed to a persistence layer[19]. We can Web Consortium (W3C) [5]. This architecture is note also that, around 90% of these languages enabled by three primary standards: Hypertext were created after 1998. And About 28% need Transfer Protocol (HTTP), Uniform Resource only an internet browser in the runtime, and Identifier (URI), and Hypertext Markup othes need specific environment such as ZK Language (HTML). Some uses of the , Java, PHP, GTK. Around 80% of require more than what is provided by traditional the UIMLs don't need specific editors to write web standards. their code, it could be written in the . Indeed, for many, the web has merely become Around 45% of them are GPL, LGPL license. the presentation tier of a multi-tiered corporation Another web application UIML were not of systems [37]. These applications are

ISSN: 1790-5109 195 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

classified at table 2 Are briefly discussed as interaction techniques, modalities of use, and followed: computing platforms can be described in a way XBL: The XML Binding Language (XBL) that preserves the design independently from describes the ability to associate elements in a peculiar characteristics of physical computing document with script, event handlers, CSS, and platform [20,25]. more complex content models, which can be WSXL: (The Web Services Experience stored in another document. This can be used to Language) released by IBM, is a Web services re-order and wrap content so that, for instance, centric component model for interactiveWeb simple HTML or XHTML markup can have applications. It is intended for applications complex CSS styles applied without requiring providing a user experience across the Internet that the markup be polluted with multiple [28]. The two goals of WSXL are firstly to give semantically neutral div elements [5]. a way to build web applications to a wide variety AAIML: A key part in the Universal Remote of channels and secondly to create web Console specification is the definition of an applications from other ones. WSXL is built on XML-based language to convey a UI description widely established and emerging open standards, from a service or device (target) to the URC. and is designed to be independent of execution This 'Alternate Abstract Interface Markup platform, browser, and presentation markup Language' (AAIML) must be sufficiently languages [21]. abstract (in terms of modality independence), so XISL: (Extensible Interaction Sheets Language) that a particular URC device can render the is a multi-modal interaction description provided UI in its own way, taking advantage of language. It is designed for describing the specific interaction techniques the URC interaction using multi-modal inputs and device is capable of. For example, a PDA could outputs[21,29]. render the UI description by using GUI elements TADEUS-XML: In a TADEUS-XML (visual) for output, and pointing with a stylus, as description, a UI is made up of two parts: a well as hand writing recognition for input; a car model component (abstract interaction model), radio would render the same user interface that describes the feature of the UI on a high description auditorially with sound and synthetic level of abstraction, and a presentation speech for output, and speech recognition for component [21]. input; and a braille note-taker would use its Seescoa XML : ( for braille output and input capabilities in order to Embedded Systems using a Component Oriented render the very same user interface description Approach ) is a project that started in October tactily [20,22]. 1999 and has to be finished 382 N. Souchon and AUIML: (Abstract User Interface Markup J. Vanderdonckt in September 2003, involving a Language) is 'an XML vocabulary which has research consortium of four Belgian university been designed to allow the intent of an partners. The main objective of Seescoa project interaction with a user to be defined.' This is to adapt the software engineering technologies clearly contrasts with the conventional approach to the needs of embedded software [21,26]. to user interface design, which focuses on Teresa XML: Teresa XML is the XML- appearance. With an intent based approach, compliant language that was developed inside designers are able to 'concentrate on the the Teresa project, which is intended to be a semantics of the interactions without having to transformation-based environment designed and concern themselves with which particular device developed at the HCI Group of ISTI-C.N.R type(s) need to be supported.' Being an XML (http://giove.cnuce.cnr.it) It provides an vocabulary, AUIML allows device independent environment that supports the design and the encoding of information [20,23]. generation of a concrete user interface for a XIML: (Extensible Interface Markup Language specific type of platform [21,27]. )XIML is an XML-based interface representation VoiceXML: is a markup language for creating language for universal support of functionality voice-user interfaces. It uses speech and across the entire lifecycle of a user interface: telephone touchtone recognition for input and design, development, operation, management, prerecorded audio and text-to-speech synthesis organization, and evaluation [20,24]. (TTS) for output [34]. UsiXML: (USer Interface eXtensible Markup VRML:Virtual Reality Markup Language. A Language) is a XML-compliant markup that allows for the creation of language that describes the user interface for three-dimensional "worlds" that the user can multiple contexts of use such as Character User explore [5]. Interfaces (CUIs), Graphical User Interfaces MathML: (Mathematical Markup Language), is (GUIs), Auditory User Interfaces, and an XML application for describing mathematical Multimodal User Interfaces. In other words, notation and capturing both its structure and interactive applications with different types of content. The goal of MathML is to enable

ISSN: 1790-5109 196 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

mathematics to be served, received, and another point of is to recognize that the processed on the Web, just as HTML has success of the web platform is made possible enabled this functionality for text [5]. precisely because of its intended architecture. WebRB: WebRB, an implementation of (And the success of the web is surely the RBlocks for a Web application environment. It’s principal motivation for using it for remote UI in deployed as a software service; developers run the first place.) the WebRB visual editor in a standard The design of a web framework for presenting a Web browser and store their page designs and UI so specified is also proposed. data on the WebRB server. WebRB is a different The purpose of this section is to make a general way to write Web applications because it uses comparison of all the web frameworks. Table 3, visual page designs, lacks imperative code, and Table 4[appendix A], compares the general uses relational semantics [7], that facilitate the properties of the different common web user interaction. frameworks according the following twelve WebML: (Web Modeling Language) for criteria’s: designing traditional data-intensive Language/Technology : The language that the Web applications suggested us to extend the framework is based on .There are about 12 visual formalism to model relevant interaction language and technology .About 28% based on and navigation operations typical of Web GIS. PHP ,about 28% based on Java about 14% The proposed extension consists of a set of based on Python, 7% are based on Coldfusion content units specifically tailored for GIS SW, 5% based on .NET , also 5% are based on concepts and tasks [17]. Ruby , 4% are based on JavaScript ,and about 9 Harel: A web application user interface % are based on another languages specification language [18] (smalltalk,scala,lua,MXML,) from these The following section describes the frameworks measurements we can note that Java and PHP that could be used in building web applications are widely used in building web frameworks. user interface. AJAX [35]: Whether the framework supports AJAX technique or not. About 86% of them VII. Web Application Frameworks supports AJAX this yielded in building highly interactive web UI, as Asynchronous Web pages, A web framework is a collection of software which can change some of their content without components which provides its users with reloading the whole page. support for developing and executing web-based MVC [31]: the MVC is a design pattern that user interface. In part, web frameworks can be aims to modularize an application into 3 parts. seen as being analogous to interpreters: given a The Model represents the data for the specification of a user interface using a application; the View represents the presentation specification technique dictated by the of the user interface such as text, framework, server components of the framework items; and the Controller ties these two together can present the user interface using web and deals with user input such as keystrokes and technology [30]. mouse movements. MVC is traditionally Topics related to web frameworks are limited in associated with GUI development. About 81% of the academic literature, but be plentiful in these frameworks supports the MVC. industry and open discussion forums. Similarly, MVC Push/Pull [39]: Most MVC frameworks the designers of web frameworks not often found follow a Push-based architecture. These their work on existing theory in the literature. frameworks use actions that do the required This study is an attempt to bridge this gap. It is processing, and then "push" the data to the view focused on two aspects of web frameworks: layer to render the results, about 45% supports The specification technique a framework "push "technique. An alternative to this is pull- mandates, and how such a specification can based architecture, sometimes also called subsequently be used to present a user interface "component-based". These frameworks start via web technology. As part of this study, a with the view layer, which can then "pull" results survey was conducted of 80 open source web from multiple controllers as needed. In this frameworks. Based on the survey, a partial architecture, multiple controllers can be involved overview of the domain of web frameworks is with a single view,about 15% supports "pull" given, covering what is seen as being typically technique and about 20% of them supports both required of a web framework and covering "Push & pull ". specification techniques that are used by existing i18n & l10n [32]: means whether the framework frameworks. Using the web as platform implies supports internationalization and localization or adherence to certain (intended) architectural not. Internationalization and localization means constraints. Web framework designers often of adapting computer software for non-native strain against these constraints. However, environments, especially other nations and

ISSN: 1790-5109 197 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

cultures. Internationalization is the process of A new design for adaptive user interface has designing a software application so that it can be been presented. The new adaptive user interface adapted to various languages and regions has been achieved through combination of without engineering changes. Localization is the different types for user interface and information process of adapting software for a specific region fusion. The new design can be applied for any or language by adding locale-specific software including web applications. The impact components and translating text. The authors of web applications force researcher and found that about 91% of the frameworks do industries to search for web applications user support "-il8n" (18 letters between the i and the interface languages and tools. After defining web n) , L10N( 10 letters between the "l" and the "n applications, authors surveys the language and in localization about 9%). frameworks used to implement we applications ORM [33]: ORM is a programming technique user interface. Findings shows that most for converting data between incompatible type languages are based on XML. Also web systems in relational and object- frameworks could play important role in oriented programming languages. This creates, building web application user interface. from in effect, a "virtual object database" which can these measurements we can note that Java and be used from within the programming language. PHP are widely used in building web There are both free and commercial packages frameworks. Based on that survey the web available that perform object-relational mapping, platform is made possible. The design of a web although some programmers opt to create their framework for presenting a user interface so own ORM tools. This shows whether the specified is also proposed. The future work will framework supports Objec-Relational-mapping be to build an adaptive web user interface or not. Authors found that about 90%of them, components with XUL and compare it with 10% does not support ORM. another user interface libraries and investigate Testing framework: this shows whether the the performance. framework perform a test that validates that units of are working properly, findings References: were about 83% do make testing, 17% don't [1] Open update,"Wasabi Developer Manual", make testing. [On- DB migration framework : Shows whether the Line]http://docs.wasabidev.org/wasabi_develo framework contains tools for migrating tables per_manual/using_xml_reference.(2003) and data from/to all popular databases. Supports [2] Wikipedia The free Encyclopedia, "User- Oracle, SQL Server, MySQL, DB2, PostgreSQL interface-markup-languages", [On-Line] and Sybase. Findings were about 31% support http://en.wikipedia.org/wiki/ user-interface- DB migration, 69% does not support DB markup-languages (Accessed in May2008) migration. [3] Backbase B.V ,"BXML Reference", Security Framework: Shows the level of http://docs.backbase.com/docs/3_3_1/client_3 security does the framework support security or _3_1/BXML%20Reference.pdf (Mar 2007) not. About 69% of them support different [4] w3schools team , [On-Line] security levels and 31% don't support security . http://www.w3schools.com/(2005) Template Framework: If the framework [5]W3C team, [On-Line]http://www.w3.org (2008) supports a design template such as [6] SourceForge, "Comparison-user-interface- CherryTemplate , PHPTemplate, Smarty, markup-languages", [On-Line] XTemplate (:about 83% support) ,or not(about http://www.xul.fr/comparison-user-interface- 17% don't support. markup-languages.(2008) Caching Framework: Shows whether the [7] Avraham Leff and James T. Rayfield IBM T.J. Watson Research Center, "WebRB: A framework support caching technique that Different Way to Write Web Applications", reduce time and overhead to access the data IEEE Computer Society (2008), 1089-780 sources –relational databases of file systems. [8]Wikipedia The free Encyclopedia ,"Web About 77% do, 23% don't do. Applications", Form Validation Framework(s): It shows [On- whether framework allows to construct HTML Line]http://en.wikipedia.org/wiki/Web_applica forms from data models, and handle the inputted tion (Accessed in May2008) information from the forms seamlessly when [9]Websydian, v5.7 [On-Line interacting with the data-store. About 88% Documentation],http://www.websydian.de/(20 support form validation, and 12% do not support. 07) [10]Adobe Systems Romania ,"How does AJAX VIII. Conclusion WORK", [On-Line] http://www.interaktonline.com/Support/Article s/Details/AJAX (November 10, 2005)

ISSN: 1790-5109 198 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

[11] Telerik team, "How does AJAX work" , [On- Proceedings of the 9th Int.Workshop on Line]http://www.telerik.com/products/ajax/ho Design, Specification, and Verification of w-does-ajax-work.aspx (2007) Interactive Systems DSVIS’(2002) [12] San Murugesan, "Understanding Web 2.0 ", [27] Patern`o. F and Santoro. In Ch Kolski and J. IEEE computer society (July 2007), 1520- Vanderdonckt (Eds.), editors, C. One model, 9202 "many interfaces pages 143–154.",Proceedings [13] Farata Systems,AJAX, , [On- of the 4th International Conference on Line]http://flexblog.faratasystems.com/?p=106 Computer-Aided Design of User Interfaces (October 28, 2006) CADUI’2002, Dordrecht, 2002. Kluwer [14] Wikipedia The free Encyclopedia,"Web Academics Publishers (Valenciennes, 15-17 application frameworks", May 2002) [On- [28] A. Arsanjani, . Chamberlain, and et al. Line]http://en.wikipedia.org/wiki/Comparison "(WSXL) experience language _of_web_application_frameworks (Accessed Version", [On-Line] http://www- in May2008) 106.ibm.com/developerworks/library/ws- [15] Matt Raible ,"Comparing Web wsxl2/.(2002) Frameworks",Virtuas Open Source [29]T. Ball, Ch. Colby, P. Danielsen, L.J. Solutions(2006) Jagadeesan, R. Jagadeesan, K. L¨aufer, P. [16] Robert H. Halstead, Jr., Mat Hostetter, David Matag, and K. Rehor. "SISL: Several A. Kranz," Curl®: A Content Language ", the interfaces, single logic. Technical report", International Lisp Conference (June 2005) Loyola University, Chicago( January 6th, [17] S. Di Martino, F. Ferrucci, L. Paolino, M. 2000) Sebillo, G. Vitiello, G. Avagliano, "A [30] Wikipedia The free Encyclopedia ,"Web WebML-based Visual Language for the Applications Frameworks", Development of Web GIS Applications", IEEE [On- Computer society (2007) Line]http://en.wikipedia.org/wiki/Web_application [18]Lwan Vosloo,"A web application user interface _framework (Accessed in May2008) specification language based on the [31] Primitivetype Team, [On- statecharts",University Of Pretoria etd,(2006) Line]http://www.primitivetype.com/glossary/ [19] Nazmul Idris ,"Benefits of using mvc.php(2008) XML",http://developerlife.com/tutorials/?p=31 [32] Wikipedia The free Encyclopedia ,"Web (1999) Applications Frameworks", [20] Robin Cover,"XML Markup Languages for [On-Line]http://en.wikipedia.org/wiki User Interface Definition", Internationalization_and_localization(Accesse http://xml.coverpages.org/userInterfaceXML.h d in May2008) tml ( Last modified: October 03, 2005) [33] Wikipedia The free Encyclopedia ,"Web [21] Nathalie Souchon and Jean Vanderdonckt ,"A Applications Frameworks", Review of XML-compliant User Interface [On-Line]http://en.wikipedia.org/ Object- Description Languages", 10th International relational_mapping (Accessed in May2008) Conference on Design, Specification, and [34] Peiya Liu and John R. Smith, "VoiceXML and Verification of Interactive Systems DSV-IS the W3C Speech Interface Framework", IEEE 2003 (June 2003) computer society(2003) 1070-986X [22] Gottfried Zimmermann, Gregg Vanderheiden, [35] Nicolás Serrano and Juan Pablo Aroztegi and Al Gilman," Universal Remote Console ,Ajax Frameworks for Interactive Web Apps, Prototyping of an Emerging XML Based IEEE computer scociety(2007) 0740-7459 Alternate User Interface Access Standard", [36] Berners-Lee,T,"The World Wide Web: Past, The Eleventh International World Wide Web Present and future" Conference(May 2002) ,www.w3.org/People/Berners- [23] Roland A. Merrick,"AUIML: An XML Lee/1996/ppf.html(1996) Vocabulary for Describing User Interfaces. [37] A. Ginige and S. Murugesan, “Web [Device Independent User Interfaces in Engineering: An. Introduction,” IEEE XML]",IBM( 2001) MultiMedia, (Jan.–Mar. 2001) [24] Angel Puerta and Jacob Eisenstein,XIML: A [38] IETF teamwork, [On-Line] Common Representation for Interaction Data. http://www.ietf.org/(1992) Presented at the Sixth Intelligent User [39] Kris Thompson, [On-Line forum] Interfaces Conference (Jan 2002) http://www.theserverside.com/patterns/thread.t [25] Université catholique de Louvain, Belgium , ss?thread_id=22143 (2007) "UsiXML :USer Interface eXtensible Markup [40] Jim Conallen,Building Web Applications with Language", [On-Line] UML;1 edition [Text book], Wesley http://www.usixml.org/(2007) Professional Publisher (Dec 1999) [26] K. Luyten, C. Vandervelpen, and K. Coninx. [41] Ahmed E. Hassan, M. Abu-Elsoud, M. S. "Adaptable user interfaces in component based Kandil, and Samaa Mohamed, " Web development for embedded systems". In Application User Interface, a Survey, "

ISSN: 1790-5109 199 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

Mansoura Journal for Computer Science and time prediction of hand trajectory by ensembles Information Systems, EGYPT, Vol. 5, of cortical neurons in primates. Nature 16: 361- No.5, July 2008. 365. [42] Hazem M. El-bakry, and Nikos Mastorakis [58] Carmena, J.M., Lebedev, M.A., Crist, R.E., “User Interface for Internet Applications,” Proc. O’Doherty, J.E., Santucci, D.M., Dimitrov, of 9th WSEAS International Conference on D.F., Patil, P.G., Henriquez, C.S., Nicolelis, Applied Informatics and Communications M.A.L. (2003) Learning to control a brain– (AIC'09), Moscow, Russia, August 26-28, machine interface for reaching and grasping by 2009, pp. 383-392. primates. PLoS Biology, 1: 193-208. [43] User interface design - Wikipedia, the free [59] Lebedev, M.A., Carmena, J.M., O’Doherty, encyclopedia. J.E., Zacksenhouse, M., Henriquez, C.S., [44] User interface - Wikipedia, the free Principe, J.C., Nicolelis, M.A.L. (2005) encyclopedia. Cortical ensemble adaptation to represent [45] Adaptive user interfaces - Wikipedia, the free actuators controlled by a brain machine encyclopedia. interface. J. Neurosci. 25: 4681-4693. [46] J. Vidal, "Toward Direct Brain–Computer [60] Serruya M.D., Hatsopoulos, N.G., Paninski, Communication", in Annual Review of L., Fellows, M.R., Donoghue, J.P., (2002) Biophysics and Bioengineering, L.J. Mullins, Instant neural control of a movement signal. Ed., Annual Reviews, Inc., Palo Alto, Vol. 2, Nature 416: 141-142. 1973, pp. 157-180. [61] Taylor DM, Tillery SI, Schwartz AB (2002) [47] J. Vidal, "Real-Time Detection of Brain Direct cortical control of 3D neuroprosthetic Events in EEG", in IEEE Proceedings, May devices. Science 296: 1829-1832. 1977, 65-5:633-641. [62] Pitt team to build on brain-controlled arm, [48] S. P. Levine, J. E. Huggins, S. L. BeMent, R. Pittsburgh Tribune Review, 5 September 2006. K. Kushwaha, L. A. Schuh, M. M. Rohde, E. A. [63] YouTube - Monkey controls a robotic arm Passaro, D. A. Ross, K. V. Elisevich, and B. J. [64] Musallam S, Corneil BD, Greger B, Smith, "A direct brain interface based on event- Scherberger H, Andersen RA (2004) Cognitive related potentials," IEEE Trans Rehabil Eng, control signals for neural prosthetics. Science vol. 8, pp. 180-5, 2000. 305: 258-262. [49] Laura Bailey. "University of Michigan News [65] Santucci, D.M., Kralik, J.D., Lebedev, M.A., Service". Nicolelis, M.A.L. (2005) Frontal and parietal http://www.umich.edu/news/index.html?Releas cortical ensembles predict single-trial muscle es/2006/Feb06/r020606a. Retrieved February 6, activity during reaching movements. Eur. J. 2006. Neurosci., 22: 1529-1540. [50] Miguel Nicolelis et al. (2001) Duke [66] Huber et al. (2008) Sparse optical neurobiologist has developed system that microstimulation in barrel cortex drives learned allows monkeys to control robot arms via brain behaviour in freely moving mice. Nature 2008, signals. 451(7174):61-4. [51] Baum, Michele (2008=09-06). "Monkey Uses [67] Brain–computer interface - Wikipedia, the free Brain Power to Feed Itself With Robotic Arm". encyclopedia Pitt Chronicle. [68] Nielsen, J., Usability Engineering. 1993, San http://www.chronicle.pitt.edu/?p=1478. Francisco: Morgan Kaufmann / Academic Press Retrieved 2009-07-06. [69] Collins, D., Designing Object-oriented User [52] Fetz E E 1969 Operant conditioning of cortical interfaces. 1995, Redwood City, CA: unit activity Science 163: 955-958. Benjamin/Cummings [53] Schmidt E M et al. 1978 Fine control of [70] Raskin, J., The Humane Interface. 2000, operantly conditioned firing patterns of cortical Reading, MA: Addison-Wesley / ACM Press neurons Exp. Neurol. 61 349–69. [71] Constantine, L. and L. Lockwood, Software [54] Georgopoulos AP, Lurito JT, Petrides M, for use. 1999: Addison-Wesley Schwartz AB, Massey JT (1989) Mental [72] Kay, A., The early history of Smalltalk, in rotation of the neuronal population vector. History of Programming Languages, T. Bergin Science 243: 234-236. and R. Gibson, Editors. 1996, Addison-Wesley [55] Lebedev MA, Nicolelis MA (2006),Brain– / ACM Press: Reading, MA. p. 511-. machine interfaces: past, present and future. [73] IBM, Common User Access - Guide to User Trends Neurosci 29: 536-546 Loaded 18 Interface Design. 1991, IBM: Cary, North October 2006. Carolina. [56] G. B. Stanley, F. F. Li, and Y. Dan. [74] Tesler, L. Object Oriented User Interfaces and Reconstruction of natural scenes from ensemble Object Oriented Languages. in ACM responses in the LGN, J. Neurosci., Conference n Personal and Small Computers. 19(18):8036-8042, 1999. 1983. New York: ACM. [57] Wessberg J, Stambaugh CR, Kralik JD, Beck [75] Dave Roberts, Dick Berry, Scott Isensee & PD, Laubach M, Chapin JK, Kim J, Biggs SJ, John Mullaly, Designing for the User with Srinivasan MA, Nicolelis MA. (2000) Real-

ISSN: 1790-5109 200 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

OVID: User Interface Design and [98] Deborah Mayhew: The Usability Engineering Software Engineering MacMillan, 1998. Lifecycle - A Practitioner's Handbook for User [76] van Harmelen, M., ed. Object Modelling and Interface Design, Elsevier Books, ISBN 1- User Interface Design. 2001, Addison-Wesley: 55860-561-4 Reading, MA. [99] Y. y. Tang, P. S. P. Wang, P. C. Yuen: [77] Pawson, R., , Ph.D Thesis, Multimodal Interface for Human-Machine 2004, Trinity College, Dublin, Ireland. Communication, World Scientific Publishing, [78] Roel Vertegaal and Ivan Poupyrev, Organic ISBN 981-02-4594-7 User Interfaces: Introduction, Communications [100] Ian Horrocks: Constructing the User of the ACM 51(6), 26-30, June 2008. Interface with Statecharts, Addison-Wesley, [79] David Holman and Roel Vertegaal, Organic ISBN 0-201-34278-2 user interfaces: designing computers in any [101] Ian Horrocks (not the one at Oxford): way, shape, or form, Communications of the Constructing the User Interface with ACM 51(6), 26-30, June 2008. Statecharts, Addison-Wesley, ISBN 0-201- [80] Todd Bishop, Here comes Sphere: Microsoft 34278-2 debuts computing in round, July 29, 2008. [102] David Hu: Object-Oriented Environment in [81] Organic User Interfaces- Wikipedia, the free C++: A User-Friendly Interface, MIS: Press, encyclopedia ISBN 1-55828-014-6 [82] Soren Lauesen: User Interface Design, A [103] Constantine Stephanidis: User Interfaces for Software Engineering Perspective, Addison- All, Lea, ISBN 0-8058-2967-9 Wesley, ISBN 0-321-18143-3 [104] Jenny Le Peuple, Robert Scane: User [83] Ben Shneiderman, Catherine Plaisant: Interface Design, Crucial, ISBN 1-903337-19-4 Designing the User Interface: Strategies for [105] Dave Collins: Designing Object-Oriented Effective Human-Computer Interaction, User Interfaces, Benjamin Cummings, ISBN 0- Addison-Wesley, ISBN 0-321-26978-0 8053-5350-X [84] Jef Raskin: Humane Interface - The New [106] Susanne Bdker: Through the Interface: A Directions for Designing Interactive Systems, Human Activity Approach to User Interface Addison-Wesley, ISBN 0-201-37937-6 Design, Lawrence Erlbaum Associates, ISBN [85] Jennifer Preece, Yvonne Rogers, Helen Sharp: 0-8058-0570-2 Interaction Design, John Wiley & Sons, ISBN [107] Larry E. Wood: User Interface Design: 0-471-49278-7 Bridging the Gap from User Requirements to [86] Alan Dix, Janet Finlay, Gregory D. Abowd, Design, CRC Press, ISBN 0-8493-3125-0 Russell Beale: Human Computer Interaction, [108] Jane Carey: Human Factors in Information Prentice Hall, ISBN 0-13-046109-1 Systems: The Relationship Between User [87] Donald A. Norman: Emotional Design: Why Interface Design and Human Performance, We Love or Hate Everyday Things, Basic Intellect L & D E F a E, ISBN 1-56750-286-5 Books, ISBN 0-465-05135-9 [109] Ernest Edmonds: The Separable User [88] Donald A. Norman: The Design of Everyday Interface, Academic Press, ISBN 0-12-232150- Things, Basic Books, ISBN 0-465-06710-7 2 [89] Steve Krug: Don't Make Me Think, New [110] Carl Zetie: Practical User Interface Design: Riders Publishing, ISBN 0-7897-2310-7 Making Guis Work, McGraw-Hill Publishing, [90] Jesse James Garrett: The Elements of User ISBN 0-07-709167-1 Experience, New Riders Publishing, ISBN 0- [111] R. J. Torres: Practitioner's Handbook for 7357-1202-6 User Interface Design, Prentice Hall, ISBN 0- [91] Theo Mandel: The Elements of User Interface 13-091296-4 Design, John Wiley & Sons, ISBN 0-471- [112] Stuart K. Card, Jock Mackinlay, Ben 16267-1 Shneiderman: Readings in Information [92] Jeff Johnson: GUI Bloopers, Morgan Visualization: Using Vision to Think, Morgan Kaufmann Publishers, ISBN 1-55860-582-7 Kaufmann (Series in Interactive Technologies), [93] Jakob Nielsen: Usability Engineering, Morgan ISBN 1-55860-533-9 Kaufmann Publishers, ISBN 0-12-518406-9 [113] QSI Corporation: Operator Interface Buyer's [94] Jakob Nielsen: Coordinating User Interfaces Guide, QSI Corporation White Paper for Consistency, Morgan Kaufmann Publishers, [114] QSI Corporation: Rugged Operator Interface ISBN 1-55860-821-4 Terminals: Build Versus Buy, QSI Corporation [95] Joel Spolsky: User Interface Design for White Paper Programmers, Apress, ISBN 1-893115-94-1 [115] Torsten Stapelkamp: Screen- und [96] Lon Barfield: The User Interface: Concepts Interfacedesign. Springer Science and Design, Bosko Books, ISBN 0-9547239-0- Business+Media, Berlin 2007, ISBN 3-540- 2 32949-8 [97] Jeffrey Rubin: Handbook of Usability Testing: How to Plan, Design, and Conduct Effective Tests, John Wiley & Sons, ISBN 0-471-59403- 2

ISSN: 1790-5109 201 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

Table 1: Comparison between Web-Application & Client-Server Application

Client-ServerApplication Synchronous Web Application

Figure 1: a) Classic Client-Server Architecture Figure 1:b) Web Application Architecture

Figure 1-A illustrates how client As shown in figure 1-B ,The architecture of server applications are usually organized - Web Applications is somewhat different from that of each user has his own client which maintains a classic client-server applications. Fundamentally, they permanent connection to the server which all work by receiving requests made by users accessing maintains the state of each session by the application using a Web Browser, and producing allocating a for each client. The thread Web files (most often HTML Pages) which represent the embodies the state of the session [8,9]. answer to the requests received. The basic architecture is shown below. Issues related to web application architectures ] A Web Browser is used as the Application Client software. ] HTML is used by the application to interact with the user. ] A (or, more precisely, a piece of Web Server Software) acts as an intermediary between the Application Client and the . ] There is a many-to-one relationship between the number of Application Clients and the Web Server software; the Web Server acts as a multiplexer/demultiplexer, routing requests from multiple Application Clients to a single Application Server and the corresponding responses back the other way, making sure that requests and responses

ISSN: 1790-5109 202 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

match up correctly [8,9] Asynchronous WebApplication

Figure 1: C) Synchronous Web Application Architecture vs. AJAX Architecture

As shown in figure 1-C ,The core idea behind AJAX is to make the communication with the server asynchronous, so that data is transferred and processed in the background. As a result the user can continue working on the other parts of the page without interruption. In an AJAX- enabled application only the relevant page elements are updated, only when this is necessary [10,11,12,13].

Table 2 Basic web application technologies [1,2,3,4,5,6,16,20,21]

UI Publication Development Development Runtime Short Description License language date (Creator ) environment environment

(Binary XML) is an straightforward, open, patent- unencumbered binary-encoding format for XML data that is a stand-alone work- BXML alike Text editor / / 2003 Backbase LGPL BPC AJAX drop-in replacement for an XML Visual Studio file that mirrors the XML markup structures in a way that is similar to the in- memory representations of many parser libraries.[3] Is an object-oriented programming language designed to replace Curl Not HTML, JavaScript, and related 1990s David A. Kranz text editor Curl RTE Commercial tools as a means for creating interactive Web pages. GladeXML Graphical user April 1998 GNOME LGPL Glade GTK+

ISSN: 1790-5109 203 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

Gul2/Xul A free XUL interpreter Not required (e.g. text November 2005 redsofa GPL PHP-GTK 2 editor) Open source platform for rich Flash Player 5 Internet applications Not required (e.g. text or above, LZX July 2003 Laszlo Systems CPL editor, Eclipse IDE DHTML,

available) JavaME announced MXML XML-basedintroduced by Adobe Flex or free Flex Flash Player 9 March 2004 Adobe MPL Macromedia 3 SDK or above Is a engine that renders Internet QuiX rich UIs defined in XML and Explorer, June 2005 inno:script Commercial Quill UI Designer "runs" on the latest builds of based Mozilla and Internet Explorer 6.0. browsers Scalable Vector Graphics An XML Internet SVG markup language for describing World Wide Web W3C Not required (e.g. text Explorer, 1999 two-dimensional vector graphics, Consortium License editor) Mozilla based both static and animated browsers Basically UIML tries to reduce the work needed to develop user UIML interfaces. It allows you to describe December 1997 OASIS GNU Vary Vary

the user interface in declarative terms (i.e. as text) and abstract it. XML markup language used to Internet WasabiXM Isn't define the graphical interface in Not required (e.g. text Explorer, L 2002-2003 Nullsoft restricted by Wasabi applications. editor) Mozilla based GNU browsers is a declarative XML-based .NET language used to initialize Framework 3.0 structured values and objects Not required (e.g. text (formerly editor), Microsoft WinFX), XAML Expression Blend, XBAPs for March 2005 Microsoft Commercial Microsoft Expression WPF and Design, Visual Studio plugins for 2008, Vectropy Silverlight in internet browsers The XML-based resource system, known as XRC, allows user Not required (e.g. text wxWindows XRC interface elements such as dialogs, editor), wxGlade, 1998 wxWidgets Library Vary bars and , to be XRCed, wxDesigner, Licence stored in text files and loaded into DialogBlocks the application at run-time. Is an XML user interface markup -based XUL language developed by the Mozilla Mozilla GPL / LGPL Not required (e.g. text applications December 1998 project for use in its cross-platform Foundation / MPL editor) ECMAScript, applications, such as Firefox. C++ eXtensible Application Language Java JRE 1.1 Not required (e.g. text XAL and up / January 2000 Nexaweb Commercial editor, Eclipse IDE MSJVM, available) DHTML XML format for the specification Many- many of a data processing model and user implementation XForms interface(s) for the web forms. March 14th World Wide Web W3C Not required (e.g. text s in browsers, 2006 Consortium License editor) plug-ins, extensions and servers Extensible Forms Description UWI.Com's XFDL UWI.Com and W3C Language 1998 InternetForms Tim Bray\ License Viewer ZUML ZK markup language for rich user ZK Ajax November 2005 Potix GPL text editor or Eclipse interface definition Framework

ISSN: 1790-5109 204 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

Appendix A:

Table 3: Frameworks Features comparison [14,15]

Language MVC MVC i18n & Project Ajax ORM /Technology framework Push/Pull l10n? Ajile JavaScript Yes Yes Push & Pull Yes Akelos PHP Yes, Prototype, Yes, Active PHP Push Yes Yes, Framework script.aculo.us record pattern Apache Struts Java Yes Push Yes Yes Java Yes Push & Pull Yes Yes (ex. WebWork) Aranea MVC Java Yes Pull Yes Yes BarracudaDrive Yes and JSON- Yes,Limite Lua Yes Push & Pull Yes,Limited LSP RPC d Yes, but not Yes, through active data BFC .NET Yes Push & Pull Yes mandatory dictionary Yes, Yes, Prototype, Yes, Active CakePHP PHP Push Developme Yes, Active record pattern script.aculo.us record pattern nt branch Ruby No Yes Push No Yes, Active record pattern Push in its Yes, multiple most Yes, multiple Perl (Prototype, Yes Yes common (DBIx::Class, Rose::DB...) Dojo...) usage CherryPy Python Yes Yes, integrates with Click Framework Java Yes Yes Pull Yes and Cayenne Yes, Modified Yes, Framework CodeIgniter PHP Active record Push Yes Yes, framework extension extension pattern Push & Pull ColdBox Yes, various ColdFusion Yes (via Yes Yes, Transfer & Reactor Framework libraries Viewlets) Yes, ORM, Django Python Yes Yes Push Yes SQLAlchemy Yes, SubSonic, DotNetNuke .NET Yes No Pull Yes NHibernate PHP Yes, jQuery Yes No eZ Components PHP No Yes Yes Actionscript, Flex No MXML Yes, FUSE PHP Yes Yes Push Yes custom Yes, but not Yes, via lexicons for ColdFusion, PHP Yes Push No, custom mandatory Transfer and Reactor Active record Groovy Yes Push Yes Yes, GORM, Hibernate pattern Yes, OODBMS called (web Python Yes, Yes Pull Yes ZODB, SQLAlchemy, framework) JBoss Seam Java Yes Pull Yes Yes, JPA, Hibernate jZeno Java Yes Yes Pull No, custom Yes Hibernate PHP Yes Push Yes Yes, framework extension Scala Yes Yes Yes Yes Yes, via Yes, via CF or any Yes Transfer, Reactor, Mach-II ColdFusion Yes Push custom JavaScript Library Hibernate plugin

ISSN: 1790-5109 205 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

Active record MonoRail .NET Yes, Prototype Push Yes Yes, Active record pattern pattern Nitro Ruby Yes, jQuery Yes Push Yes Yes, Og Yes, native features + Yes, but not onTap ColdFusion Push Yes Yes Prototype + mandatory script.aculo.us Yes, Model Yes, JPA, Hibernate and OpenXava Java No Yes Driven EJB2 CMP Yes, optional Active Yes, Ajax Push and No, roll Pal PHP5 Yes record pattern, arbitrary Components Pull your own SQL Yes, Active Yes, Active record pattern, PRADO PHP5 Yes Push Yes Controls SQLMap Yes, helpers for Yes, SQLObject, Pylons Python Prototype and Yes Push Yes SQLAlchemy script.aculo.us Yes, Code Generation- PHP5 Yes, built-in Yes, QControl Push Yes based RIFE Java Yes, DWR (Java) Yes Push & Pull Yes Yes Yes, Yes, Yes, Prototype, Ruby ActiveRecord, Push Localizatio Yes, ActiveRecord script.aculo.us Action Pack n Plug-in Yes, Prototype, Yes, GLORP, Smalltalk Yes script.aculo.us, ... /S, ... SilverStripe/Sapph Yes, Prototype, Yes, Active PHP 5.2+ Push & Pull Yes Yes, Active record pattern ire script.aculo.us record pattern Java Yes Yes Yes hibernate, iBatis, etc Java Yes Yes Push Yes Yes, Hibernate Yes, Prototype, script.aculo.us, PHP5 Unobtrusive Ajax Yes Push Yes Yes, Propel, Doctrine with UJS and PJS plugins Yes, integrated with Tapestry Java Yes Yes Pull Yes Hibernate(tapestry- hibernate module) Yes, it is mostly Yes, Active Tigermouse PHP5 Ajax-only Push Yes Yes, Active record pattern record pattern framework Yes, SQLObject, TurboGears Python Yes, MochiKit Yes Push Yes SQLAlchemy Python Yes Yes Push Yes Yes WebObjects Java Yes Yes Push & Pull Yes Yes, EOF Modular event Wicket Java Yes Push Yes Yes driven Yes it is mostly Widgetplus JavaScript Ajax-only Yes Push & Pull Yes No, framework Yes, various Yes, Table and Row data Zend Framework PHP5 (>=5.1.4) Yes Push Yes libraries gateway Yes, any ORM Yes, 170+ Ajax ZK Framework Java Yes Push & Pull Yes frameworks, such as components Hibernate, TopLink Yes, native OODBMS Zope2 Python Yes Pull Yes called ZODB, SQLObject, SQLAlchemy Yes, via add-on Yes, native OODBMS Zope3 Python products, e.g. Yes Pull Yes called ZODB, SQLObject, Plone w/KSS SQLAlchemy Push, Yes, integrates Yes, Java jdk 1.5 or multiple Yes, use any J2EE ORM ztemplates YUI, Google etc. Yes standard newer actions per framework with annotations Java url Lion Framework PHP Yes Yes Yes Push & Yes No

ISSN: 1790-5109 206 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

Pull

Table 4: Frameworks Features comparison (cont) [14,15].

Ajile Yes, jsUnit Yes Yes Akelos PHP Yes, Unit Yes Yes Yes Yes Framewor Tests k Yes, Jakarta Yes, Jakarta Apache Yes, Unit Tiles Validator Struts Tests framework framework Apache Struts 2 Yes, Unit (ex. Yes Yes Tests WebWork ) Aranea

MVC Yes, Yes, See Barracuda Yes ACL- Yes CMS for Yes, Limited Drive LSP based demo Yes, SQL Server, Yes, Yes, Yes, data Yes, Unit Oracle, security BFC Yes metadata and dictionary- Tests DB2, groups result sets driven Sybase, and rules MySQL Yes, Yes, Yes, Unit CakePHP Yes ACL- Yes Development Yes Tests based branch Yes, via Camping Yes No Yes No No Mosquito Yes, Yes, multiple multiple Yes, multiple (Template:: Yes, multiple (ACL- (, Toolkit, (HTML::For Catalyst Yes based, TurckMM, HTML::Te mValidator,... external shared mplate, ) engines... memory,...) HTML::Ma ) son...) No, because unittest and Yes, doctest are CherryPy CherryTem Yes standard plate Python modules Click Yes, Yes, built-in Framewor Velocity validation k and JSP CodeIgnit Yes, Unit No Yes Yes Yes Yes er Tests Yes, via Yes ColdBox ColdBox plugins Cache Yes, Unit Framewor No or Manager and Yes Tests k intercept externally ors pluggable. Django Yes No Yes, Yes Yes Yes

ISSN: 1790-5109 207 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

ACL- based Yes, ACL- based, (OpenID, LiveID, Active Yes, DotNetNu Yes, Unit Director Yes, ASP.NET Yes Yes ke Tests y, Pluggable Validators, LDAP, built-in API CardSpa ce, ASP.NE T Forms Auth) Yes, multiple (OG, Yes, Node multiple Yes, multiple Yes, Yes, Privacy (PHPTempl (builtin, Yes, Form Drupal simpletest, Schema By Role, ate, Smarty, memcache, API devel API ACL, XTemplate, APC) Taxono others) my Access List) eZ Compone Yes Yes Yes Yes Yes Yes nts Flex Yes,FlexUnit Yes, FUSE Yes Yes Yes Yes SimpleTest Yes, Yes, via Yes, via Yes, CFUnit, multiple qforms or Fusebox lexicon for CFCUnit plugins built in cf ColdSpring available validation Grails Yes, Unit Test No Yes Yes Yes Yes Yes, Unit Yes, Grok (web Tests, ZODB framewor Yes Yes Yes Yes Functional Generatio k) Tests ns Yes, Yes, JBoss Yes, JUnit, JAAS Yes, Hibernate Seam TestNG integrati Facelets Validator on Yes, Yes, Yes, JUnit, jZeno role- Composite Yes Yes TestNG based Pattern Yes, File and Yes, unit_test SQLite Kohana Yes module Driver based caches Lift Yes, CFUnit, Yes, via Yes, Mach-II CFCUnit plugin ColdSpring Yes, via Yes, Unit ASP.NE MonoRail Yes Yes Yes Tests T Forms Authenti

ISSN: 1790-5109 208 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

cation Yes Nitro Yes, RSpec (automati Yes Yes Yes Yes c) has potential - Yes, Yes, CFUnit, supports Members Yes, client + onTap Yes Yes CFCUnit multiple onTap server db Plugin platforms Yes, uses UI is Yes, Yes, uses JSR-168 automatical OpenXava Yes, JUnit Hibernate portal and Yes portal ly tools JPA caching security generated Yes, allows Yes, via both Yes, built-in No, still not plugins Yes, via Pal memcache extensible completed and plugins and caching validation filters pages Yes, Yes, PHPUnit, modular SimpleTest, PRADO and role- Yes Yes Yes Selenium based (software) ACL Yes, Yes, Beaker pluggable cache (mako, (memory, Yes, preferred Pylons Yes, via nose genshi, memcached, formencode myghty, file, kid, ...) databases) Yes, Qcodo Inherent QForm and Yes Yes QControl Yes, Yes, Out of Integration RIFE container Yes Yes Yes with testing Terracotta Yes, Unit Tests, Ruby on Functional Yes, Yes Yes Yes Yes Rails Tests and Plug-in Integration Tests No, Yes, Unit Seaside intentionall Yes, Magritte Tests, SUnit y Yes SilverStrip Yes, Unit Yes incl. Yes (object (Automati Yes Yes e/Sapphire Tests OpenID oriented) c) Spring Commons Yes, Commons Framewor Tiles, Acegi Validator k velocity etc Yes, framewo Stripes Yes rk Yes Yes extensio n Plugin Yes, Symfony Yes exists Yes Yes Yes plugin (alpha

ISSN: 1790-5109 209 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

code, though) Yes, Yes, great tapestry5 built-in Tapestry Yes -acegi validation library system

Yes, No, through Multiple intercepti Tigermous RBMSes ng filters No Yes No Yes e and access (ACL- libraries based, supported customiz able) Yes, pluggabl e Yes, Yes, authentic pluggable: TurboGears ation Kid, TurboGea widgets, Yes, nose No providers Genshi, any No rs ToscaWidgets , user- Buffet- , both utilizing >group<- compatible FormEncode permissi engine ons schema web2py Yes Yes Yes Yes Yes Yes

Yes, WOUnit Yes, in (JUnit), WebObjec Project TestNG, Yes Yes Yes ts WONDE Selenium R (software)

Wicket Yes Yes Yes Yes

Widgetplu Yes, No, Yes Yes Yes Yes s

Zend Yes, Yes, Unit Framewor Yes ACL- Yes Yes Yes Tests k based Yes, Yes, Unit Yes, Yes, DSP, constraint, ZK Tests, plugin, Velocity, event Framewor Yes Functional like JSP, others validation, k Tests Acegi pluggable others pluggable Yes, Yes, Yes, Unit Zope2 ACL- Yes Yes CMFFormCo Tests based ntroller Yes, Unit Yes, Yes, Tests, ZODB Zope3 ACL- Yes Yes Yes Functional generation based Tests s Yes, Yes, Yes, Unit Velocity, Yes, ztemplates annotatio Tests JSP, others ZProperty n based pluggable Lion Framewor Yes No Yes Yes Yes Yes k

ISSN: 1790-5109 210 ISBN: 978-960-474-161-8 RECENT ADVANCES in BUSINESS ADMINISTRATION

Appendix B: Abbreviations & Acronyms Abbreviations Acronyms AGPL The GNU Affero General Public License ACL Access Control List AJAX Asynchronous JavaScript And XML ASP Avg Aint's Vector Graphics BSD Berkeley Software Distribution BeOS e B Inc BXML Backbase eXtensible Mark-up Language CGI CSS Cascading Style Sheets CLI Command Line Interface Dlls Dynamically Loadable Libraries DHTML Dynamic HTML GEOS Graphic Environment Operating System GPL General Public License GUI Graphical User Interface Html Hyper Text Markup Language Http Hyper Text Transfere Protocol IIS Internet Information Services i18n 18 of letters between the i and the n in LGPL Lesser General Public License L10N 1 0 letters between the "l" and the "n" in localization MXML XML-basedintroduced by Macromedia MathML Mathmatical Markup Language MIT Massachusetts Institute of Technology MVC Model-View-Controller NeWS Network Extensible System NLS n O -Line System OPL Open Publication License OS Operating Systems ORM Object Role Modeling PD Permitted Development PHP P PH Hypertext Preprocessor SDL Service Description Language SVG Scalable Vector Graphics UI User Interface UIML User Interface Markup Language URL Universal Resource Locator VBScript Script WMLScript WebML Web Markup Language for GIS applications WasabiXML XML markup language used to define the graphical interface in Wasabi applications XAL eXtensible Application Language XAML Extensible Application Markup Language XFDL Extensible Forms Description Language XForms ML X format for the specification of a data processing XHTML EXtensible HyperText Markup Language Xml Extensible Markup Language XRC XML Resource XUL XML User Interface Language ZUML ZK Markup Language for rich User Interface ZPL Public License

ISSN: 1790-5109 211 ISBN: 978-960-474-161-8