A cookbook for using the model-view controller user interface paradigm in Smalltalk-80
Journal of Object-Oriented Programming
Communications of the ACM
Foundations for the study of software architecture
ACM SIGSOFT Software Engineering Notes
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
A Component- and Message-Based Architectural Style for GUI Software
IEEE Transactions on Software Engineering - Special issue: best papers of the 17th International Conference on Software Engineering (ICSE-17)
A framework for event-based software integration
ACM Transactions on Software Engineering and Methodology (TOSEM)
Designing distributed applications with mobile code paradigms
ICSE '97 Proceedings of the 19th international conference on Software engineering
Potential benefits of delta encoding and data compression for HTTP
SIGCOMM '97 Proceedings of the ACM SIGCOMM '97 conference on Applications, technologies, architectures, and protocols for computer communication
A design framework for Internet-scale event observation and notification
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
Object-oriented client/server Internet environments
Object-oriented client/server Internet environments
“Data in your face”: push technology in perspective
SIGMOD '98 Proceedings of the 1998 ACM SIGMOD international conference on Management of data
IEEE Transactions on Software Engineering
A component and communication model for push systems
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
TIGRA — an architectural style for enterprise application integration
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Principled design of the modern Web architecture
ACM Transactions on Internet Technology (TOIT)
Adaptive Push-Pull: Disseminating Dynamic Web Data
IEEE Transactions on Computers
Documenting Software Architectures: Views and Beyond
Documenting Software Architectures: Views and Beyond
Quality Attributes of Web Software Applications
IEEE Software
Aura: an Architectural Framework for User Mobility in Ubiquitous Computing Environments
WICSA 3 Proceedings of the IFIP 17th World Computer Congress - TC2 Stream / 3rd IEEE/IFIP Conference on Software Architecture: System Design, Development and Maintenance
Software Architecture in Practice
Software Architecture in Practice
An empirical study of the effects of interactivity on web user attitude
International Journal of Human-Computer Studies
Style-Based Reuse for Software Architectures
ICSR '96 Proceedings of the 4th International Conference on Software Reuse
The many faces of publish/subscribe
ACM Computing Surveys (CSUR)
Architectural styles and the design of network-based software architectures
Architectural styles and the design of network-based software architectures
Extending the Representational State Transfer (REST) Architectural Style for Decentralized Systems
Proceedings of the 26th International Conference on Software Engineering
PACE: An Architectural Style for Trust Management in Decentralized Applications
WICSA '04 Proceedings of the Fourth Working IEEE/IFIP Conference on Software Architecture
Basic Concepts and Taxonomy of Dependable and Secure Computing
IEEE Transactions on Dependable and Secure Computing
Evaluation of ESI and class-based delta encoding
Web content caching and distribution
A fragment-based approach for efficiently creating dynamic web content
ACM Transactions on Internet Technology (TOIT)
International Journal of Communication Systems
Ajax in Action
Foundations of Ajax
Migrating Multi-page Web Applications to Single-page AJAX Interfaces
CSMR '07 Proceedings of the 11th European Conference on Software Maintenance and Reengineering
An Architectural Style for Ajax
WICSA '07 Proceedings of the Sixth Working IEEE/IFIP Conference on Software Architecture
From representations to computations: the evolution of web architectures
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
A Comparison of Push and Pull Techniques for AJAX
WSE '07 Proceedings of the 2007 9th IEEE International Workshop on Web Site Evolution
Accelerating dynamic web content delivery using keyword-based fragment detection
Journal of Web Engineering
Invariant-based automatic testing of AJAX user interfaces
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Automated security testing of web widget interactions
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Research Issues in the Automated Testing of Ajax Applications
SOFSEM '10 Proceedings of the 36th Conference on Current Trends in Theory and Practice of Computer Science
FireDetective: understanding ajax client/server interactions
Proceedings of the 33rd International Conference on Software Engineering
Performance testing of data delivery techniques for AJAX applications
Journal of Web Engineering
Crawling Ajax-Based Web Applications through Dynamic Analysis of User Interface State Changes
ACM Transactions on the Web (TWEB)
Understanding Ajax applications by connecting client and server-side execution traces
Empirical Software Engineering
Performance Evaluation of a Modern Web Architecture
International Journal of Information Technology and Web Engineering
A model-driven approach to develop high performance web applications
Journal of Systems and Software
Hi-index | 0.02 |
A new breed of web application, dubbed ajax, is emerging in response to a limited degree of interactivity in large-grain stateless Web interactions. At the heart of this new approach lies a single page interaction model that facilitates rich interactivity. Also push-based solutions from the distributed systems are being adopted on the web for ajax applications. The field is, however, characterized by the lack of a coherent and precisely described set of architectural concepts. As a consequence, it is rather difficult to understand, assess, and compare the existing approaches. We have studied and experimented with several ajax frameworks trying to understand their architectural properties. In this paper, we summarize four of these frameworks and examine their properties and introduce the spiar architectural style which captures the essence of ajax applications. We describe the guiding software engineering principles and the constraints chosen to induce the desired properties. The style emphasizes user interface component development, intermediary delta-communication between client/server components, and push-based event notification of state changes through the components, to improve a number of properties such as user interactivity, user-perceived latency, data coherence, and ease of development. In addition, we use the concepts and principles to discuss various open issues in ajax frameworks and application development.