SlideShare a Scribd company logo
Frameworks Methodologies And Tools For
Developing Rich Internet Applications 1st
Edition Giner Alorhernndez download
https://ebookbell.com/product/frameworks-methodologies-and-tools-
for-developing-rich-internet-applications-1st-edition-giner-
alorhernndez-4982900
Explore and download more ebooks at ebookbell.com
Here are some recommended products that we believe you will be
interested in. You can click the link to download.
Data Science And Big Data Computing Frameworks And Methodologies 1st
Edition Zaigham Mahmood Eds
https://ebookbell.com/product/data-science-and-big-data-computing-
frameworks-and-methodologies-1st-edition-zaigham-mahmood-eds-5605644
Synthesis Of Embedded Software Frameworks And Methodologies For
Correctness By Construction 1st Edition Loc Besnard
https://ebookbell.com/product/synthesis-of-embedded-software-
frameworks-and-methodologies-for-correctness-by-construction-1st-
edition-loc-besnard-1696346
The Handbook Of Cognition And Assessment Frameworks Methodologies And
Applications Jacqueline P Leighton
https://ebookbell.com/product/the-handbook-of-cognition-and-
assessment-frameworks-methodologies-and-applications-jacqueline-p-
leighton-5699954
Marine Biodiversity And Ecosystem Functioning Frameworks Methodologies
And Integration 1st Edition Martin Solan
https://ebookbell.com/product/marine-biodiversity-and-ecosystem-
functioning-frameworks-methodologies-and-integration-1st-edition-
martin-solan-6638926
Blockchain Technology In Healthcare Concepts Methodologies And
Applications Applied Artificial Intelligence In Data Science Cloud
Computing And Iot Frameworks Kamila
https://ebookbell.com/product/blockchain-technology-in-healthcare-
concepts-methodologies-and-applications-applied-artificial-
intelligence-in-data-science-cloud-computing-and-iot-frameworks-
kamila-54979184
Agentoriented Software Engineering Reflections On Architectures
Methodologies Languages And Frameworks 1st Edition Onn Shehory
https://ebookbell.com/product/agentoriented-software-engineering-
reflections-on-architectures-methodologies-languages-and-
frameworks-1st-edition-onn-shehory-4697612
Methodologies And Application Issues Of Contemporary Computing
Framework 1st Ed Jyotsna Kumar Mandal
https://ebookbell.com/product/methodologies-and-application-issues-of-
contemporary-computing-framework-1st-ed-jyotsna-kumar-mandal-7328804
Frameworks For Advanced Nursing Practice And Research Philosophies
Theories Models And Taxonomies Rose Utley
https://ebookbell.com/product/frameworks-for-advanced-nursing-
practice-and-research-philosophies-theories-models-and-taxonomies-
rose-utley-46466780
Frameworks Tensegrities And Symmetry Robert Connelly Simon D Guest
https://ebookbell.com/product/frameworks-tensegrities-and-symmetry-
robert-connelly-simon-d-guest-46871200
Frameworks Methodologies And Tools For Developing Rich Internet Applications 1st Edition Giner Alorhernndez
Frameworks Methodologies And Tools For Developing Rich Internet Applications 1st Edition Giner Alorhernndez
Frameworks,
Methodologies, and
Tools for Developing Rich
Internet Applications
Giner Alor-Hernández
Instituto Tecnológico de Orizaba, Mexico
Viviana Yarel Rosales-Morales
Instituto Tecnológico de Orizaba, Mexico
Luis Omar Colombo-Mendoza
Instituto Tecnológico de Orizaba, Mexico
A volume in the Advances in Web Technologies
and Engineering (AWTE) Book Series
Published in the United States of America by
Information Science Reference (an imprint of IGI Global)
701 E. Chocolate Avenue
Hershey PA, USA 17033
Tel: 717-533-8845
Fax: 717-533-8661
E-mail: cust@igi-global.com
Web site: http://www.igi-global.com
Copyright © 2015 by IGI Global. All rights reserved. No part of this publication may be reproduced, stored or distributed in
any form or by any means, electronic or mechanical, including photocopying, without written permission from the publisher.
Product or company names used in this set are for identification purposes only. Inclusion of the names of the products or
companies does not indicate a claim of ownership by IGI Global of the trademark or registered trademark.
			 Library of Congress Cataloging-in-Publication Data
British Cataloguing in Publication Data
A Cataloguing in Publication record for this book is available from the British Library.
All work contributed to this book is new, previously-unpublished material. The views expressed in this book are those of the
authors, but not necessarily of the publisher.
For electronic access to this publication, please contact: eresources@igi-global.com.
		 Library of Congress Cataloging-in-Publication Data
Alor-Hernandez, Giner, 1977-
Frameworks, methodologies, and tools for developing rich Internet applications / by Giner Alor-Hernandez, Viviana Yarel
Rosales-Morales, and Luis Omar Colombo-Mendoza.
pages cm
Includes bibliographical references and index.
ISBN 978-1-4666-6437-1 (hardcover) -- ISBN 978-1-4666-6438-8 (ebook) -- ISBN 978-1-4666-6440-1 (print  per-
petual access) 1. Internet programming. 2. Web applications. 3. Web site development. 4. JavaScript (Computer program
language) 5. Application software--Development. 6. Software frameworks. I. Rosales-Morales, Viviana Yarel, 1986- II.
Colombo-Mendoza,
Luis Omar, 1987- III. Title.
QA76.625.A44 2015
006.7--dc23
2014026479
This book is published in the IGI Global book series Advances in Web Technologies and Engineering (AWTE) (ISSN:
Pending; eISSN: pending)
Managing Director:
Acquisitions Editor:
Production Editor:
Development Editor:
Typesetter:
Cover Design:
Lindsay Johnston
Kayla Wolfe
Christina Henning
Haley Kang
Michael Brehm
Jason Mull
The Advances in Web Technologies and Engineering (AWTE) Book Series (ISSN Pending) is published by IGI Global, 701 E. Chocolate
Avenue, Hershey, PA 17033-1240, USA, www.igi-global.com. This series is composed of titles available for purchase individually; each title
is edited to be contextually exclusive from any other title within the series. For pricing and ordering information please visit http://www.igi-
global.com/book-series/advances-web-technologies-engineering/37158. Postmaster: Send all address changes to above address. Copyright ©
2015 IGI Global. All rights, including translation in other languages reserved by the publisher. No part of this series may be reproduced or
used in any form or by any means – graphics, electronic, or mechanical, including photocopying, recording, taping, or information and retrieval
systems – without written permission from the publisher, except for non commercial, educational use, including classroom teaching purposes.
The views expressed in this series are those of the authors, but not necessarily of IGI Global.
IGI Global is currently accepting manuscripts
for publication within this series. To submit a pro-
posal for a volume in this series, please contact our
AcquisitionEditorsatAcquisitions@igi-global.com
or visit: http://www.igi-global.com/publish/.
• Knowledge Structure, Classification, and Search Algorithms or
Engines
• Quality Of Service and Service Level Agreement Issues Among
Integrated Systems
• Integrated User Profile, Provisioning, and Context-Based
Processing
• Radio Frequency Identification (RFID) Research and Applications
in Web Engineered Systems
• Data and Knowledge Capture and Quality Issues
• IT Readiness and Technology Transfer Studies
• Case Studies Validating Web-Based IT Solutions
• Virtual Teams and Virtual Enterprises: Communication, Policies,
Operation, Creativity, and Innovation
• Data Analytics for Business and Government Organizations
• Human Factors and Cultural Impact of IT-Based Systems
Coverage
The Advances in Web Technologies and Engineering (AWTE) Book Series aims to provide a platform
for research in the area of Information Technology (IT) concepts, tools, methodologies, and ethnography,
in the contexts of global communication systems and Web engineered applications. Organizations are
continuously overwhelmed by a variety of new information technologies, many are Web based. These
new technologies are capitalizing on the widespread use of network and communication technologies
for seamless integration of various issues in information and knowledge sharing within and among
organizations. This emphasis on integrated approaches is unique to this book series and dictates cross
platform and multidisciplinary strategy to research and practice.
The Advances in Web Technologies and Engineering (AWTE) Book Series seeks to create a stage
where comprehensive publications are distributed for the objective of bettering and expanding the field of
web systems, knowledge capture, and communication technologies. The series will provide researchers
and practitioners with solutions for improving how technology is utilized for the purpose of a growing
awareness of the importance of web applications and engineering.
Mission
ISSN: Pending
EISSN: Pending
Ghazi I. Alkhatib
Princess Sumaya University for Technology, Jordan
David C. Rine
George Mason University, USA
Advances in Web Technologies
and Engineering (AWTE) Book
Series
Titles in this Series
For a list of additional titles in this series, please visit: www.igi-global.com
Handbook of Research on Demand-Driven Web Services Theory, Technologies, and Applications
Zhaohao Sun (University of Ballarat, Australia  Hebei Normal University, China) and John Yearwood (Federa-
tion University, Australia)
Information Science Reference • copyright 2014 • 474pp • H/C (ISBN: 9781466658844) • US $325.00 (our price)
Evaluating Websites and Web Services Interdisciplinary Perspectives on User Satisfaction
Denis Yannacopoulos (Technological Educational Institute of Piraeus, Greece) Panagiotis Manolitzas (Technical
University of Crete, Greece) Nikolaos Matsatsinis (Technical University of Crete, Greece) and Evangelos Grigor-
oudis (Technical University of Crete, Greece)
Information Science Reference • copyright 2014 • 354pp • H/C (ISBN: 9781466651296) • US $215.00 (our price)
Solutions for Sustaining Scalability in Internet Growth
Mohamed Boucadair (France Telecom-Orange Labs, France) and David Binet (France Telecom, France)
Information Science Reference • copyright 2014 • 288pp • H/C (ISBN: 9781466643055) • US $190.00 (our price)
Adaptive Web Services for Modular and Reusable Software Development Tactics and Solutions
Guadalupe Ortiz (University of Cádiz, Spain) and Javier Cubo (University of Málaga, Spain)
Information Science Reference • copyright 2013 • 415pp • H/C (ISBN: 9781466620896) • US $195.00 (our price)
Public Service, Governance and Web 2.0 Technologies Future Trends in Social Media
Ed Downey (State University of New York, College at Brockport, USA) and Matthew A. Jones (Portland State
University, USA)
Information Science Reference • copyright 2012 • 369pp • H/C (ISBN: 9781466600713) • US $190.00 (our price)
Performance and Dependability in Service Computing Concepts, Techniques and Research Directions
Valeria Cardellini (Universita di Roma, Italy) Emiliano Casalicchio (Universita di Roma, Italy) Kalinka Regina
Lucas Jaquie Castelo Branco (Universidade de São Paulo, Brazil) Júlio Cezar Estrella (Universidade de São Paulo,
Brazil) and Francisco José Monaco (Universidade de São Paulo, Brazil)
Information Science Reference • copyright 2012 • 477pp • H/C (ISBN: 9781609607944) • US $195.00 (our price)
E-Activity and Intelligent Web Construction Effects of Social Design
Tokuro Matsuo (Yamagata University, Japan) and Takayuki Fujimoto (Toyo University, Japan)
Information Science Reference • copyright 2011 • 284pp • H/C (ISBN: 9781615208715) • US $180.00 (our price)
701 E. Chocolate Ave., Hershey, PA 17033
Order online at www.igi-global.com or call 717-533-8845 x100
To place a standing order for titles released in this series, contact: cust@igi-global.com
Mon-Fri 8:00 am - 5:00 pm (est) or fax 24 hours a day 717-533-8661
Table of Contents
Preface.
...................................................................................................................................................ix
Acknowledgment...............................................................................................................................xviii
Chapter 1
Basic Concepts on RIAs.......................................................................................................................... 1
1. INTRODUCTION..........................................................................................................................................................1
2. BASIC CONCEPTS.
.......................................................................................................................................................2
3. MAIN CROSS-DOMAINS BENEFITS OF RIAS........................................................................................................5
4. SUCCESSFUL STORIES ON RIAS DEVELOPMENT...............................................................................................9
5. CONCLUSION.............................................................................................................................................................14
Chapter 2
Frameworks for RIAs Development...................................................................................................... 17
1. INTRODUCTION........................................................................................................................................................17
2. FRAMEWORKS FOR RIAS DEVELOPMENT.........................................................................................................17
3. CONCLUSION.............................................................................................................................................................33
Chapter 3
Software Development Methodologies for Traditional Web Applications and RIAs.
........................... 36
1. INTRODUCTION........................................................................................................................................................36
2. SOFTWARE DEVELOPMENT METHODOLOGIES FOR TRADITIONAL WEB APPLICATIONS.
...................37
3. SOFTWARE DEVELOPMENT METHODOLOGIES FOR RIAS.
............................................................................44
4. CONCLUSION.............................................................................................................................................................55
Chapter 4
Important Factors on RIAs Development.............................................................................................. 59
1. INTRODUCTION........................................................................................................................................................59
2. MULTIMEDIA SUPPORT ON RIAS.
.........................................................................................................................60
3. ASPECT-ORIENTED PROGRAMMING (AOP) SUPPORT ON RIAS....................................................................64
4. DESIGN PATTERNS SUPPORT ON RIAS.
...............................................................................................................67
5. USER INTERFACE DESIGN PATTERN (UI PATTERN) SUPPORT ON RIAS.
.....................................................69
6. CONCLUSION.............................................................................................................................................................72
Chapter 5
Multimedia Support for Native/Embedded Video Playback on Frameworks for RIAs .
Development.......................................................................................................................................... 76
1. INTRODUCTION........................................................................................................................................................76
2. MULTIMEDIA SUPPORT INTO JAVASCRIPT-BASED FRAMEWORKS.............................................................77
3. MULTIMEDIA SUPPORT INTO NON-JAVASCRIPT-BASED FRAMEWORKS...................................................89
4. CONCLUSION.............................................................................................................................................................99
Chapter 6
Aspect-Oriented Programming (AOP) Support on RIAs Development.............................................. 102
1. INTRODUCTION......................................................................................................................................................102
2. RESEARCH WORKS ON WEB ENGINEERING WITH AOP SUPPORT.............................................................104
3. AOP SUPPORT ON JAVASCRIPT-BASED FRAMEWORKS................................................................................108
4. AOP SUPPORT ON NON-JAVASCRIPT-BASED FRAMEWORKS......................................................................114
5. CONCLUSION...........................................................................................................................................................115
Chapter 7
Design Patterns Support for RIAs Development................................................................................. 118
1. INTRODUCTION......................................................................................................................................................118
2. DESIGN PATTERNS.................................................................................................................................................119
3. DESIGN PATTERNS SUPPORT INTO JAVASCRIPT-BASED FRAMEWORKS.................................................129
4. DESIGN PATTERNS SUPPORT INTO NON-JAVASCRIPT-BASED FRAMEWORKS.......................................136
5. CONCLUSION...........................................................................................................................................................138
Chapter 8
UI Patterns Support on RIAs Development......................................................................................... 140
1. INTRODUCTION......................................................................................................................................................140
2. UI PATTERNS SUPPORT INTO JAVASCRIPT-BASED FRAMEWORKS...........................................................142
3. UI PATTERNS SUPPORT INTO NON-JAVASCRIPT-BASED FRAMEWORKS.................................................164
4. CONCLUSION...........................................................................................................................................................187
Chapter 9
Case Studies Using JavaScript-Based Frameworks............................................................................. 189
1. INTRODUCTION......................................................................................................................................................189
2. DEVELOPING SOAP WEB SERVICES-BASED APPLICATIONS.......................................................................190
3. DEVELOPING A WORLD ATLAS..........................................................................................................................193
4. DEVELOPING A DOCUMENT INDEXING SYSTEM...........................................................................................197
5. DEVELOPING AN E-PROCUREMENT SYSTEM OF MEDICAL SUPPLIES.....................................................201
6. DEVELOPING A MASHUP: A META-SEARCH ENGINE....................................................................................203
7. CONCLUSION...........................................................................................................................................................208
Chapter 10
Case Studies Using Adobe™ Flex....................................................................................................... 210
1. INTRODUCTION......................................................................................................................................................210
2. DEVELOPING REST WEB SERVICES-BASED APPLICATIONS.
.......................................................................211
3. CASE STUDIES.........................................................................................................................................................212
4. CONCLUSION...........................................................................................................................................................224
Chapter 11
Case Studies Using JavaFX™.
............................................................................................................. 227
1. INTRODUCTION......................................................................................................................................................227
2. JAVAFX™ ARCHITECTURE...................................................................................................................................228
3. BENEFITS OF USING JAVAFX™...........................................................................................................................230
4. DEVELOPING A PHOTO ALBUM BY USING FLICKR™...................................................................................233
5. DEVELOPING A PHOTO ALBUM BY USING PICASA™...................................................................................237
6. DEVELOPING A PHOTO ALBUM BY USING PHOTOBUCKET™....................................................................240
7. DEVELOPING A ROTTEN TOMATOES™-BASED SEARCH ENGINE FOR MOVIES....................................243
8. CONCLUSION...........................................................................................................................................................247
Chapter 12
Multi-Device RIAs Development........................................................................................................ 249
1. INTRODUCTION......................................................................................................................................................249
2. MULTI-DEVICE RIAS..............................................................................................................................................250
3. MULTI-DEVICE DEVELOPMENT FRAMEWORKS............................................................................................252
4. COMPARISON.
..........................................................................................................................................................266
5. CONCLUSION...........................................................................................................................................................267
Chapter 13
An Overview of RIAs Development Tools.......................................................................................... 269
1. INTRODUCTION......................................................................................................................................................269
2. TOOLS FOR FRAMEWORK-BASED RIAS DEVELOPMENT.............................................................................270
3. MDD TOOLS FOR RIAS DEVELOPMENT............................................................................................................293
4. RAD TOOLS FOR RIAS DEVELOPMENT.............................................................................................................299
5. CONCLUSION...........................................................................................................................................................300
Chapter 14
AlexandRIA: A Visual Tool for Generating Multi-Device RIAs........................................................ 303
1. INTRODUCTION......................................................................................................................................................303
2. ALEXANDRIA: A UI PATTERN-BASED APPROACH FOR GENERATING MULTI-DEVICE RIAS..............304
3. CLOUD APIS.............................................................................................................................................................305
4. INTERACTION DESIGN PATERNS........................................................................................................................311
5. CASE STUDIES.........................................................................................................................................................312
6. CONCLUSION...........................................................................................................................................................320
Chapter 15
New Trends on RIAs Development..................................................................................................... 323
1. INTRODUCTION......................................................................................................................................................323
2. RIAS AND CLOUD COMPUTING..........................................................................................................................324
3. RIAS AND MASHUPS..............................................................................................................................................327
4. RIAS AND WEB 3.0..................................................................................................................................................329
5. RIAS AND WEB 4.0..................................................................................................................................................331
6. CONCLUSION...........................................................................................................................................................333
Compilation of References................................................................................................................ 337
About the Authors.
............................................................................................................................. 347
Index.................................................................................................................................................... 348
ix
Preface
WEB DEVELOPMENT EVOLUTION: FROM STATIC WEB
PAGES TO RICH INTERNET APPLICATIONS
The Web has become one of the most important platforms for quickly and effectively transmitting in-
formation to people. In 1990, the Web started with HTML technology, which was originally devised to
represent static information through a Web browser. The data flow was in a unidirectional way, from
server-side to client-side. However, there was no personalization; most Websites did not authenticate
users because there was no need.
Over time, Web applications took advantage for business purposes, showing dynamic content to
users by enhancing client-side information technologies with JavaScript and bringing components like
Applets and ActiveX, or plugins such as AdobeTM
FlashTM
. On the server-side, there were information
technologies that provided dynamism to the Web content. One of the first technologies for this purpose
was CGI, which in 1993 represented a standard interface for passing dynamic content from server-side
to client-side. Three years later, Java Applet emerged besides consolidated technologies such as PHP
and MicrosoftTM
ASP. At that time, Web applications used the .Net as a platform for business, rendering
dynamic content to users based on back-end business logic and database content. Developers enhanced
the Internet’s capabilities to meet the demands of business applications by including scripts—JavaScript
and VBScript—and components, such as Applet and ActiveXTM,
to the client (user) computer. While
this user experience was to some extent enhanced, the fundamental “document-driven” synchronous
approach of traditional Internet applications remained the same. As user experience requirements grew
in complexity, this approach proved to be a handicap for complex business applications. Though there
had been significant progress in server-side implementations, the means of rendering information to the
end-user remained the same. As a result, the need to incorporate the rich, interactive, and responsive
features of desktop applications was increasingly felt.
At that time, there was also a necessity of incorporating the main features of desktop applications:
responsiveness and interactivity. A deterrent to fulfill this necessity was the difficulty of handling multi-
transaction business workflows. The one-way nature of traditional Internet applications represented
continuous Web page refreshing, making it difficult to represent large amounts of complex data and
denying rich user experiences.
The last phase in this Web development evolution is RIA (Rich Internet Application) starting with
technologies such as AdobeTM
Flex, JavaFXTM
, or Ajax. Ajax incorporates standards-based presenta-
tion using XHTML and CSS, dynamic display, and interaction using the Document Object Model, data
interchange, and manipulation using XML and XSLT, as well as asynchronous data retrieval using
x
XMLHttpRequest and JavaScript binding everything together. AdobeTM
AIRTM
lets developers use Flex
technology to build RIAs that deploy on a wide range of devices such as smartphones, tablets, televisions,
desktops, and netbooks. AIRTM
applications run across operating systems, and they are easily delivered
by using a single installer file. With AIRTM
, Flex developers can use their existing skills, tools, and code
to build highly engaging and visually rich applications that combine the power of local resources and
data with the reach of the Web.
WHAT THIS BOOK IS ABOUT
This book is about the last phase in the Web development evolution (i.e., RIAs). In order to cover this
topic, the following elements are identified and addressed: 1) development methodologies, 2) develop-
ment dimensions, 3) application frameworks, and 4) development tools. In addition, some case studies
aimed at implementing these concepts are discussed in this book. Therefore, this book is intended to
provide a comprehensive view of current practices on RIAs development. RIAs are a new generation of
Internet applications that combine behaviors and features of Web and desktop applications such as: 1)
client-server architecture, 2) data-intensive handling and business logic execution both on the client-side
and the server-side, which results in advanced mechanisms of client-server communication, and 3) highly
interactive multimedia content. Therefore, this kind of Web applications allows users to do interactive
data explorations through attractive visual interfaces, increasing usability and performance (Martínez-
Nieves, Hernández-Carrillo,  Alor-Hernández, 2010). RIAs are the future of today’s enterprise Web
applications: they enhance the user experience, deliver functionality of desktop applications, and provide
the portability and data reach that enterprise Web applications provide. A RIA changes the way the client
Web application interacts with the server, removing or minimizing frequent server transactions from the
user experience. RIAs offer the best of both worlds: the rich client and the reach of the enterprise. “Rich”
is a term to describe how engaging and interactive a user interface is at the presentation tier. “Reach”
describes the connectivity to the other tiers of the application. RIAs promise a presentation tier that all
users see in the same way regardless of the platform, coupled with the powerful data-rich environment
that enterprise Web applications can deliver.
In Web development, there are three fundamental factors to be considered: 1) Web development
methodologies, 2) Web frameworks, and 3) toolkits. Web development methodologies can be catego-
rized into two groups: 1) Software Development Methodologies for Traditional Web Applications and
2) Software Development Methodologies for RIAs. The methodologies of the first group pose some
problems accommodating Web-specific aspects in terms of their methods and implementation; however,
they were the pioneer for the development of new methodologies or extensions of existing methodolo-
gies. Some of these methodologies are WSDM, SOHDM, OOHDM, and UWE. The methodologies
of the second group were developed by taking into account existing methodologies in order to satisfy
the needs and features of RIAs development. Some examples are RUX Method, OOH4RIA, OOHDM
Extension, and UWE-R.
In the case of Web frameworks, the options for developing RIAs can be grouped into three categories:
1) JavaScript-based frameworks, 2) non-JavaScript-based frameworks, and 3) multi-device frameworks.
The JavaScript-based frameworks are open source containing a set of pre-written JavaScript code, which
help facilitating the development of the JavaScript-based applications. This allows the development
of applications by using the same code written in these JavaScript frameworks instead of writing the
xi
same line of code each time individually, which becomes more difficult and time consuming. Some
examples of these JavaScript-based frameworks are Dojo, jQuery, Prototype, and Sencha ExtJS. The
non-JavaScript-based frameworks are based on proprietary programming languages, and these frame-
works are typically used under paid licenses. Some examples are Adobe Flex, JavaFX, Silverlight, and
OpenLaszlo, to mention but a few. Multi-device frameworks cover two kinds of applications for mobile
devices: 1) native applications that are applications written for a specific device’s hardware and operat-
ing system, 2) Web-based applications, and 3) hybrid applications, which are applications built using
Web technologies and wrapped in device-specific native application containers. These frameworks have
the ability to support multiple mobile platforms such as iOSTM
and AndroidTM
at the same time. Some
examples of these multi-device frameworks are PhoneGap, iUi, ipFaces, and Sencha Touch.
In the case of Toolkits, there are different Integrated Development Environments (IDEs) for RIAs
development. According to its architecture, these IDEs can be classified into the following two major
groups:1)standaloneapplicationsand2)plug-inapplications.Someexamplesofstandaloneapplications
for RIAs development are Adobe Flash Builder, NetBeans, and Microsoft Visual Studio, among others.
As plug-in applications are SapphireSteel Amethyst plugin for Visual Studio™, E(fx)clipse plugin for
Eclipse™, and Eclipse4SL plugin for Eclipse™.
Figure 1 presents a general perspective about the aforementioned factors.
In this book, a novel view of RIAs development is proposed; it considers some issues relevant not
only to rich UI design purposes but to software quality purposes. Thereby, the topics related to RIAs
development that are covered in this book are multimedia support, AOP (Aspect-Oriented Programming)
support, the use of design patterns, and the use of UI patterns, as depicted in Figure 1.
Figure 1. A general perspective about the RIA development stack
xii
Multimedia content is crucial for RIAs. It provides richest content to Web applications by present-
ing information more dynamically and entertainingly. As examples of multimedia contents are videos
and image galleries. The use of image galleries enhances the ability to customize views on the fly and
provides real-time visual representations of a selected item. The possibility to represent graphics, audio,
and video is considered an inherent ability of RIAs (Rich Internet Applications). In fact, along with UI
transformations, visual continuity and temporal are factors affecting one of the distinguishing features
of RIAs: the enhanced UI.
AOP allows adding new features to Web applications without changing the original source code.
For instance, when a legacy application requires of an authentication method, it is possible to develop
a separate method using AOP and without changing the original structure of the application. This is
especially relevant for adapting legacy Web 1.0 application UIs to RIA UIs as a common practice in the
development of RIAs. Some of the software quality factors that can be achieved in the development of
RIAs by using AOP are: 1) Maintainability, 2) Extensibility, and 3) Reusability. Maintainability is very
important for RIAs development, since it enables one to make changes as effectively and efficiently as
possible. Moreover, the AOP provides a high level for maintainability. Extensibility is another crucial
aspect in the RIAs development, because the new functionality sometimes needs to be added to an
application that is in operation, and it is necessary to ensure that the application does not fail. Finally,
Reusability is important not only in software development but also in the AOP. In fact, Reusability
encapsulates the functionality required to be able to reuse it on subsequent occasions. This reduces
development time and improves productivity. In the cases of both RIAs and software development, the
development time is very expensive.
Design patterns are important in software development, as well as in the development of both tradi-
tional Web applications and RIAs. One of the main uses of the design patterns is for reusability purposes
(i.e., for simplifying the work) and, thus, offering a solution that had been previously tested and which
was successfully applied to a problem that manifests repeatedly. In fact, RIA technologies are based on
the software reusability principle in the sense that UIs are built starting from reusable widgets or UI
controls organized in component hierarchies. This is more evident in the case of the non-JavaScript-
based RIA frameworks because of the declarative UI definition model based on UI markup languages
such as MXML, FXML, and XAML. A well-known Design Pattern on Web applications development
is MVC (Model-View-Controller). The MVC pattern separates the domain modeling, the presentation,
and the actions into three classes and based on the user input: 1) Model, 2) View, and 3) Controller.
MVC pattern is a fundamental Design Pattern for the separation of user interface logic from business
logic. Fortunately, the emergence of Web applications has helped resolve some of the ambiguity, since
the separation between the view and the controller is apparent.
RIAs design involves two main stages: 1) application structure design and 2) UIs design. This book
focuses on the second stage of RIAs design. Rich UIs design typically involves the use of UI patterns to
ease the interaction between users and applications. UI patterns enable more intuitive and responsive user
experiences (i.e., rich user experiences). Indeed, they allow developers to encourage users to engage with
applications. Most of the RIA frameworks offer simple UI controls that natively implement UI patterns
(e.g., progress bar [progress indicator pattern] and accordion [expand/collapse pattern] in Adobe™ Flex
or JavaFX™). However, some UI patterns require more developmental time and effort in order to be
implemented. Therefore, it is not easy to understand the differences between UI controls and UI patterns.
Nowadays, RIAs development demands design principles of Web and desktop applications, which
are implemented by the so-called interaction design patterns. Furthermore, mobile devices, such as
xiii
smartphones and tablet computers, have also been involved in RIAs development due to the ubiquitous
requirements of Web 2.0 applications (Finkelstein, Savigni, Kimmerstorfer,  Pröll, 2002). In this sense,
RIAs are known as multi-device RIAs. This term covers RIAs that run as cross-browser Web applica-
tions, cross-platform desktop applications, and mobile applications. A Web browser-based RIA is a
Web 2.0 application that integrates desktop-like features. A desktop-based RIA is a kind of application
that is able to run off-Web browsers. A mobile RIA is a native mobile application with an improved UI.
The new trends in the development of RIAs can be identified by analyzing the steps on the Web evo-
lution, from Web 2.0 to Web 4.0, passing through cloud computing as a trend on the Web 2.0 evolution.
Cloud computing could be the best example of where the RIAs development is going both in commercial
and academic fields. A new kind of RIA known as semantic RIA has recently emerged in the context
of Web 3.0. Semantic RIAs try to solve the issues related to interoperability between systems by using
ontologies and linked data principles. In the case of Web 4.0, the necessity of a ubiquitous Web has led
to the emergence of context-aware Web applications by taking advantage of RIA technologies in order
to offer rich user experiences.
Figure 2 depicts the conceptual map that illustrates the structure of this book.
Figure 2. Conceptual map of the general structure of the book
xiv
Hence, this book is structured as follows:
Chapter 1, titled “Basic Concepts on RIAs,” presents an overview of RIA features, and it explains
the most important concepts for RIAs development, as well as their benefits and importance in sev-
eral domains. In this chapter, a standard architecture for RIAs is described. This architecture has three
well-defined layers: 1) the client-side that renders the rich user interface, 2) a controller layer where the
business logic is executed, and 3) a data transactions manager. Important domains of Web development
are presented, and in each one of them, the importance of RIAs is explained emphasizing particular
features of each domain. Finally, experiences and successful stories of using RIAs in B2C e-commerce
domain are presented. Some of these successful cases mentioned are Kodak EasyShare, MINI USA,
FootJoy™, The Broadmoor Hotel™ and BlueGreen Vacation Rentals™, Verizon Wireless™, Yankee
Candle Company, and Charles Schwab.
Chapter 2, titled “Frameworks for RIAs Development,” describes the most popular options for RIAs
development. For practical purposes, these options are classified into two categories: 1) JavaScript-
based frameworks and 2) non-JavaScript-based frameworks; even though there are other classifications
reported in the literature, this classification is used in this chapter and throughout the book. In fact, this
classification allows for a quick understanding of the technologies for RIAs development by abstracting
technical details about intended software architectures.
Chapter3,titled“SoftwareDevelopmentMethodologiesforTraditionalWebApplicationsandRIAs,”
presents a review of the state-of-the-art on methodologies for RIAs development. For this purpose,
methodologies for traditional Web applications development are firstly presented, since, in some cases,
methodologies for RIAs development are either extensions of existing Web (and hypermedia) method-
ologies or new UI design methods used on top of already existing Web methodologies. New approaches
covering the RIAs features without relying on legacy Web models are also discussed in this chapter.
Chapter 4, titled “Important Factors on RIAs Development,” discusses some software quality metrics
such as usability, scalability, and reusability of RIAs development. The chapter describes the importance
of using multimedia content and UI (User Interface) patterns not only for improving the appearance
of RIAs but also for delivering rich user experiences. Likewise, this chapter depicts the importance of
leveraging AOP (Aspect-Oriented Programming) capabilities and implementing design patterns to ease
the RIAs maintenance and enable RIAs reusability.
Chapter 5, titled “Multimedia Support for Native/Embedded Video Playback on Frameworks for
RIAs Development,” discusses the capabilities of RIA frameworks in the context of multimedia content
support. For this purpose, several alternatives for implementing video playback functionality are pre-
sented by using both JavaScript-based RIA frameworks to and non-JavaScript-based RIA frameworks.
Examples of JavaScript-based RIA frameworks having multimedia content support are Dojo, jQuery,
Prototype, and Mootools. Examples of non-JavaScript-based RIA frameworks are Adobe Flex™, Ja-
vaFX™, Silverlight™, and OpenLaszlo. For each case study the mandatory files are mentioned. The
chapter also shows a screenshot where video player is displayed and code snippets that were used are
presented. Finally, a comparative analysis of video playback support for each framework is presented in
terms of video container formats and encoding types.
Chapter 6, titled “Aspect-Oriented Programming (AOP) Support on RIAs Development,” emphasizes
the importance of employing Aspect-Oriented Programming (AOP) on software development, especially
in software engineering. Some advantages in the development of RIAs by using AOP are Maintain-
ability, Extensibility, and Reusability. This chapter presents a review of several success stories of AOP
implementation in real world development projects and discusses the lessons learned in these projects.
xv
The works analyzed in the state-of-the-art are classified by Web development, Usability Engineering,
and other related perspectives. Finally, the chapter also addresses AOP support between JavaScript-based
RIA frameworks and non-JavaScript-based RIA frameworks providing either native or third-party AOP
facilities. Some code snippets depicting the use of these facilities for implementing AOP concepts are
also presented.
Chapter 7, titled “Design Patterns Support for RIAs Development,” presents a review of Design Pat-
terns proposed by GOF classification is presented. GOF classifies Design Patterns in Creational Patterns,
Structural Patterns, and Behavioral Patterns. Some implementation examples of GoF Design Patterns
are presented by using both JavaScript-based frameworks and non-JavaScript-based frameworks for
RIAs development. Additionally, the chapter also presents a comparative analysis that summarizes the
review of the capabilities of the RIA frameworks in the context of GoF Design Patterns support between
JavaScript-based RIA frameworks and non-JavaScript-based RIA frameworks. Finally, this chapter also
mentions how to solve different programming problems by using Design Patterns.
Chapter 8, titled “UI Patterns Support on RIAs Development,” a review of UI patterns supported
by using non-JavaScript-based frameworks and JavaScript-based frameworks for RIAs development is
presented. For this purpose, the UI Patterns are classified in Transitional Patterns, Lookup Patterns, and
Feedback Patterns. Additionally, this chapter presents a series of applications samples depicting the use
of not only UI controls but also non-visual functions or classes (as applicable) for implementing the
supported UI patterns. These applications are intended to clarify the differences and similarities between
UI controls and UI patterns. Finally, the chapter presents a comparative analysis that summarizes the
review of the capabilities of the RIA frameworks in the context of rich UI design.
Chapter 9, “Case Studies Using JavaScript-Based Frameworks,” discusses the development of four
different SOAP Web services-based thin-client applications using jQuery, Prototype, Dojo, and JSP. The
chapter, indeed, addresses the development of a world atlas application, a document indexing a search
system, an e-procurement system for the healthcare domain, and a meta-search engine for eBay and
Amazon products. These case studies, as well as case studies presented in subsequent chapters, exem-
plify the use of some UI patterns for accomplishing rich design principles such as stay on the page and
use transitions. Similarly, reviews of some similar real world implementations publicly available on the
Internet are provided for each case study presented in this chapter. Finally, the chapter presents a review
of the support for invoking SOAP-based Web services using Java. This is intended to be a preamble for
the case studies and the use and application of SOAP-based Web services.
Chapter 10, titled “Case Studies Using Adobe Flex™,” presents two case studies about the develop-
ment of REST (Representational State Transfer) Web services-based RIAs using Adobe Flex™ along
with HTML and JavaScript. The chapter addresses the development of a meta-search engine for YouTube
and Vimeo videos, as well as the development of a forecast weather system based on Yahoo! Weather.
In addition, the chapter also offers a review of the support for consuming RESTful Web services in
Adobe™ Flex™ as a preamble to these case studies.
Chapter 11, titled “Case Studies Using JavaFX™,” presents four case studies on the development of
JavaFX™-based RIAs built on top of popular social networking Websites. The chapter addresses the
developmentofthreephotoalbumapplicationsbasedonFlickr™,Picasa™,andPhotobucket™Websites,
respectively. In addition, the development of a search engine for movies based on Rotten Tomatoes™
Website is finally presented. For each case study, the chapter provides a review of some similar real
world implementations publicly available on the Internet.
xvi
Chapter 12, “Multi-Device RIAs Development,” introduces the concept of multi-device RIA to de-
scribe a kind of RIA that can run on a variety of devices starting from the same code base. This includes
not only cross-browser Web applications but also out-of-browser applications, namely cross-platform
desktop and mobile applications. Thereafter, the chapter presents an overview of multi-device develop-
ment frameworks. The supported platforms and the main capabilities are described for each framework
mentioned. Furthermore, this section includes both a brief description of the most popular mobile
operating systems for mobile devices and a comparison table for summarizing the main features of the
multiplatform development frameworks.
Chapter 13, titled “An Overview of RIAs Development Tools,” provides a review of RIAs develop-
ment tools, including both official and third-party tools. For this purpose, the two major approaches for
RIAs development already identified in the literature were considered: 1) framework-based development
approaches and 2) MDD approaches. However, this classification was extended by introducing a third
category: RAD approaches. Thereby, the chapter reviews not only IDEs for RIA frameworks-based
developments but also addresses other support tools for RAD such as code generation tools. Likewise,
based on their architecture, IDEs for RIAs development are reviewed and classified into the follow-
ing two major groups: 1) standalone applications and 2) plugin applications. Some development tools
presented are AdobeTM
Flash BuilderTM
, NetBeans IDE™, Microsoft™ Visual StudioTM
, WebRatioTM
,
RUX-Tool™, and AlexandRIA.
Chapter 14, titled “AlexandRIA: A Visual Tool for Generating Multi-Device RIAs,” explains the use
of AlexandRIA for developing cloud services-based RIAs by implementing UI patterns. Unlike other
RIA development tools described in Chapter 13, AlexandRIA is entirely focused on the fully automatic
source and native code generation of RIAs, and it entirely addresses multi-device RIAs development.
In this chapter, the use of the UI design process behind AlexandRIA is also demonstrated by means of a
sample development scenario addressing the development of a cloud services APIs-based cross-platform
mobile RIA. This scenario is further revisited in a case study that addresses the automatic generation of an
equivalent application using AlexandRIA. In addition, this section of the book provides a review of both
the UI patterns and the cloud services APIs supported by AlexandRIA as a preamble to the case study.
Chapter 15, titled “New Trends on RIAs Development,” presents the new trends on RIAs development
by considering the steps on the Web evolution, from Web 2.0 to Web 4.0, passing through cloud-based
RIAs development and mashups-rich UIs development as two easily visible trends related to Web 2.0.
Semantic RIAs, RMAs (Rich Mobile Applications), context-aware RIAs, and ubiquitous Web appli-
cations are some of the academic proposals related to Web 3.0 and Web 4.0 that are discussed in this
chapter. Similarly, some commercial efforts from companies such as IBM™, TopQuadrant™ Inc., and
Salesforce.com Inc. are also discussed in this chapter.
TARGET AUDIENCE
This book is targeted at professional developers and students wishing to improve their knowledge of Web
engineering and of the way it can be applied to the RIAs development. Some of the concepts covered
(methodologies, frameworks, tools) will assume a basic level of prior knowledge and understanding.
If the reader requires any further reading related to these topics, the authors provide a list of suggested
titles at the end of each chapter. If the reader wishes to learn how to develop RIAs, as well as about all
the features of this kind of application, this is undoubtedly the book for them.
xvii
CREDITS
Whilst some of the topics covered in this book were implemented based on the authors’ personal ex-
periences, many of them have been previously identified and explained by other people. This work is
an effort of the combined experience from the authors and other researchers, whose studies are fully
covered in the references sections.
Giner Alor-Hernández
Instituto Tecnológico de Orizaba, Mexico
Viviana Yarel Rosales-Morales
Instituto Tecnológico de Orizaba, Mexico
Luis Omar Colombo-Mendoza
Instituto Tecnológico de Orizaba, Mexico
REFERENCES
Finkelstein, A. C. W., Savigni, A., Kimmerstorfer, E.,  Pröll, B. (2002). Ubiquitous web application
development - A framework for understanding. In Proceedings of 6th Systemics, Cybernetics, and In-
formatics Conference (pp. 431–438). Academic Press.
Martínez-Nieves, L. A., Hernández-Carrillo, V. M.,  Alor-Hernández, G. (2010). An ADV-UWE based
phases process for rich internet applications development. In Proceedings of IEEE Electronics, Robotics
and Automotive Mechanics Conference, (pp. 45 –50). IEEE.
xviii
Acknowledgment
Authors are always be grateful for the talented technical reviewers who help review and improve their
books. The knowledge and enthusiasm they brought to this project was simply amazing.
Thus, authors would like to thank: Ulises Juárez-Martínez, PhD, for his support, especially in Chapters
4 and 6, in the AOP subject; Desdemona Almazan-Morales, BSc, and Luis A. Barroso, PhD, from the
Instituto Tecnólogico de Estudios Superiores de Monterrey Campus Central de Veracruz for their support
in the English review process in some sections of the book; Gabriela Cabrera-Zepeda, MSc, Chief of
the Division of Research and Postgraduate Studies of the Instituto Tecnológico de Orizaba for her help
and support in this project; Maria Fernanda Villafuerte-Bianchi, BA, for her support in the proofreading
process; and all our colleagues and friends from the Instituto Tecnológico de Orizaba for all their support.
Giner Alor-Hernández
Instituto Tecnológico de Orizaba, Mexico
Viviana Yarel Rosales-Morales
Instituto Tecnológico de Orizaba, Mexico
Luis Omar Colombo-Mendoza
Instituto Tecnológico de Orizaba, Mexico
1
Copyright © 2015, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited.
Chapter 1
DOI: 10.4018/978-1-4666-6437-1.ch001
Basic Concepts on RIAs
ABSTRACT
Chapter 1 presents an overview of RIA features, and it explains the most important concepts for RIAs
development, as well as their benefits and importance in several domains. In this chapter, a standard
architecture for RIAs is described. This architecture has three well-defined layers: 1) the client-side that
renders the rich user interface, 2) a controller layer where the business logic is executed, and 3) a data
transactions manager. Important domains of Web development are presented, and in each one of them,
the importance of RIAs is explained emphasizing particular features of each domain. Finally, experi-
ences and successful stories of using RIAs in B2C e-commerce domain are presented.
1. INTRODUCTION
The Web or WWW (World Wide Web) is an
information distribution system comprised of
interlinked hypertext or hypermedia accessed by
using the Internet. To access these media, a Web
browser is required. The user is able to view dif-
ferentwebsites,whicharecomposedofwebpages
thatcancontaintext,images,videosormultimedia
content. The user can browse the web pages that
make up the website, through hyperlinks which
cause a great amount of traffic between the cli-
ent and the server as every time the user clicks
on one of the hyperlinks. So, the whole page is
loaded when the user requires some data or some
interaction, this task implies to make another re-
quest from the server which causes the data can
be slowly displayed. This slowness is increased
as the amount of data requested is increased. The
Web was created in 1989 by the Englishman Tim
Berners-Lee and the Belgian Robert Cailliau,
while they were working at CERN (CERN means
European Organization for Nuclear Research) in
Geneva,Switzerlandanditwaspublishedin1992.
Since then, Berners-Lee has played an active role
in guiding the development of Web standards and
over the last few years he has focused his vision
on the Semantic Web.
Inrecentyears,thetermWeb2.0hasemerged.
This term is associated with Web applications
that make them easier to share information,
interoperability, user-centered design and the
collaboration with the World Wide Web. Some
examples of Web 2.0 applications are Web com-
munities, Web services, social networks, web
sites that host videos, wikis, blogs, mashups and
folksonomies, to mention but a few. The term is
strongly associated with Tim O’Reilly, due to this
2
Basic Concepts on RIAs

term was coined at the conference about Web 2.0
from O´Reilly Media in 2004 (O’Reilly, 2004).
Although the term suggests a new version of the
World Wide Web, it does not refer to an update
process of technical specifications over the Web,
but rather it refers more to cumulative changes in
the way in which the Web is used by designers
and final users.
Amongthecharacteristicsofwebapplications,
there are some advantages over desktop applica-
tions. Some of these advantages are: 1) it is not
necessarytocarryoutinstallationsandupdateson
every computer where the application is running,
these can now be carried out on the server-side
and2)theycanrunondifferentoperatingsystems,
which are well-known as platform-independent,
cross-platform or multi-platform. However, there
are also some disadvantages for these types of
applications: 1) there is no immediate response to
the acts, actions or events carried out by the user
on graphical interfaces and 2) it is not possible
to drag and drop documents, texts, images or any
multimedia content.
RIAs (Rich Internet Applications) become a
necessary way of increasing the advantages and
avoiding the disadvantages of traditional Web ap-
plications. RIAs are similar to Web applications
but they also share the majority of the character-
istics of desktop applications. These applications
use a standardized Web browser to be run and
via add-ons and through a virtual machine the
additional characteristics are added. RIAs are
applications that combine the advantages of both
Web applications and traditional applications,
and they seek to improve the user experience.
Rich Internet Applications combine features and
functionalityofdesktopapplications,buttheyare
delivered over the Web.
Commonly when the user clicks on a hyper-
link, there is a constant refreshing of Web pages
on traditional Web applications. This situation
produces a high amount of traffic between the
client and the server, resulting in the same web
page being refreshed with a minimal change. By
usingRIAs,thisprocessdoesnotrequirearefresh
process on each Web page, but the whole appli-
cation is loaded from the beginning and it only
produces a communication with the server when
external data are required such as communica-
tion with databases or with some external files.
RIAs have a particular way to handle and process
information which is another difference. Today
traditional desktop applications exclusively rely
on client-side processing. When a task is initi-
ated, the local system’s resources are leveraged to
processtherequest.Incontrast,aWebapplication
exclusively relies on the server-side technology
to process a request. With the use of RIAs, the
load is shared by both client-side and server-side
technology. RIAs represent the next transition in
the evolution of Web applications; they promise
the richness, interactivity and usability lacking in
many of today’s web applications.
2. BASIC CONCEPTS
RIAs constitute a new paradigm on Web devel-
opment, which are currently being released with
great success in the world of IT (Information
Technology)andbusiness.Thebestwayofunder-
standingwhatRIAsare,isbyplacingthemwithin
the context of other related technologies such as
ASP (Active Server Pages) or JSP (Java Server
Pages). In order to have a better understanding
about the concept, it is necessary to think about
technological solutions in terms of two character-
istics: reach and richness. “Richness is the ability
of incorporating intuitive interactivity and user
interfaces on the client-side, and reach is the abil-
ity of the application to be available to any user”
(Namscimbene, 2005). In 2004, a Macromedia
study1
compared a traditional Web application
built with JSP technology with an identical ap-
plication built with Macromedia Flex. The study
revealed that both server requests and CPU usage
were dramatically decreased in a Flex-based Ap-
plication. The Flex-based applications used .8%
3
Basic Concepts on RIAs

average server CPU utilization under heavy load
with minimal peaks of 50% while the JSP-based
interface under the same load used 21.2% server
CPU utilization with peaks up to 100%.
RIAs work in an asynchronous fashion which
enables them to be more dynamic than traditional
Web applications. Therefore, they reduce the
difference between Web-based applications and
desktopapplications.SomeadvantagesthatRIAs
representwhenarecomparedwithtraditionalWeb
applications are presented below:
• Immediate Access: At any moment, the
user does not lose control of the web page
that he is visiting due to the access times
are very short.
• Graphical Interface Features: The RIAs
technologies enable functions such as the
drag  drop from one part of the screen to
another.
• Responsiveness and Interactivity: RIA
carries out the data processing on the
client-side. This situation results in a re-
duced network traffic and faster response
as the application leverages the client CPU
(Central Processing Unit). Also, when
a button or a URL (Uniform Resource
Locator) is clicked, the corresponding
section of the web page is only asynchro-
nously reloaded, and not the whole page.
This action provides continuous visual ref-
erence to users, so they are not distracted
by interface changes.
• Real-Time Communication: It enables
users to collaborate and share information
on the Internet through real-time commu-
nication channels like instant messenger,
video on demand, audio/video conference,
among others.
• Ease of Maintenance: For example, by
modifying and/or deleting items with-
out needing of refreshing the current web
page, either to improve performance or to
fix bugs (Veit, 2008).
“RIAs are a type of application that offers
various advantages over traditional Web ap-
plications. RIAs function as a combination of
the advantages of both Web applications and
traditional applications” (Viveros García 
García Godoy, 2009). RIAs have arisen from
the needs of both Web applications, as well as
desktop applications, achieving a combination of
the advantages of both of them: i.e. a RIA is an
intermediatebetweentraditionalWebapplications
(thin-client) and desktop applications (fat-client)
(Rivero et al., 2007).
Nowadays,thereareseveralconceptsanddefi-
nitionsaboutRIAs.TheRIAtermwasfirstlyused
in March 2002 by Macromedia. RIA was defined
as a new model for developing Web Applications
that separates data server services from the rich
userinterface,whichispresentedthroughaplugin
that is executed at runtime on a Web browser.
Some concepts only compare RIAs to desktop
applications in a general way ignoring important
features like server-side processing and asyn-
chronous data loading. For instance, Wikipedia
(Wikipedia, 2011) defines RIA as follow: “A
rich internet application is a web application
that has many of the characteristics of desktop
applications, typically delivered either by way
of a site-specific browser, via a browser plug-in,
independent sandboxes, or virtual machines…”.
This concept has changed due RIAs are not
onlyimplementedonWebbrowsers,thankstothe
emergence of new Web development platforms;
they perfectly run on desktop and mobile devices.
Thefollowingextracthighlightsofflineandonline
functionality, local data storage and client-side
processing capabilities as emphasized by Linaje
(Linaje et. al., 2008): “Some of the novel features
of RIAs affect the UI (User Interface) and the in-
teractionparadigm;othersextendtoarchitectural
issues, such as, the client-server communication
and the distribution of the data and business
logic. They support online and offline usage,
sophisticated UIs, data storage and processing
capabilities directly at the client side, powerful
4
Basic Concepts on RIAs

interaction tools leading to better usability and
personalization, lower bandwith consumption
and better separation between presentation and
content”.
Brambilla(Brambillaet.al.,2008)definesRIA
as: “Web applications that exploit the power of
Webclientsforincreasingtheresponsivenessand
usabilityofthewebUI,byofferingfunctionalities
similar to the ones of desktop applications. RIAs
follow the client/server paradigm, but opposite
to traditional web applications, RIAs are able to
transfer the processing of UI, business logic and
data management to the client, possibly using
asynchronous communications”. This concept
refers to the capability of returning processing to
client-side and taking advantage of the constant
improvements of the hardware configurations.
Likewise, Bozzon (Bozzon et. al., 2006) dis-
cusses the role that the client-server architecture
takes and its asynchronous workflow, defining a
RIA as follow: “They are a variant of Web-based
systems providing sophisticated interfaces for
representing complex processes and data, mini-
mizingclient-serverdatatransferringandmoving
the interaction and presentation layers from the
server to the client. Typically, a RIA is loaded by
the client along with some initial data; then, it
manages data rendering and event processing,
communicating with the server when the user
requiresfurtherinformationormustsubmitdata”.
As conclusion, the following concept can be
inferredemphasizingthemaindifferencesamong
traditional Web applications: “RIAs are applica-
tionstypicallyexecutedbyanyRIA-capabledevice
that renders a Rich User Interface and they use
datathatcanbeprocessedbothbytheserver-side
and the client-side.”
By RIA-capable device, any electronic device
that executes JavaScript-based and third-party
technologies (JavaFX, Silverlight and Adobe
Flex, to mention a few) for RIA development is
considered. One of the main principles of RIAs
development is the asynchronous data loading
which means that they are able to obtain chunks
ofdatawithoutrefreshingtheentireWebsite.The
conceptofrichness,involvedintheRIAdefinition,
is due to its ability of improving the traditional
Web Application features in five basic aspects:
1. Theapplicationusestheclient-sidememory
in which the data is locally manipulated and
stored. Once the entire task is done, it is sent
back to the server-side.
2. TheRIAsusetheclient’sprocessingcapabil-
ity. It enables both the server-side and the
client.side to carry out complex operations,
resulting in a different navigation struc-
ture in comparison with traditional Web
applications.
3. RIAs allow both synchronous and asyn-
chronous communications. The data distri-
bution between client and server expands
the produced event features, since they are
originated, detected, advised and processed
in different ways.
4. The presentation and complex interaction
given to the user are augmented. RIAs show
themselves as single Web page avoiding un-
necessary loading and allowing data to be
displayed in progressive way or when it is
needed.
5. RIAs combine the flexibility of Web user
interfaces with the processing power of
desktop applications.
In synthesis, RIAs are systems that allocate
most of the load processing of the user graphic
interface to the client-side while the predominant
part of control processing and data management
remains on server-side. From this perspective,
a standard architecture for RIA development is
represented in Figure 1. In Figure 1, three layers
for a typical RIA development are defined: 1) the
client-side rendering the rich user interface, 2) a
controller layer which executes business logic, 3)
a data transactions manager.
In Figure 1, the architecture has three main
properties:
5
Basic Concepts on RIAs

1. Data Management: In traditional Web ap-
plications,dataresidesontheserver-side.In
aRIA,applicationdatacanbedistributedbe-
tweenserver-sideandclient-side.Therefore,
a RIA can use the client’s persistent and
volatile content. Data can be manipulated
on the client-side, and finally sends them to
the server-side once the operation has been
completed.
2. Both-Sides Controllers: In traditional
Web applications, there is only one control-
ler at the server-side that orchestrates the
computation of the Web page. At each user
interaction,thewholeWebpageiscomputed
and reloaded. At the client-side, a second
controller is introduced in a RIA, which is
responsible of computing and refreshing
a section of a Web page. Data processing
can be executed both at client-side and
server-side.RIAshaveadifferentnavigation
structure from Web 1.0 applications, due to
the augmented processing capability of the
client. In RIAs, both the client-side and the
server-sidecancarryoutcomplexoperations.
3. Client/Server-Side Communication: In
RIAs,mechanismstominimizedatatransfers
are introduced which move interaction and
presentation layers from the server-side to
client-side.ConverselytoWebapplications,
RIAs use both synchronous and asynchro-
nous communications. Pull and push com-
munication capabilities are available. Data
distribution and functionality across client
and server broadens the features of the
produced events as they can be originated,
detected,notified,andprocessedinavariety
of ways.
These properties represent the core of RIAs,
since all RIA implement at least one of them.
3. MAIN CROSS-DOMAINS
BENEFITS OF RIAS
RIAs solve problems of traditional Web applica-
tions. The main problems in traditional Web ap-
plication occur when the navigation is necessary
in order to:
• Represent workflows.
• Browse structured information.
Figure 1. A standard architecture for RIAs
6
Basic Concepts on RIAs

• Implement complex user interfaces.
These aspects can cause:
• Increased traffic between client and server.
• An increased workload on the server-side.
• A decreased client response time (Rivero
et al., 2007).
RIAs are accessed from the Internet. RIAs
solve the accessibility and mobility problems of
desktop applications. In next section, the impact
and importance of RIAs on different domains
are discussed.
3.1. The Importance of
RIAs in E-Commerce
ITsarefrequentlychangingbecausetherearenew
user needs. It is important to take into account the
emergent ITs because they offer several benefits
to the people involved such as more powerful de-
velopment, fast execution and integration among
applications. E-commerce is one of the main
usages of the Internet where its application has
been increased with the development of Web ap-
plications.RIAsprovidemorebenefitstobusiness
entities, shoppers and developers in e-commerce
domain. The main benefits for business entities
in e-commerce are listed below:
1. Products are showed anywhere and any-
time: Through RIAs, the business entities
can show their products to their customer
regardless where they are and when they
access. The customer can buy without hav-
ing to be into a store.
2. The shopping process is easy: RIAs build
interactive, intuitive, animated and easy
applications. Therefore, they allow users
to explore products in an easier and faster
approach.
3. Abettershoppingexperienceisachieved:
The shopping experience allows customer
to visit and buy more frequently. This situ-
ation is achieved by providing interactions
between the user and the application. For
example, it allows searching, retrieving,
showing, comparing, selecting and buying
products in the same Web page.
4. The product demand is increased: When
the detailed information of products is
presented through rich user interfaces, the
user’s interest for purchasing is increased.
5. Moreinformationofproductsisexposed:
The procurement process of the available
productsisdescribedtocustomersinamore
detailed way for using at their own benefit.
6. Complexity is reduced: It is necessary to
represent product information in a simple
way and to guide the customer in selecting
hisproducts.Whentheuserwatchesasingle
Web page, the user does not need to select
all products’ features and send information
to build a new Web page. RIAs allow select-
ing all features and updating products into
a same Web page.
7. Fewer returns: When the customer knows
all about a product, the customer does not
have any doubt of buying the product. It al-
lows customer satisfaction and reduces the
indices of purchase returns.
8. Less investment in development: There
are a lot of open source Web frameworks
for designing, creating and building RIAs.
Therefore, the business entities can use e-
commercetoshowtheirproductsorservices
with less investment.
9. Videointegration:Videointegrationoffers
new ways to display products information.
For example, through video, guidance or
instructions about application, services or
products can be provided. It also makes
more attractive the Web application.
10. The shopping time is reduced: Because
shopping time is less, the customer does not
leavetheapplication,increasingtheproducts
sold.
7
Basic Concepts on RIAs

Themainbenefitsforshoppersine-commerce
are listed below:
1. Products can be customized: These ap-
plicationsalloweasilycustomizingproducts
such as sneakers, clothing, bags to mention
but a few. It offers new ways for shopping
because the RIAs allow selecting features
of products and at the same time they are
always configured in a single Web page.
2. The user shopping experience is better:
With a single Web page, the user shopping
experienceisfast,continuous,andinteresting
becausetheWebpagerefreshisnotrequired.
Therefore, customers perceive a Web site
that provides a better response time.
3. More product information is provided:
RIAs provide several components such as
video,imageandeffectsthatshowallproduct
information needed to know the product or
serviceinlesstime.Thismakestheshopping
process easier.
4. Fast response to the user’s needs: When
the user needs a product or service, the user
only needs to visit the application. The user
doesnotneedtoleavehishomeorhisoffice.
The main benefits for developers in e-com-
merce are listed below:
1. TheRIAspromotetheuseofSOA(Service
Oriented Architecture): With both RIA
and SOA, rich application development is
easier and faster. The integration of both
technologies allows increasing the shared
information through scalable applications.
2. There are several design tool, IDE
(Integrated Development Environment)
and open source frameworks: These tools
allow the RIA development in an easier way
since they provide a set of components,
events;effectsandlibrarieswheredevelopers
only needs to configure them.
3. RIAs have an advanced user capability
and interactive user interfaces for build-
ing custom rich interfaces to customers:
It also provides an easier way for integrating
both designer and developer tasks.
The e-commerce systems are very important
for business entities because they attract potential
customers,andtheyexposetheproductsanywhere
and anytime. These benefits show how RIAs can
bringimprovementtoe-commercedomainthanks
to a new generation of internet applications pro-
viding interactive, intuitive and dynamic ways to
explore the products and services information.
3.2. The Importance of
RIAs in E-Learning
Over the last few years, great efforts have been
made to offer e-learning systems, however the
high percentage of failure in e-learning courses
has been attributed to the poor design of the
online experience which does not motivate the
students to achieve a better learning process since
they only offers repetitive, boring tasks and some
other frustrations.
Inordertoimprovethesesystems,thelearning
softwareshouldalsocontainmultimediaelements
such as simulations, explorations, drag and drop
exercises, among others. E-learning systems
should be active and they should offer a teaching-
learningprocessinadynamicandinteractiveway.
Nowadays, the developers of e-learning
systems can use RIAs technologies in order to
combine a variety of multimedia contens and
externalapplicationsforbuildingenrichedcontent
and improving the experience of learning online.
RIAs technologies are characterized by
enabling a higher quality and improving the ex-
perience of online interaction. RIAs offer some
benefits on e-learning domain which are listed
below:
8
Basic Concepts on RIAs

1. The student can access information and
courses from any location. This helps to
maximize the reach of the audience.
2. RIAs can run without modifications, over
the Internet from multiple platforms. With
this advantage, the student can receive in-
formation from wherever he is and without
needing previous software installations.
3. Attractive user interfaces can be provided,
with a high level of interactivity. Ease of use
and the capacity of attracting the student’s
attention are essential in the success of e-
learning systems. By building courses more
attractivetothestudent,retentionisachieved
and with this the courses are successfully
completed by the student.
4. Audio, video, images and texts can be used
inordertoimprovethecontentsofe-learning
applications;itimprovesthestudent’sexperi-
ence.RIAsprovidemanyfacilitiestoinclude
any type of multimedia content which is of
great help and it is beneficial to students.
5. RIAsarecompatiblewithmobileworkflow,
enabling users to work both online and of-
fline.RIAsofferadvantagesovertraditional
Web applications because they can be used
for the design of courses or contents for e-
learning systems.
RIAsofferbetterfeaturesthantraditionalWeb
applications by providing the feature of including
multimediacontentandtheuserinterfacesdesign
withagreaterofinteractivitylevel.Therefore,the
designeroftheselearningexperiencescansignifi-
cantlyimprovethemotivationandtheexperiences
of the user, which in this case is the student.
3.3. The Importance of RIAs
in E-Entertainment
Today, e-Entertainment is very popular, attribut-
ing to a huge number of commercial game titles,
while only in US having an annual turnover far
exceedingtheAmericanBoxOffice.Additionally,
there is a wide spread total of specialized game
consoles, with a total number being larger than
the amount of home personal computers.
By using RIAs, it is possible to design inter-
active interfaces including video games for the
Web or to develop Web applications for watching
movies on the Internet without having to leave
the home.
RIAs offer some benefits on e-entertainment
domain which are listed below:
1. Theusercanaccessvideogamesonline,with-
out needing to buy consoles or accessories.
2. It is possible to add a high level of interac-
tivity with user interfaces to make the use
of applications and content more attractive.
These user interfaces can help to the admin-
istrators to control the content, enabling
actions such as drag and drop, and the abil-
ity to practically paginate the contents thus
avoiding the refreshing of web pages.
3. It is possible to add video players or multi-
media content with personal controls. This
offers a greater control as much for the
administrator as for the consumer.
RIAs combine avant-garde technology with
innovative business practices to provide cost-
effectivebusinesssolutionsforsmallandmedium
businesses, large corporations and governmental
organizations.
As it can be seen in this section, RIAs can
be implemented in diverse domains. RIAs can
be implemented in e-government or in e-health;
whenever the application requires it. There are
also some successful case studies on RIA devel-
opment; in the following sections some of these
are described.
9
Basic Concepts on RIAs

4. SUCCESSFUL STORIES
ON RIAS DEVELOPMENT
Experiences and Successful
Stories of Using RIAs in B2C
E-Commerce Domain
Manyyearsago,WebpageswerebasedinHTML-
basedtechnology.TheseHTML-basedWebpages
containedtext,images,andformelementsliketext
boxes, lists, combo boxes and hyperlinks. When a
user clicked a hyperlink the Web browser loaded
another Web page where all the content had to
be replaced by a new HTML-based document
and the previous content was disappeared. If the
user returned to reload the previous content, the
information often was lost. This interaction did
not allow rich user experience.
Unlike Web applications designed with tradi-
tional HTML, a RIA enrich the user experience
by combining the strengths of desktop and Web
applicationsincreasingandimprovingtheoptions
and capabilities of them. Among the new experi-
ences that RIAs give to a user are:
1. Provide a rich user interface similar to
the “look and feel” present in desktop
applications.
2. Applicationsdevelopedwiththesetechnolo-
gies use user interface controls with higher
performancesandfunctionalities.Examples
of them are horizontal or vertical menus,
navigation tree menus, tabbed panels, vid-
eos, and controls for capturing data, among
others.
3. Users interact with the application to get an
immediateresponsetothis,itisnotnecessary
to redraw the Web page when new data are
loaded.
4. The applications enable users to perform
commonoperationsthatwereonlyavailable
on desktop applications and they were not
possible to perform in traditional HTML-
basedWebpages:dragdrop,resize,among
others.
5. There is not need for complex setup process
to access Web sites or applications (in some
cases only requires a plug-in).
6. RIAs receive immediate response. It is not
necessary waiting for a connection to and
from the server-side to get a result.
An important improvement offered by RIAs
is the development of interactive Web sites. Now,
customers have the chance to see online the prod-
ucts and even they change and customize them
according to their needs. A RIA well-designed
site offers to consumers a complete shopping
experience: the customer is visually guided step
by step through the process, since selecting the
productscataloguntilthepayment.Somesuccess
stories where RIAs have been applied in order to
improve the productivity are described below.
Kodak EasyShare (www.
kodakgallery.com)
It is a subsidiary of Eastman Kodak Company™
that offers online services for handling of digital
imagestomillionsofcustomersaroundtheworld.
Some services are storing, displaying, sharing
photos and ordering prints. The company devel-
oped a Web-based platform to handle millions
of digital photographs, digital-quality printed
albums,photosharingamongusers.Furthermore,
the company needed to be capable of expand-
ing the functionality to add new products in the
future and not limited only to the manipulation
of images, plus offer the user a great experience
when using a fully interactive platform. To carry
out the above, Kodak EasyShare launched Photo
Books in 2004 that allowed to users to create their
own photo books by a striking interface where
they could drag and drop images on the pages of
a book, change the page, change the background,
amongotheroptions.InPhotoBooks,userscould
10
Basic Concepts on RIAs

also view the content without loss of time and
avoiding reloading the entire Web page to update
only the book page.
Among the benefits gained by using Photo
Books include:
• Innovation of providing the photo album
service to its customers.
• Increasing sales by offering the option of
printing the album created by the customer
or individual photos.
• Attracting a greater number of customers
by providing compatibility between the
Kodak EasyShare software for PC and on-
line version.
• Providing more products over the Internet.
• Developing a platform capable of being ex-
panded in terms of functionality
MINI USA (www.miniusa.com)
MINI USA is a division of BMW™ North Amer-
ica. MINI USA is responsible of producing MINI
cars in the U.S. market; the goal of developing
a RIA was to promote the brand with a unique
brandofcarcustomization.Withtheimplementa-
tion of a RIA, users had a new experience of the
Web site management. The main feature was the
customization of Web pages allowing users to
manufacture his own MINI car through a simple
processthataddsnonlinearelementseitherinside
or outside the car; the navigation ensured that all
options of exchange were available in a part of
the Web page. Users could see the exact car that
they were getting and could understand the price
implicationsoftheirconfigurationchoicesateach
step of the purchasing process.
With this new development, it allowed people
to customize their own personal MINI through a
simple, non-linear five-step process that included
the ability to add aftersales MINI Motoring
Accessories such as custom roof graphics and
wheels. The navigation assured that everything
aws viewable on one web page. This rules-based
architecture assured that it only allowed the abil-
ity of configuring a vehicle that could actually be
purchased,anditallowedMINItoeasilymaintain
therules,asthevehiclespecificationschangefrom
model year to model year. When users finished
the configuration process of a car, they could give
it a name, save it, calculate payments for it and
easily send their configuration to a MINI dealer
or a friend. MINI encouraged them to configure
and save as many customized MINIs as they like.
The customization feature offered the following
benefits:
• An increasing in registered customers.
• The majority of registered clients config-
ured a MINI.
• Customers were attracted by the way they
could customize a MINI car to their needs.
• Customization was done in an easy way;
all information was always available on
screen.
• The information was directly sent to a
MINI dealer, giving greater confidence to
the customer.
FootJoy™ (www.footjoy.com)
As one of the major brands in the Acushnet
Company™, FootJoy is a main manufacturer and
distributor of golf shoe and golf glove products in
the world. They are estimated to own 55%-60%
of each of those markets. Other products include
socks, outerwear and accessories. The company
distinguished itself in two ways: by the quality
of its products and service, and by its reputation
for innovation in golf shoe and glove technology.
They believe they have a very good feel for the
consumer,hisorherneedsandhowtoservethem.
They faced several challenges:
• Improve the usability of the site. They
wanted to provide a two-way interactive
experience with a look and feel better rep-
resenting the brand. They wanted the abil-
11
Basic Concepts on RIAs

ity to support the customer and better spot-
light or merchandize information such as
new products, news, among others.
• Enable the customer to develop a relation-
ship with the company by mirroring on
the website the kind of expertise and guid-
ance the customer would get in person in
a FootJoy store. Specifically, they wanted
to develop the Product Finder based on
product knowledge captured from FootJoy
experts, to allow visitors to quickly iden-
tify themselves and their needs, and to map
these needs to an appropriate product.
• Put a strategic technology foundation in
place, including content management, and
ties into their legacy product system, that
would serve as a base for future website
development.
• Bring organization to the catalog content
to allow them to update on-line catalogs
more rapidly by themselves, without in-
volving expensive and over-booked techni-
cal resources.
• Create a participatory site fostering com-
munity, by soliciting user feedback through
on-line polls, and by providing information
about products, golf courses, tips, expert
interviews and weather reports.
Inordertoretaintheirsubstantialmarketshare,
FootJoydevelopedaRIAcalledProductFinderin
ordertopresentaseriesofquestionsthatguidethe
visitorthroughaproductselectionprocess,similar
to how an expert might engage the customer in
thestore.Contentsuchaspicturesofgolfshoesor
gloves and brief textual product descriptions are
pulled from the content management system. In
early September 2003, FootJoy launched myjoys.
com, a RIA to revolutionize the way Golf Shoes
were purchased online. Through this application,
customers could access an elegant shoe creation
interface that allowed them to see exactly what
theirshoewilllooklikeastheydesignandchange
it (MyJoys offered the user 2 base and 14 saddle
colors option as well as the chance to personal-
ize the shoe with up to 3 letters and/or numbers).
Leatherstockswerecheckedinreal-time,viaFlash
Remoting, notifying the customer if their leather
selectionisunavailableandemailingthemwhenit
wasbackinstock.Theapplicationincludedafully
integrated shopping cart and check-out process,
includingencryption(viaVerisgnSSL),anti-fraud
credit card checking and real-time address check-
ing and tax calculation to ensure an accurate and
secure check-out experience. The “My FootJoy”
area allowed users to save custom shoes to their
wish list and track their orders. Customized shoe
ordersweredirectlysenttoChinawheretheshoes
were manufactured and shipped to the customer
within 3 weeks.
FootJoy exceeded the usage expectations by
over 200%. At an average of $150 per shoe order,
thisunexpectedincreasehadasubstantialincrease
on revenue for FootJoy, and it observed a substan-
tial increase the ROI on the MyJoys application.
The Broadmoor Hotel™ and BlueGreen
Vacation Rentals™ (www.broadmoor.
com, www.bluegreenrentals.com)
Theonlinetravelreservationshavebecomeafairly
common occurrence. But it is often frustrating.
Frequently, users traverse through several web
pages of search and result screens, selecting ho-
tels, dates and room types, then by only checking
availabilitytodiscoverthatthereisnotroomatthe
inn, or the unaffordable room rate is not revealed
until the very end, forcing the user to repeat the
process again. At the same time, the Web is the
cheapestsaleschannelforhotels.Byusingatravel
agent can cost a hotel 15%-30% of the revenue in
commissions, and many large hotels and chains
mustpaytouseaglobaldistributionsystem(GDS)
to electronically distribute their inventory. If the
hotels can move more reservations to the Web,
they can save substantial money. But the main
issue is that they need to be assured that they are
not going to move people to the Web only to have
12
Basic Concepts on RIAs

them unable to complete a reservation. If a better
experience leads to more completed reservations
and thus increased revenues, then a Web site that
provides a better experience becomes an impera-
tive for the hotels.
Webvertising, a firm in Houston Texas, mar-
kets a suite of products and services for hotels,
including OneScreen, an innovative, easy-to-use,
single screen interface for on-line reservations.
Over 800 independent hotels, hotel companies
and destination marketing organizations now
use Webvertising’s solutions to manage room
inventory and electronic distribution over the
Web. OneScreen allowed over 200 hotels, like
the Broadmoor, a Mobil 5-star luxury hotel, and
time-shareorganizations,likeBluegreenVacation
Rentals, offer a better reservation experience to
travelers to an increased number of reservations
and room nights booked. Today most hotels use a
traditional multi-step, multi-page reservation ap-
proach for online reservations. The challenge for
the Broadmoor was to fundamentally change the
user’sreservationexperiencesuchthatthesimplic-
ity, clarity and ease of use of the experience led to
amoresatisfiedcustomerandincreasedbookings.
The key factor was reducing the number of steps
involved in making the registration process.
The impact of the OneScreen RIA on the
hotels was stunning. Webvertising’s hotel cus-
tomers reported online reservations in general
increasing 46% over the previous year, due to
the natural growth in the use of the Web to make
reservations. However, hotels that moved from
an HTML-based interface to the OneScreen
interface observed an additional increase of 89%
in reservations. Furthermore while the average
conversion rate (from visitor to buyer) for hotels
using the HTML-only interface was 2.3%, it was
almostdoublethatwiththeOneScreeninterfaces.
In one instance, the Greenbrier Hotel observed a
dramatic8-foldincreaseinconversionsfrom2.7%
for their HTML-based interface to 22% when
they used OneScreen. For most hotels, even a 1%
increase could be worth hundreds of thousands
of dollars a year.
Verizon Wireless™ (www.
verizonwireless.com)
Verizon Wireless is the largest operator of mo-
bile telephony in the U.S. with 80 million active
customers. In order to publicize its products and
services to a wider audience, Verizon developed
an online store which offered ringtones, ringback
tones and more. The main objective of the shop
was to support millions of subscribers and high
transaction volumes, also providing a lightweight
application for customers to easily download
MP3 files. The platform was developed by using
Adobe Flash providing to customers a flexible
experience offering several benefits for both the
company and the customers:
• Increase online incomings related to ring-
tones and ringbacks tones to be available
whenever on the store.
• Provides access to an extensive library of
MP3 files to registered customers.
• The platform is scalable to provide more
products.
Yankee Candle Company
TheYankeeCandleCompanyisanotherstrongex-
ampleofhowaRIA-basedconfiguratorimpacted
a company. It is a designer, manufacturer, retailer
and wholesaler of premium, scented candles in
the U.S. They directly sell through their stores,
catalogs and on-line Web site, as well as through
partners.Theyhadstronggrowthplans,andwanted
to create a better e-commerce environment than
theircurrentwebsiteoffered.Theyfacedthechal-
lenge of increasing buyer confidence to improve
sales of custom candles on-line. Customers buy
custom candles for very important events such as
weddings or corporate events, and they typically
13
Basic Concepts on RIAs

buy them in bulk. The problem was that buyers
haddifficultlyvisualizingwhatthecustomcandle
would look like once they had made all the selec-
tions. The initial version of the Web site’s custom
candle section used HTML-based pages and re-
quired that users check boxes to select the candle
colorandfilloutaformwiththetextforthecandle
label message. Once the color was selected, they
could never see what this configuration actually
looked like before being asked to buy the candle
in bulk and on faith. It was no wonder because
people would abandon their shopping cart or call
customer service for reassurance that the candle
would look like what they imagined.
YankeeCandlefeltthatthissectionoftheweb-
sitewasineffective.Thiswascorroboratedbydata
indicating that the average purchase was smaller
on-linethanthroughotherchannels.Thiswasalso
an indication that they were doing an inadequate
job of up selling and cross selling on-line.
TechnicallytheproblemwasthatusingHTML-
based technology they could not represent what
the final product would look like.
The Yankee Candle chose to develop a
Flash-based user interface for the custom candle
configurator for several reasons. First, it allowed
themtodynamicallyrenderapictureofthecandle,
based on the user’s selections. It also allowed
them to create a better Web customer experience
that would behave consistently across platforms,
a benefit of the broad reach and cross-platform
support. Second, they could develop the applica-
tion more quickly and thus less expensively than
with alternative technologies. This was due in
part to the development tools, which provided
out-of-the-box user interface components such as
drop down menu boxes, and because they were
able to integrate the presentation layer into their
existing backend system, which consisted of an
Oracle product database and BroadVision eCom-
merce system.
WhilethemajorityofthesitewasHTML-based
technology, the custom candle configurator is a
single screen Flash-based interface that utilizes
their existing e-commerce infrastructure. It ob-
taineddataandimageryfromtheproductdatabase
andecommercesystem.Asusersselectedthelabel
and fragrance and enter the label’s text message,
they immediately observed a realistic picture of
thecustomcandleasitdidappearwhencomplete.
Userswereencouragedtoselectoptionalfinishing
touches such as wrapping the candle in fabric or
adding a ribbon or a flower, creating the oppor-
tunity for Yankee Candle to upsell the customer.
The user could construct “what-if” scenarios at
any point to see what it did look like and what it
did cost for both the basic candle as well as the
additional options.
The end result was that this real-time visual-
ization of their custom candle gave consumers a
higher level of confidence, and they bought more
candles. Yankee Candle observed a 25% increase
in both product revenue and average order size,
exceedingtheirexpectations.Inaddition,theyhad
a 70% drop off in calls to their call center for the
custom candle line, and they received multiple
customer testimonials with positive feedback on
the website. There was an additional surprising
result:theirowncallcenterrepresentativesstarted
going to the website and using the configurator
when fielding customer calls.
Charles Schwab
Charles Schwab’s marketing planning calendar
provides an excellent example of an application
for cross-departmental data visualization. The
Charles Schwab Corporation is a provider of se-
curities brokerage and related financial services,
including retail, telephone and Internet-based
brokerageoperations.Schwab’smarketingdepart-
ment needed to centralize the planning, tracking
and analysis of all marketing initiatives and make
the information visible and accessible to both
executives and marketing project coordinators.
They needed to build a highly complex enterprise
reportingapplication.Theywerefacedwithmany
challenges. They needed to:
14
Basic Concepts on RIAs

• Address multiple types of users with dif-
ferent information needs and visualization
requirements
• Present deep, multi-dimensional data
sets (e.g., how much money was spent on
which projects over what time) in an intui-
tive, logical and visual way
• Provide sophisticated yet easy-to-use re-
porting tools usable by both executives and
project planners
• Deliver responsive and interactive tools
that allowed the user to be in control
Theychosetodevelopacustomdatavisualiza-
tion solution to be able to dynamically communi-
cate to different constituents. The sophistication
of the data visualization required a wholly new
approach and exceeded what was realistic using
HTML-based technology or any out-of-the-box
or web-based calendaring tools. They wanted, for
example, a drilldown Gantt chart in which they
could see the spending details of a particular proj-
ect. It was not possible to do that in HTML-based
technology. To meet two different and distinct
user needs they developed two views: timeline
and analysis.
The timeline view presented information in
the form of a dynamic Gantt-style calendar and it
wastargetedatprojectcoordinators.Byusingthis
view, project managers could quickly and easily
visualizetheoveralltime-basedstatusofmultiple
projects. Drill down capabilities allowed the
project manager to click to see individual project
detailswithinaprogram,suchasbudgetdata,orto
manipulate projects, such as plan advertising for
a different media channel. The tool gave them a
frameworktovisualizeandmanipulatethedetailed
marketing planning information.
The analysis view presented an aggregated
holistic view that allowed Schwab marketing
executives to answer bigger questions, like “How
am I spending money in the first quarter?” With
thisdynamicvisualtool,Schwabexecutivescould
rapidly analyze marketing expenses across initia-
tives and time, and realize a more efficient use
of the marketing budget. They could change the
selectedcharacteristicstoposedifferentquestions
and get a different view on the data. By using this
tool, they could slice and dice and then visual-
ize the information in useful ways that were not
possible before.
These use experiences presented in different
domains give samples of the range and kind of
business benefits afforded by using RIAs. RIAs
transformedtheapplicationsconfiguration,espe-
ciallywhentheyrequiredenhancedvisualization.
RIAs allowed to buyers purchase products off
a single screen and see the product that it was
the result of their selections improving the user
experience.
5. CONCLUSION
In this chapter, a general overview of Web ap-
plications and how they emerged has been pro-
vided in order to place the reader in the context
of the RIAs development. Also the most relevant
information about RIAs was discussed. The case
studies presented give a sample of the range and
kind of business benefits afforded by Rich Inter-
net Applications. These case studies show how
RIAs have the ability to handle various kinds
of complexities and enable wholly new kinds
of Web applications. While some results were
visibly more dramatic or compelling, taken as a
whole they begun to have an alternative picture
of how Web applications can be, and how they
can in many instances, fundamentally change a
company’s business or the nature of the game
with their competitors.
In e-business applications, RIAs allowed ho-
tels to dramatically increase their reservations,
revenues and room nights booked by simplifying
theworkflowcomplexityofmakingareservation.
RIAs transformed configuration applications,
especiallywhentheyrequiredenhancedvisualiza-
tion. For both MINI USA and The Yankee Candle
15
Basic Concepts on RIAs

Company, the ability of a Rich Internet Applica-
tion to let buyers purchase products off a single
screen and see the product that was the result of
their selections transformed the user experience.
Finally, Schwab demonstrated that RIAs could
have a strong impact on internal corporate ap-
plications, by facilitating data visualization and
reporting across different groups of users.
REFERENCES
Bozzon, A., Comai, S., Fraternali, P.,  Carugui,
G. T. (2006). Capturing RIA concepts in a web
modeling language. In Proceedings of the 15th
international Conference on World Wide Web
WWW 06, (pp. 907-908). ACM. Retrieved from
http://discovery.ucl.ac.uk/1320284/
Brambilla, M., Preciado, J. C., Linaje, M.,  San-
chezFigueroa,F.(2008).BusinessProcess-based
ConceptualDesignofRichInternetApplications.
In Proceedings of Eighth International Confer-
ence on Web Engineering, (pp. 155-156). IEEE.
Retrieved from http://ieeexplore.ieee.org/lpdocs/
epic03/wrapper.htm?arnumber=4577879
Linaje,M.,Preciado,J.C.,Morales-Chaparro,R.,
 Sanchez-Figueroa, F. (2008). On the Imple-
mentation of Multiplatform RIA User Interface
Components. In Proceedings of ICWE 2008
Workshops, 7th Int. Workshop on Web-Oriented
Software Technologies, (pp. 44-49). ICWE. Re-
trievedfromhttp://icwe2008.webengineering.org/
Program/Workshops/ISBN978-80-227-2899-7/
icwe2008ws-CD/individual-files/02icwe2008ws-
iwwost08-linaje.pdf
Namscimbene, C. (2005). Adobe  Macromedia
Sales Engineer en el distribuidor ALAB S.A. Re-
trieved6July2011fromhttp://www.canal-ar.com.
ar/noticias/noticiamuestra.asp?Id=2639
O’Reilly, T. (2005). What is Web 2.0. Design
Patterns and Bussiness Models for the Next
Generation of Software. Design, 65(65), 17-37.
Retrieved from http://papers.ssrn.com/sol3/pa-
pers.cfm?abstract_id=1008839
Rivero, J. M.,  Buzzo, M. H. (2007). Definición
deRichInternetApplicationsatravésdeModelos
de Dominio Específico. Retrieved from: http://
revista.info.unlp.edu.ar/tesinas/tesis51.pdf
Veit, F. (2008). Introducción a Tecnologías En-
riquecidas para Internet. (Unpublished thesis).
Facultad de Ingeniería, Universidad ORT Uru-
guay, Uruguay.
ViverosGarcía,M.C.,GarcíaGodoy,D.(2009).
Elaboración de una guía para el desarrollo de
aplicaciones en extjs. (Unpublished thesis). In-
stituto Tecnológico de Orizaba.
Wikipedia. (2011). Rich Internet Application.
Retrieved 02 Feb 2011, from http://en.wikipedia.
org/wiki/Rich_Internet_application
ADDITIONAL READING
Fraternali, P., Rossi, G.,  Sánchez-Figueroa, S.
(2010).RichInternetApplications.IEEEInternet
Computing, 14(3), 9-12. Citeseer. Retrieved from
http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.
htm?arnumber=5481362
Shahrooz Feizabadi. (n.d.). History of the World
WideWeb.Retrievedfromhttp://ei.cs.vt.edu/book/
chap1/htx_hist.html
uclm.es.(n.d.).ACERNinventionyouarefamiliar
with:TheWorldWideWeb.Retrievedfromhttp://
www.uclm.es/profesorado/ricardo/CursoHTML/
Presentacion/CERN/web.html
w3.org.(n.d.a).ALittleHistoryoftheWorldWide
Web, from 1945 to 1995. Retrieved from http://
www.w3.org/History.html
16
Basic Concepts on RIAs

w3.org. (n.d.b). Some early ideas of HTML.
Retrieved from http://www.w3.org/MarkUp/
historical
w3.org. (n.d.c). The World Wide Web - past, pres-
entandfuture.Retrievedfromhttp://www.w3.org/
People/Berners-Lee/1996/ppf.html
KEY TERMS AND DEFINITIONS
BusinesstoCustomer(B2C):Somestrategies
of commercial enterprises to get directly to the
customer or end user.
E-Commerce: The marketing of products or
services through electronic media and especially
via Internet.
E-Entertainment: The way of providing
entertainment through electronic media and es-
pecially via Internet.
E-Learning: The way the impartation of
knowledgeandeducationthroughelectronicmedia
and especially via Internet.
RichInternetApplications:Applicationsthat
are deployed over the Web, this type of applica-
tions combines features and functionality of Web
applications and desktop applications.
Web 2.0: Web applications that allow for
easier-to-share information, interoperability,
user-centered design, and collaboration with the
World Wide Web.
World Wide Web (WWW): An information
distribution system comprised of interlinked
hypertext or hypermedia accessed by using the
Internet.
ENDNOTES
1
“Flex Performance Brief: A Comparison of
Flex and JavaServer Pages Applications”,
Macromedia white paper, May 2004.
17
Copyright © 2015, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited.
Chapter 2
DOI: 10.4018/978-1-4666-6437-1.ch002
Frameworks for RIAs
Development
ABSTRACT
Chapter 2 describes the most popular options for RIAs development. For practical purposes, these op-
tions are classified into two categories: 1) JavaScript-based frameworks and 2) non-JavaScript-based
frameworks; even though there are other classifications reported in the literature, this classification is
used in this chapter and throughout the book. In fact, this classification allows for a quick understand-
ing of the technologies for RIAs development by abstracting technical details about intended software
architectures. In the case of JavaScript-based framework, some frameworks were selected and analyzed
such as Dojo, jQuery, Mootools, and Prototype. In the case of non-JavaScript-based frameworks, frame-
works selected and analyzed were Adobe Flex™, JavaFX™, Silverlight™, and OpenLaszlo™. For each
framework, the architecture, functionality, and properties are described.
1. INTRODUCTION
There are many options for developing RIAs
(RichInternetApplication).RIAframeworkshave
become popular in recent years. “A framework
is a defined support structure in which another
software project is organized and developed.
Commonly,aRIAincludessupportforprograms,
libraries, and an interpreted language in order to
help develop different components of a project”
(Viveros García  García Godoy, 2009).
According to their license type, RIA frame-
works can be classified into open source frame-
works – such as jQuery – and commercial frame-
works – such as Adobe Flex™. The most popular
optionsforRIAsdevelopmentaredescribedinthis
chapter in order to help developers and designers
in the decision making process about the RIA
technology to be used considering which best
suits the features of the project to be carried out.
This chapter discusses the different technologies
for RIAs development.
2. FRAMEWORKS FOR
RIAS DEVELOPMENT
In recent years, several classifications for RIAs
havebeenproposed.Theseclassificationsaddress
different aspects of RIAs, such as functional-
18
Frameworks for RIAs Development

ity, target runtime environment and, other more
complexissues,suchasthesoftwaredevelopment
technology (Toffetti, Comai, Preciado,  Linaje,
2011). Some of these classifications of RIAs are
presented below.
Four main aspects of the application develop-
ment are considered basing on the user’s experi-
ence:
• Rich Presentation: RIAs offer client-
side event-handling and widgets similar
to desktop-based UIs. This permits partial
page updates, support interaction with vi-
sual data representations, and multimedia
content (e.g., audio, video).
• Client Data Storage: It is possible to store
data on the client-side with different levels
of persistence (in a temporal way while the
application is running).
• Client (and Distributed) Business Logic:
It is possible to carry out complex opera-
tions directly on the client-side, such as
data navigation/filtering/sorting with mul-
tiple criteria, domain-specific operations,
and local validation of data. It is also pos-
sible to distribute the Business Logic be-
tween the client and the server-side, (e.g.,
to validate some form fields on the client
and others on the server-side).
• Client-Server Communication: RIAs
support synchronous communication be-
tween client and server-side to distribute
domain objects, data, computation, and
provide server-push (e.g., in collaborative/
monitoring applications) (Toffetti et al.,
2011).
Depending on each of the application’s func-
tionalities, the features above can be combined
to obtain standalone applications, collaborative
applications, or simply more appealing UIs (UI
standsforUserInterface)forexistingWebapplica-
tions. In terms of growing number of features and
development complexity, a RIA’s may typically
falls into one of the following types of applica-
tion (that they can be possibly combined to obtain
complex RIAs):
• Traditional Web applications with RIA-
makeover: Where simple isolated RIA ca-
pabilities (usually for partial page updates)
are added to a traditional Web application
(e.g., Facebook™).
• Rich UIs: Web applications with widget-
based UIs, where the client-side logic is an
extension layer over the browser, supersed-
ing core browser responsibilities, such as
handling events and managing states and
the rich user interfaces components work
in a coordinate way (e.g., Gmail™).
• Standalone RIAs: Web applications ca-
pable of running both inside and/or outside
the browser in a connected and/or discon-
nected fashion (e.g., SlideRocket™).
• Distributed RIAs: Where the application
data and logic are (sometimes dynamical-
ly) distributed across client and server-side.
Moreover, on-line collaboration is sup-
ported and client-server communication
is used to fill the gap between objects and
events living across the application compo-
nents (e.g., Google Docs™) (Toffetti et al.,
2011).
Currently, RIAs capabilities can be imple-
mented in a number of different client-side
technologies. These technologies can be broadly
classified into three categories according to the
runtime environment:
• JavaScript-Based: The client-side busi-
ness logic is implemented using the
JavaScript scripting language (the approach
is also known as “AJAX”, which stands
for Asynchronous JavaScript and XML).
Moreover, UIs are based on a combination
of HTML (HyperText Markup Language)
and CSS (Cascading Style Sheets). The
19
Frameworks for RIAs Development

main advantage of this approach is that it
relies on both built-in browser JavaScript
support and W3C (World Wide Web
Consortium) standards.
• Plug-in-Based: Advanced rendering and
event processing are granted by brows-
er’s plug-ins interpreting specific script-
ing languages, XML (Extensible Markup
Language), or media files (e.g., Adobe
Flex™, JavaFX™, Silverlight™).
• Runtime Environments: Applications are
downloaded from the Web but they are ex-
ecuted outside the browser using a desk-
top runtime environment (e.g., Java Web
Start, Adobe AIR™). These solutions offer
client-side capabilities and off-line usage
with full access to the underlying operat-
ing system. Many RIA technologies can
be used to develop applications for these
runtimes (e.g., development technologies
can be used for Adobe AIR™, Javascript-
based and/or Flash-based) (Toffetti et al.,
2011).
In order to address the multiple options for
developing RIAs, this chapter presents a classi-
fication schema of RIAs. This classification was
made according to the development technology.
Figure 1 shows this classification schema, which
issimplerthanotherproposals.Morespecifically,
the shcema consists of two categories: the first
groups JavaScript-based frameworks and the
secondgroupsnon-JavaScript-basedframeworks.
2.1. Non-JavaScript-
Based Frameworks
ThefirstsetfordevelopingRIAsisnon-JavaScript-
based frameworks. Merely the most popular and
therefore most used frameworks on the market
were considered.
2.1.1. Adobe Flex™
Flex is an open source framework for developing
mobile applications for Apple iOS™, Android™
and BlackBerry™ Tablet OS. It is also used for
traditional Web and desktop applications that are
Figure 1. Classification schema for RIAs development
20
Frameworks for RIAs Development

deployedinthemajorWebbrowsersandoperating
systemsusingthesamecode-base(Adobe,2011).
Moreover, Flex provides a programming
language and a programming model based on
standards supported by common design patterns
(Adobe, 2011).
Finally,alongwiththeFlashPlayerandAdobe
AIR runtime environments, Flex also belongs
to the so-called Adobe Flash Platform, and it
comprises different components/modules. These
components/modules are described below:
1. MXML and ActionScript Languages:
MXML is a declarative XML-based lan-
guage that permits describing the distribu-
tion, appearance and behavior of the ap-
plication’s user interface. ActionScript 3.0
is an ECMAScript-based object-oriented
language which anables to define the ap-
plication’s business logic. The MXML
(MacromediaeXtensibleMarkupLanguage)
and ActionScript source code are compiled
together into a single SWF file, which com-
prises the Flex-based application.
2. The Flex Framework SDK Components:
The Flex SDK (Software Development Kit)
isasetofuserinterfacecomponents,suchas
lists, buttons, and graphics, among others. It
includestheAdobeFlex™framework(com-
ponent class library) and the Flex compiler.
Flex compiler enables to freely develop and
deploy Flex-based applications.
3. The Flash Builder IDE (Integrated
DevelopmentEnvironment):AnEclipse™-
based IDE for Adobe Flex™-based applica-
tiondevelopment.FlashBuilder™provides
support for building Adobe Flex™-based
and ActionScript-based applications for
Android™, BlackBerry™ Tablet OS and
Apple™ iOS™.
4. The Runtime Environment for Web
Browser, Adobe Flash Player™: Adobe
Flash Player™ is a multiplatform runtime
environmentforWebbrowsers-basedappli-
cations.ItpermitsdeployingAdobeFlex™-
based applications in a Web browser using
a plugin (McCune  Subramaniam, 2008).
Figure 2. Main Adobe Flex™ components
21
Frameworks for RIAs Development

Figure 2 depicts the interaction among the
components/modules involved in Adobe Flex™.
Adobe Flex™ provides a standards-based
middle tier presentation server specifically de-
signed for construction of server-based RIAs.
Adobe developed Flex with the aim of improving
the user’s experience in creating rich dynamic
Internet applications and to help developers ac-
complish more with fewer resources.
The advantages of using Adobe Flex™-based
technology are listed below.
• The Web browser-based applications
run within a controlled environment, the
Adobe Flash player™ plugin. Therefore,
it is not necessary to consider the Web
browser features. According to Adobe,
Adobe Flash Player™ is currently installed
on over one billion of desktop computers
across Web browsers and operating sys-
tems (Flash Player, 2012),.
• Adobe Flex™ is a mature technology.
• IDE support comes not only from Adobe
with FlashBuilder but also from Jetbrains
with IntelliJ IDE.
• Adobe Flex™, especially since the release
of Adobe AIR™, represents a powerful
option for RIAs development (Smeets,
Boness,  Bankras, 2008).
The most important Adobe Flex™ properties
are presented in Table 1.
Some success stories of using Adobe Flex™
on the development of well-known Web sites are
described in Table 2.
The Adobe AIR™ runtime environment
enables developers to use HTML, JavaScript™,
Adobe Flash™, and ActionScript™ in order to
build Web applications that run as stand-alone
client applications without the Web browser
constraints. In fact, it is a consistent and flexible
runtimeenvironmentthatallowsdeployingAdobe
Flex™-based applications as desktop and native
mobile applications. (Adobe AIR™, 2011).
Table 1. Adobe Flex™ properties
Developers Adobe™
Features Deployment platforms.
Adobe Flash Player™:
Windows™, Mac OS™, Linux™, Solaris™,
Android™ and BlackBerry Tablet OS™
+*0
Adobe AIR™:
Windows™, Mac OS™, Android™ and Apple
iOS™
Development platforms
Windows™, Mac OS™, Ubuntu™ and
Fedora™ (Adobe Flex™ SDK 4.6)
Version Current release
4.6
License Proprietary (Free Adobe Flex™ SDK) and
Mozilla™ Public License (MPL) 1.1 (Open
Source Adobe Flex™ SDK)
Table 2. Success stories of Adobe Flex™
Website Description
Honda™, www.buildyourhonda.
eu
This website allows users to customize their motorcycles, while they can visualize the results. This
application was built using the Adobe Creative Suite™, Adobe Flash Player™, Adobe Flex™,
Adobe Flash Builder™, and Adobe Photoshop™.
Standard Chartered Bank™,
standardchartered.com
In order to enable rich user experiences through an interactive and visually attractive website, the
banking firm Standard Chartered Bank™ developed the user interface of its website using Adobe
Flex™.
New York Times™, timesreader.
nytimes.com / webapp /
TimesReader.do
The dynamic digital reader of the New York Times™, called Times Reader 2.0, was developed
using Adobe Flex™ and Adobe AIR™.
Philips Lighting™, www.lighting.
philips.com
This RIA enables users to dynamically manage and manipulate large amounts of real-time
information (e.g., sales figures, costs models, order histories) trough an interface developed with
Adobe Flex™.
22
Frameworks for RIAs Development

2.1.2. JavaFX™
JavaFX™ is an application platform for develop-
ing and deploying RIAs that runs on a variety of
devices. It is fully integrated with the JRE (Java
Runtime Environment), and it leverages the per-
formanceandubiquityoftheJava-basedplatform.
JavaFX-based applications run on any desktop
and Web browser running the JRE, they can eas-
ily integrate them to JME (Java Platform Micro
Edition). JavaFX™ allows opening possibilities
of applications development for mobile phones,
TVs and other devices. Noteworthy that only the
pre-2.0 versions have mobile devices-support.
TheJavaFX™platformincludesthefollowing
components:
• The FXML Language: A scriptable,
XML-based, markup language for building
Java object graphs.
• The JavaFX SDK: Which includes:
◦
◦ The runtime environment of
JavaFX™ Desktop (Desktop
JavaFX™ Runtime).
◦
◦ APIs (APIs stands for Application
Programming Interfaces) for
JavaFX™.
◦
◦ The JavaFX™ compiler.
• The NetBeans™ IDE for JavaFX™:
JavaFX™ technologies are integrated with
the NetBeans™ IDE, a mature and pow-
erful development environment, which al-
lows developing, previewing, and debug-
ging JavaFX™ applications more easily.
• Java FX™ Scene Builder: JavaFX™
SceneBuilderisacommercialfreesoftware
tool for visually designing JavaFX™ appli-
cation GUIs (Graphical User Interface) in
FXML. It is a component of the JavaFX™
platform which was initially developed
by Sun microsystems™ and it is actually
maintained by Oracle™ Corporation.
The most important JavaFX™ properties are
presented in Table 3.
The advantages of using JavaFX™-based
technology are listed below:
• Java™ programmers use standard Java™-
based libraries in JavaFX™ applications.
• The JavaFX™ platform includes developer
tools: the NetBeans™ IDE for JavaFX™
and the JavaFX™ plugin for NetBeans™,
both as freeware. It also provides design
tools: the JavaFX™ plugin for Adobe
Photoshop™ and Adobe Illustrator™, as
freeware (Oracle Corporation, 2011).
The disadvantages of using a JavaFX™-based
technology are listed below:
• It is stacked on top of the JRE. The JRE
is available on every major platform (and
many minor ones). However, it is not
ubiquitously installed. The same is true of
Adobe Flex™/AIR™ and Silverlight™, of
course, but Flash is a lighter-weight solu-
tion than the whole JRE+JavaFX™ and
the latter is basically a default on the target
platform anyway (Smeets et al., 2008).
• JavaFX™ is an immature technology in
a field that has several more mature com-
petitors such as Adobe Flex™/AIR™ and
Silverlight™.
Table 3. JavaFX™ properties
Developers Oracle™ Corporation
Features Deployment platforms
Any operating system using JVM (Java Virtual
Machine)
Development platforms
Any operating system (JDK 1.7)
Version Current release
2.2
License BCL (Binary Code License)
23
Frameworks for RIAs Development

Table 4 describes some success stories of us-
ing JavaFX™ on the development of well-known
out-of-browser RIAs.
2.1.3. Silverlight™
Silverlight is a powerful development tool for
creatingengagingandinteractiveuserexperiences
for Web and mobile applications. Silverlight™ is
a free plug-in powered by the .NET framework
and compatible with multiple browsers, devices
and operating systems. It brings a new level of
interactivitywherevertheWebworks(Microsoft,
2011a). Silverlight™ introduces support for
running Silverlight™ applications with desktop
features in the browser, video quality and perfor-
mance improvements, and features that improve
developer productivity. Microsoft Silverlight™
platform consists of two main frameworks, and
an installation and updating component. These
features are described in Table 5.
For further details, the elements of the .NET
framework for Microsoft Silverlight™ are de-
scribed in Table 6.
The advantages of using Microsoft Silverlight
are listed below:
• It allows accessing to the .NET framework
programming model in order to develop
Silverlight™-based applications using dy-
Table 4. Success stories of JavaFX™
Website Description
Ubivent™, http://www.ubivent.com/en/start Ubivent™ is a Europe’s virtual event specialist offering a virtual event
platform. The platform allows online communication between thousands of
participants, providing a real event feeling. This platform is built on JSE (JSE
stands for Java Standard Edition) 7 taking advantage of the Java Web Start
technology.
Celer Technologies™, http://celer-tech.com/products/
framework/
Celer Technologies™ is a global financial software company with knowledge
on the financial technology sector. It offers an end-to-end financial trading
framework featuring rich GUIs developed in JavaFX™ v. 2.2.
DooApp™, http://www.dooapp.com/index.php/fr/
produits
DooApp™ is a software company headquartered in France. It specializes on
the development of tools addressing the needs of green building professionals.
It also offers a platform called Infiltrea™ for measuring airtightness.
Infiltrea™ is built on JSE 6 making extensive use of JavaFX™.
Table 5. Microsoft Silverlight™ Features
Feature Description
Basic Presentation
Framework
Components and services related to the design of user interfaces and user interaction. This includes data
provided by the user, user interface controls, multimedia playback, digital rights management, data links, and
presentation features such as vector graphics, text, animations and images. It includes XAML (eXtensible
Application Markup Language) language for the design of user interfaces.
.NET Framework for
Silverlight™
The .NET framework contains components and libraries that provide data integration facilities, extensible
Windows™ controls, networking, distribution (RSS / Atom) facilities, XML serialization, and garbage
collection facilities.
Moreover, it includes the LINQ (Language-Integrated Query) query language, the CLR (Common Language
Runtime) and DLR (Dynamic Language Runtime) runtime environments.
Installation and Upgrade
Component
Control installation and upgrade that simplifies the installation process of applying for new users.
Subsequently, it provides low-impact automatic updates (Microsoft™, 2011a).
24
Frameworks for RIAs Development

namic languages, such as IronPython and
IronRuby, or compiled languages like C #
and Visual Basic™ (Microsoft™, 2011b).
• Microsoft ™ Corporation provides two
different IDEs: Microsoft Expression
Studio™ for designers and Microsoft
Visual Studio™ for developers; the latter
is provided as freeware.
The disadvantages of using Microsoft Silver-
light™ are listed below:
• Microsoft Silverlight™ does not have sup-
port for the Linux operating system; never-
theless, there is an open source implemen-
tation called Moonlight (version 2.0) for
Linux™ and other operating systems based
on Unix/X11 (Moonlight, 2011).
• The Microsoft Silverlight™ plugin has
a lower market penetration for Flash
Player™, and even lower than the JRE.
However, Microsoft has distributed a plu-
gin for Silverlight™ with the latest ver-
sion of its operating system, Windows™
7. According to the British Computer
Society, Windows 7 is now installed on
over 20% of personal computers connected
to the Internet (bcs, 2011).
The most important Silverlight™ properties
are presented in Table 7.
Table 8 presents some success stories of well-
known websites developed using Silverlight™.
Table 6. .NET framework components for Microsoft Silverlight™
Element Description
Data It supports features of LINQ and LINQ for XML (XLinq) query languages, which facilitate the process of
integrating data from disparate sources. It also supports the use of classes for XML-based serialization and
data management.
Base Class Libraries
(BCL)
The .NET framework provides a set of base class libraries which provide functions and features that can be
used with any .NET framework-supported programming language, such as Visual Basic, C#, Visual C++,
among others. The base class library contains standard programming features such as collections, XML
parsing, data type definitions, I/O facilities (for reading and writing to files), reflection and globalization, to
mention but a few. Furthermore, it contains some non-standard features, such as the LINQ query language,
the ADO.NET class library (for database interactions), drawing capabilities, as well as forms and Web
support.
Windows
Communication
Foundation (WCF)
Windows Communication Foundation provides a unified programming model for rapidly building service-
oriented applications that communicate across the Web and the enterprise. It provides features to simplify the
access to remote data and services. It includes support for cross-domain HTTP (Hypertext Transfer Protocol)
requests, RSS (Really Simple Syndication) / Atom content syndication and JSON (JavaScript Object
Notation), POX (Plain Old XML) and SOAP (Simple Object Access Protocol) formats.
Windows Presentation
Foundation (WPF)
It provides a rich set of controls, such as a button, a calendar, check box, data grid, date picker, hyperlink
button, list box, radio button, and ascroll viewer, among others.
Dynamic Language
Runtime (DLR)
It supports dynamic compilation and execution of scripting languages, such as JavaScript and IronPython
for scheduling applications based on Silverlight™. DLR also includes a model of compatibility with other
languages to be used with Microsoft Silverlight™ (Microsoft, 2011b).
Table 7. Silverlight™ properties
Developers Microsoft™ Corporation
Features Deployment platforms
Windows™, Mac OS™ and Windows
Phone™
Development platforms
Windows™ and Mac OS™ (Silverlight™
SDK 5)
Version Current release
5
License Proprietary
25
Frameworks for RIAs Development

2.1.4. OpenLaszlo™
OpenLaszlo™ is an open source platform for
developing and delivering Web applications
with usable user interfaces. The OpenLaszlo™
platform enables developers to develop applica-
tions with typical rich user interface capabilities
of desktop client software taking advantage of
the no-download Web deployment model. These
applications run on all leading Web browsers on
allleadingdesktopoperatingsystemsusingXML-
basedcode.OpenLaszlo™isaproductdeveloped
by Laszlo Systems and it was published under
the Common Public License (CPL) (Smeets et
al., 2008).
OpenLaszlo™ uses a proprietary program-
ming language called LZX to define application
user interfaces. LZX is an XML-based markup
language that embeds JavaScript-based business
logic (Smeets et al., 2008).
OpenLaszlo supports LZX code compilation
into executable binaries for DHTML (DHTML
standsforDynamicHyperTextMarkupLanguage)
and Flash execution environments (Laszlo Sys-
tems, Inc, 2013c).
TheOpenLaszlo™SDKconsistsof:1)abuilt-
in Java compiler, 2) a JavaScript-based library
runtime, and 3) a Java-based servlet that provides
additionalservicestorunningapplications(Laszlo
Systems, Inc, 2013c). These components are
described in Table 9.
OpenLaszlo™ uses existing technological
infrastructure and standards as shown in Fig-
ure 3. Two application deployment models are
thouroughly described below:
• Mediated by the OpenLaszlo Server: the
OpenLaszlo™ server is always running. It
compiles the source code as needed, and it
sends the resulting file (SWF or JavaScript)
to the client in order to execute the ap-
Table 8. Success stories of Silverlight™
Website Description
Siemens™, siemensplmcampus.com The website features a virtual exhibition of the Siemens™ PLM Software
campus. Siemens™ PLM Software is a software development company
specialized in Product Lifecycle Management. Users can know how the
business works by interacting with the virtual buildings provided.
Mazda™, mazda.co.uk / car-configurator This website shows a Mazda™ brand car customizer. It incorporates high-
resolution images and external features, such as 360-degree views and zoomed
interior views (Silverlight™ showcase, 2011).
Digital Mixup™, mixupdigital.com Mixup™ is an online digital music and video store. The website aims to provide
a rich user experience for seeking, purchasing, and downloading songs and
albums.
Table 9. OpenLaszlo™ platform components
Component Description
OpenLaszlo™ Compiler It compiles LZX files into executable binaries for specific environments. OpenLaszlo™ currently
covers Flash (SWF format) versions 8.9 and 10, as well as DHTML.
OpenLaszlo™ Servlet It intercepts application requests for traditional media types and for SOAP and XML-RPC Web
services.
Laszlo™ Foundation Class
(LFC)
It is a runtime library that includes user interface components rich, data binding facilities, and
network services, among other features (Laszlo Systems, Inc, 2013a).
26
Frameworks for RIAs Development

plication either using the Flash Player™
plugin or directly in a Web browser. The
OpenLaszlo™ server intercepts applica-
tion requests through the use of a variety
of protocols.
• SOLO (stands for Standalone OpenLaszlo
Output): the LZX source code is pre-com-
piled into either a stand-alone SWF file that
can be placed within an HTTP Web server,
or into a JavaScript-based file. Therefore,
OpenLaszlo™-based applications can di-
rectly communicate with other servers us-
ing the SOLO deployment model. (Laszlo
Systems, Inc, 2013a).
The advantages of using OpenLaszlo™ are
listed below:
• OpenLaszlo™ is an open source platform.
• The OpenLaszlo™ architecture enables
different deployment models depend-
ing on the applications requirements
(Theserverlabs, 2011).
Figure 3. Deployment model for OpenLaszlo™ platform
Table 10. OpenLaszlo™ properties
Developers Laszlo Systems™
Features Deployment platforms
Any operating system
Development platforms
Any operating system
Version Current release
4.9.0
License Common Public License
27
Frameworks for RIAs Development

ThemaindisadvantageofusingOpenLaszlo™
is that the OpenLaszlo™-based applications
performancecanbeaffectedwhenSOLOdeploy-
ment model is used (Laszlo Systems, Inc, 2013a).
The most important OpenLaszlo properties are
presented in Table 10.
Table 11 describes several success stories
of well-known websites developed using Open-
Laszlo™.
2.2. JavaScript-Based Frameworks
JavaScriptisanobject-orientedscriptinglanguage
usedfordefiningWebbrowser-basedapplications
client-side. JavaScript enables Web developers to
programmatically create objects on a Web page.
It provides a platform for manipulating these
objects on-the-fly. Since the introduction of the
Asynchronous JavaScript and XML technology
(AJAX), JavaScript has evolved to become far
more useful. It currently brings a whole new level
of interactivity to Web-based programming. In
fact, prior to Ajax, any server-side processing
or database access required the entire page to be
refreshed or a new page to be rendered by the
Web browser.
Ajax stands for Asynchronous JavaScript and
XML, although the reference to XML is no lon-
ger valid as Ajax requests can return responses
in other several formats, such as JSON. Ajax
enables JavaScript to asynchronously submit an
HTTP request to the Web server, and render the
response without refreshing or rendering a new
page.Furthemore,thedevelopercanusetheDOM
(Document Object Model) to modify part of the
Web page in order to display the changes or data
returned as part of the HTTP response.
A JavaScript-based framework or library is
a set of utilities and functions that make it much
easiertoproducecross-browsercompatibleJavaS-
cript code. Each library can be extensively tested
acrossdifferentversionsofexistingWebbrowsers
in order to ensure that a JavaScript-based RIA
is similarly executed across different platforms
(RibosoMatic, 2013).
According to the authors’ point of view, the
eight most popular JavaScript-based frameworks
for RIAs development are presented below.
2.2.1. Dojo
Dojo is a framework that contains APIs and
widgets (controls) to facilitate Web applications
developmentusingAJAX-basedtechnology.Dojo
contains an intelligent packaging system, UI ef-
fects, function libraries to drag and drop widgets
APIs,eventabstraction,storageAPIsontheclient,
andinteractionwithAJAX-basedAPIs.Dojoalso
solvescommonusabilityissues,suchasnavigation
and browser detection, URL withstands changes
in the address bar (bookmarking), and the ability
to lay down when AJAX / JavaScript is not sup-
ported on the client-side (RibosoMatic, 2013).
Dojo is much more than a framework. Its creators
Table 11. Success stories of OpenLaszlo™
Website Description
Walmart™, walmart.com The Walmart™ multinational used this open source technology to redesign its website, adding rich
functionality (Laszlo Systems, Inc, 2013b).
Gliffy™, gliffy.com It is a Web-based and free CASE (Computer Aided Software Engineering) tool offered as an alternative
to commercial CASE tools, such as Microsoft Visio™. This application was entirely developed using
OpenLaszlo™. This provides rich capabilities such as drag and drop (Laszlo Systems, Inc, 2013b).
Fnac™, fnac.com Fnac™ is an international company headquartered in France, and it is specialized in electronics and
entertainment software sales. Fnac™ is an online shopping cart developed in OpenLaszlo™ allows users to
easily compare deals and options before making a buy decision (Laszlo Systems, Inc, 2013b).
28
Frameworks for RIAs Development

refer to it as the JavaScript toolset (“toolkit”) that
allows professionals to develop Web applications
easily and quickly. Furthermore, Dojo has a free-
softwarelicensetype(EguíluzPérez,2008).Dojo
saves time and offers a powerful performance and
scale in its development process. (Dojotoolkit,
2014). The most important Dojo properties are
presented in Table 12.
ByusingDojo,developerscanbuildwebpages
moreusable.Thismightmanifestitselfinavariety
of ways. The web page should be faster. It should
be better looking. It should be easier to operate by
the user. It should help the user properly enter the
required information, and the web page should be
easier to navigate. Dojo provides enhancements
in usability such as HTML form elements that
provide additional functionality. These enhance-
ments should make the current form elements
behave in more useful ways. Performance can be
improved either by making things run faster or
by making things appear to run faster. The ideal
way to make a process appear faster is to have the
processrunwhiletheuserisdoingsomethingelse
rather than just having him wait for the process
to complete. Ajax provides the ideal mechanism
to support this technique. Dojo in conjunction
with Ajax allow to a web page to asynchronously
make data requests of the server while the user is
continuing to work. The web page appears to the
usertobefasterandmoreresponsive.Datavalida-
tion can be improved by bringing the validation
of data closer to the entry of data. Dojo supports
the ability to send small validation requests to
the server without requiring an entire form to be
submitted. (Harmon, 2008).
2.2.2. jQuery
jQuery is a concise JavaScript library that simpli-
fies HTML document traversing, event handling,
animation,andAjaxinteractionsforrapidWebde-
velopment.Infact,thejQuerycompressedversion
is only 20 KB. Moreover, jQuery and Prototype
share many ideas; they also have function names
in common. However, their internals have some
drastic differences. JQuery simplifies JavaScript
Table 12. Dojo properties
Developers Alex Russell, 2004; David Schontzler, and Dylan Schiemann. It is equally important to mention support provided by the
Dojo Foundation.
Sponsors IBM™, Google™, AOL™ and Nexaweb™.
Features Dojo supplements are prepackaged components consisting of JavaScript, HTML, and CSS assets, which can be used to
develop RIAs.
• Menus, tabs, and tooltips
• Sortable tables, dynamic graphics, and 2D vector drawing
• Animation effects and the possibility of creating personalized animations
• Support for drag and drop
• Forms and validation routines for parameters
• Calendar, time and clock selector
• Online rich text editor
• Core components (dijit) accessible from earlier versions and screen reader
Browser support
Internet Explorer™ 6-9
Mozilla Firefox™ 3.6+
Safari™ 5+
Opera™ 10.5-12
Chrome™ 13+
Version Stable release 1.8,
October 10, 2012
License Berkeley Software Distribution (BSD) y Academic Free License (AFL)
29
Frameworks for RIAs Development

programming - including AJAX calls and DOM
manipulation -, while the jQuery documentation
is very complete and includes many examples
(EguíluzPérez,2008).ThemostimportantjQuery
properties are presented in Table 13.
jQuery has been considered as the best option
forthewebdevelopmentcommunity.Thishasbeen
reflejected in the developmet of well-known ma-
jor websites such as MSNBC, and well-regarded
opensourceprojectsincludingSourceForge,Trac,
and Drupal.
In comparison with other toolkits that are
focused on JavaScript techniques jQuery aims to
change the way that web developers think about
creating rich functionality in their web pages.
Rather than spending time juggling the com-
plexities of advanced JavaScript, designers can
leverage their existing knowledge of Cascading
StyleSheets(CSS),ExtensibleHypertextMarkup
Language (XHTML), and good old straightfor-
wardJavaScripttomanipulatewebpageelements
directly,makingmorerapiddevelopmentareality
(Bibeault  Katz, 2008).
2.2.3. MooTools
MooTools is a compact and modular Object-
Oriented JavaScript framework designed for
intermediate and advanced JavaScript develop-
ers. It permits writing powerful, flexible, and
cross-browser code with itswell-documented
and coherent API (Mootools, 2012). MooTools
is released under the Open Source MIT software
license, which provides de oportunity to use it
and modify it in every circumstance. The most
important MooTools properties are presented in
Table 14.
Some frameworks are focused on re-creating
a somewhat traditional inheritance model and
MooTools is focused on this and highly encour-
ages code reuse and develop modular designs.
JavaScripthasaprototypalinheritancemodel,and
Table 13. jQuery properties
Developers John Resig, 2006.
Sponsors Microsoft™ and Nokia™ companies announced that this library would be included in their platforms. Microsoft™ would
add it in the Visual Studio™ version 3 IDE, enabling ASP.NET and ASP.NET MVC-based development. On tbe other
hand, Nokia would integrate the library within the Web Run-Time platform.
Features • Selecting DOM elements
• Interactivity and DOM tree changes, including support for CSS 1-3 and basic XPath plugin
• Events
• Handling the CSS style sheet
• Effects and animations
• Custom Animations
• AJAX
• Supports extensions
• Various Utilities as browser information, operating with objects and vector functions for common routines, etc.
(jQuery, 2012)
Browser support
Internet Explorer™ 6+
Mozilla Firefox™ 2.0+
Safari™ 3+
Opera™ 10.6+
Chrome™ 8+
Version Stable release 1.8.3,
November 13, 2012
License General Public License (GPL) y Massachusetts Institute of Technology License (MIT)
30
Frameworks for RIAs Development

MooTools creates a structure to take advantage of
this model in a way that is more familiar to Java
developers (Newton, 2008).
2.2.4. Prototype
Prototype takes the complexity out of client-side
Webprogramming.Itwasbuilttosolvereal-world
problems.ItalsoaddsusefulextensionstotheWeb
browser-scriptingenvironmentandprovidesAjax
and DOM APIs. Prototype is a JavaScript-based
framework that aims to ease development of dy-
namic Web applications. It offers a familiar class-
style object-oriented framework, extensive Ajax
support, higher-order programming constructs,
and easy DOM manipulation. It was created by
Sam Stephenson in February 2005 as part of the
foundation for Ajax support in Ruby on Rails.
Prototype is implemented as a single JavaScript
file, usually named prototype.js. Prototype is also
distributedaspartoflargerprojects,suchasRuby
onRails,script.aculo.usandRico.Nowadays,itis
Table 14. Mootools properties
Developers The MooTools Dev Team
Sponsors Unknown
Features MooTools includes many components. A remarkable one is the download application available on MooTools website
that allows users to download only the parts of the library that they plan to use, including dependencies. Users can also
choose to download the compression level of the file. Some of the component categories of … are outlined below:
• Core: it is a collection of support functions that makes use of the other components.
• Class: it is the base library for MooTools object instantiation
• Natives: it is a collection of improvements to native JavaScript object by adding I functionality, compatibility, and
new methods that simplify the code.
• Element: it has many improvements and compatibility to the HTML object.
• Effects: Advanced API to encourage Elements
• Remote: it provides an interface for XHR requests, and tools for JSON Cookie.
• Window: it provides an interface, valid for any browser, for customer information, such as window size.
Browser support
Internet Explorer™ 6+
Mozilla Firefox™ 2+
Safari™ 3+
Opera™ 9+
Chrome™ 4+
Version Stable release 1.4.1
October 6, 2011
License MIT
Table 15. Prototype properties
Developers Sam Stephenson and Prototype Core Team
Sponsors Unknown
Features Prototype enables to deal with Ajax calls
in a very easy, fun, and especially safe way
(cross-browser). In addition to simple requests,
this module also deals smartly with JavaScript
code returned from a server and provides
helper classes for polling.
Ajax functionality is contained in the global
Ajax object. The transport for Ajax requests
is XmlHttpRequest, with browser differences
safely abstracted from the user. Actual requests
are made by creating instances of the Ajax.
Request object.
Browser support
Internet Explorer™ 6+
Mozilla Firefox™ 1.5+
Safari™ 2.0.4+
Opera™ 9+
Chrome™ 2+
Version Stable release 1.7.1
June 5, 2012
License MIT
31
Frameworks for RIAs Development

usedby3.9%ofallwebsites,whichmakesitoneof
themostpopularJavaScriptlibraries(Prototypejs,
2014). The most important Prototype properties
are presented in Table 15.
It might seem odd to state that a JavaScript
library can extend the language in which it was
written, but that is exactly what Prototype does.
JavaScript provides a mechanism known as
prototype-based inheritance (from which this
libraryderiveditsname).Infact,severalscripting
languages provide features for extending the base
objectsofthelanguage.Rubydoesit,andmanyof
theextensionsprovidedbyPrototypeareborrowed
from Ruby. Once could describe Prototype’s goal
as making JavaScript feel more like Ruby (Crane,
Bibeault  Locke, 2007).
2.2.5. Qooxdoo
Qooxdoo is a JavaScript library that offers many
facilities for developing advanced JavaScript-
basedinterfaces,includingadebugconsole,event
management, and source control, among others.
It is supported by the most current versions of
popular Web browsers, and it is released under a
GNU Lesser General Public License (LGPL) free
software license (RibosoMatic, 2013). Qooxdoo
is a comprehensive and innovative framework for
RIAs development. Furthermore, Qooxdoo is an
object-oriented and JavaScript-based program-
ming language for developing cross-browser ap-
plications where any expertise in HTML, CSS, or
DOM is not required. It includes a set of develop-
ment tools, a platform-independent GUI toolkit
and an advanced client-server communication
(Qooxdoo, 2014). The most important Qooxdoo
properties are presented in Table 16.
Qooxdoo is a universal JavaScript framework
with a coherent set of individual components and
a powerful toolchain. It is open source under lib-
eral licenses, and supported by one of the world’s
leading web hosts, 11(Qooxdoo, 2014).
2.2.6. Rico
Rico is a functions library for creating Javascript-
based RIAs. It is object-oriented, which makes it
easy to refactor Web application user interfaces
to rich user interfaces (Openrico, 2014). Rico
providesresponsiveanimationsforsmootheffects
andtransitionsthatcancommunicateuserinterface
changes more interactively than traditional Web
applications.Furthermore,thisJavaScriptlibrary
providesaverysimpleinterfaceinordertoregister
Ajax request handlers as well as HTML elements
or JavaScript objects as Ajax response objects.
From this perspective, multiple elements and/or
objects may be updated as the result of one Ajax
request (RibosoMatic, 2013). Rico is based on
Prototype, and it includes networking facilities,
complex user interface controls - such as calen-
dars and trees -, drag and drop functionality, and
user interface effects. Moreover, Rico is released
freely and as an open-source under the Apache
2.0 software license for either personal or com-
mercial use. The most important Rico properties
are presented in Table 17.
Table 16. Qooxdoo properties
Developers qx community
Sponsors Unknown
Features • It allows developers to abstract HTML,
CSS, and DOM-based applications.
• Object Oriented Programming
• Cross-browser
• AJAX
• Native desktop look and feel
Browser support
Internet Explorer™ 6+
Mozilla Firefox™ 2+
Safari™ 3.0+
Opera™ 9+
Chrome™ 2+
Version Stable release 1.0.1
January 27, 2010
License LGPL and Eclipse Public License (EPL)
Random documents with unrelated
content Scribd suggests to you:
Frameworks Methodologies And Tools For Developing Rich Internet Applications 1st Edition Giner Alorhernndez
Frameworks Methodologies And Tools For Developing Rich Internet Applications 1st Edition Giner Alorhernndez
Frameworks Methodologies And Tools For Developing Rich Internet Applications 1st Edition Giner Alorhernndez
The Project Gutenberg eBook of Nouveau
manuel complet de marine, seconde partie:
manoeuvres
This ebook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this ebook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.
Title: Nouveau manuel complet de marine, seconde partie:
manoeuvres
Author: Phocion-Aristide-Paulin Verdier
Release date: October 13, 2012 [eBook #41039]
Most recently updated: October 23, 2024
Language: French
Credits: Produced by Laurent Vogel, Bibimbop and the Online
Distributed Proofreading Team at http://www.pgdp.net
(This
book was produced from scanned images of public
domain
material from the Google Print project.)
*** START OF THE PROJECT GUTENBERG EBOOK NOUVEAU
MANUEL COMPLET DE MARINE, SECONDE PARTIE: MANOEUVRES
***
Note sur la transcription: Les erreurs clairement
introduites par le typographe ont été corrigées.
L'orthographe d'origine a été conservée et n'a pas été
harmonisée. Une note plus détaillée se trouve à la fin de
ce volume.
NOUVEAU MANUEL
COMPLET
DE MARINE.
SECONDE PARTIE.
MANŒUVRES.
NOUVEAU MANUEL
COMPLET
DE MARINE.
SECONDE PARTIE.
MANŒUVRES DU NAVIRE
ET DE L'ARTILLERIE.
Par M. Verdier,
Capitaine de Corvette.
PARIS,
A LA LIBRAIRIE ENCYCLOPÉDIQUE DE RORET,
Rue Hautefeuille, nº 10 bis.
1837.
AVERTISSEMENT.
Les ouvrages qui traitent de la manœuvre du navire s'appuient sur
des vérités mathématiques trop élevées pour être à la portée de
toutes les classes des navigateurs.
Nous avons pensé qu'il pouvait être utile d'offrir un Manuel pour la
Manœuvre, dépouillé de toute démonstration théorique, qui ne
repose que sur la seule pratique, et qui, par conséquent, peut être lu
par le marin le plus illettré.
Il est plus facile, et surtout plus utile en marine, d'aller du simple
au composé que du composé au simple. Le marin instruit, qui
connaîtra pratiquement la manœuvre, lira ensuite avec bien plus de
fruit les ouvrages de théorie.
Si nous pouvons rendre plus facile à quelques jeunes navigateurs
l'étude de la manœuvre, notre but sera atteint.
NOUVEAU MANUEL
DE MARINE.
SECONDE PARTIE.
MANOEUVRES.
CHAPITRE PREMIER.
Du Navire.
Le navire est un corps flottant, il doit, par conséquent, occuper
dans le fluide un espace tel que son poids soit égal à celui du
volume d'eau qu'il déplace. C'est la partie submergée qui éprouve la
force de résistance du fluide dans le cas du mouvement, et la
puissance destinée à lui donner ce mouvement doit donc être en
proportion avec la résistance éprouvée.
Les voiles sont des surfaces planes autant que possible, qui, étant
exposées à l'impulsion du vent, en sont frappées, et communiquent
ainsi du mouvement au navire auquel elles sont assujetties.
Elles agissent dans le sens latéral et dans le sens direct.
Le centre de gravité d'un corps est le point par lequel ce corps
étant suspendu, reste en équilibre et ne change pas de position.
Ce point sera au milieu du corps, si le corps est régulier; et s'il est
irrégulier, il sera dans la partie qui a le plus de pesanteur, par rapport
au point qui marque le milieu de la longueur du solide.
Si un corps étant ainsi suspendu en équilibre, on veut lui imprimer
un mouvement de rotation, il est évident qu'il faut lui appliquer une
force déterminée à un point quelconque; que cette force, supposée
la même, agira d'autant plus qu'elle sera plus éloignée du centre de
gravité, et qu'elle imprimera au corps un mouvement contraire à son
application.
Le centre de gravité d'un navire est toujours sur l'avant du milieu
de sa longueur absolue, parce que l'avant a plus de capacité, et par
conséquent plus de pesanteur que l'arrière.
Si nous considérons le navire comme un corps en suspension par
son centre de gravité, nous pouvons imaginer, sans grande erreur
pour la pratique, que son point de rotation sera sur l'axe vertical qui
passe par le centre de gravité; et que la force appliquée sur l'arrière
ou l'avant de ce point lui fera éprouver un mouvement de rotation de
l'avant sur l'arrière ou de l'arrière sur l'avant; c'est-à-dire que si la
force est appliquée sur l'arrière, l'angle que l'avant fait avec la
direction de la force diminuera, et que si elle est appliquée sur
l'avant, ce sera l'angle formé par la direction de cette force et
l'arrière qui diminuera.
Le mouvement est communiqué au navire par le moyen des voiles
qui y sont assujetties, et qui reçoivent l'impulsion du vent. La
direction de la force appliquée sera donc la ligne suivant laquelle
souffle le vent.
Il est évident, d'après ce que nous avons dit du corps en
suspension, que si nous l'appliquons au navire, le vent soufflant dans
les voiles de l'arrière, rapprochera l'avant de sa direction: c'est ce
qu'on appelle venir au vent ou lofer; et le vent soufflant dans les
voiles de l'avant, rapprochera l'arrière de sa direction; ce qu'on
appelle arriver.
Les voiles de l'avant tendent donc à faire arriver le navire; celles
de l'arrière à le faire lofer. C'est en combinant ces deux effets et en
les tenant en équilibre, qu'on imprime au navire une vitesse sur une
ligne donnée, qu'on appelle route. Ce sera donc en augmentant
aussi ou détruisant un de ces deux effets, qu'on fera arriver ou lofer
le navire, en un mot qu'on le fera évoluer.
On voit donc que si les voiles étaient exposées d'une manière
convenable, et que la force et la direction du vent restassent les
mêmes, le navire conserverait une vitesse égale, et suivrait une
route donnée.
Mais cet équilibre, qu'il est si important de conserver, est
fréquemment troublé, et on a inventé le gouvernail pour le rétablir et
forcer le navire à suivre une ligne déterminée.
Les lames sont une cause de la perturbation de l'équilibre, en
frappant le navire et lui imprimant un mouvement de rotation sur
l'axe vertical de son centre de gravité, suivant le point sur lequel
elles le frappent, et leur direction, qui n'est pas toujours celle du
vent. A chaque lame le navire fait deux oscillations: l'une de chute,
vers la partie opposée à celle que choque la lame, et l'autre de
réaction à l'instant où elle se sépare du navire.
Outre les effets de la lame, il est encore des actions qui agissent
pour faire tourner le navire sur l'axe vertical qui passe par son centre
de gravité. C'est en premier lieu l'action produite par la résistance de
l'eau, dans le sens latéral, ou perpendiculaire à la quille, sur les
différens points de la carène qui y sont exposés; secondement
l'action que le vent exerce sur les voiles dans le sens latéral; et
troisièmement, enfin, l'action que le vent exerce sur les voiles dans
le sens direct. Quoique cette action paraisse coïncider avec le plan
vertical qui passe par le centre de gravité, et ne devoir pas produire
un mouvement de rotation, cependant lorsque le vaisseau incline, il
n'en est pas ainsi.
Si ces trois actions pouvaient être en équilibre, le navire n'aurait
pas de mouvement de rotation, et obéirait à l'impulsion dans le sens
de sa quille; mais ces actions varient à chaque instant par l'état de la
mer ou du vent.
Ce défaut d'équilibre se corrige par un changement de voilure, et
enfin par le gouvernail.
Du Gouvernail.
Nous ne décrirons pas le gouvernail que tout le monde connaît,
nous dirons seulement que par sa position à peu près verticale à la
poupe, et par le moyen de sa barre, il peut se porter d'un côté ou de
l'autre du navire, et que s'opposant au courant du fluide de ce côté,
il fait naître une nouvelle force qui oblige le navire à tourner, ou dont
l'effet est de faire équilibre aux forces contraires dont nous avons
parlé, et qui tendraient à faire tourner le navire dans un sens
opposé.
Si le fluide, coulant le long des flancs du navire, rencontre le
gouvernail faisant un angle avec la quille, il le choquera, et poussera
la poupe dans le sens opposé au choc; alors l'avant obéissant à ce
mouvement se rangera nécessairement du côté où le choc a eu lieu,
c'est-à-dire vers celui où a été mis le gouvernail, ou enfin du bord
opposé à celui où l'on a placé la barre.
Mais si le fluide, au lieu de couler de l'avant à l'arrière, coulait de
l'arrière à l'avant, l'effet serait évidemment contraire; car le fluide qui
vient alors de l'arrière, rencontrant le gouvernail faisant un angle
avec la quille, le choquera en poussant la poupe dans la direction de
ce choc; l'avant tournera donc dans le sens opposé, c'est-à-dire dans
le sens opposé au côté où le gouvernail aura été mis, ou enfin du
côté où sera la barre.
Il n'entre pas dans le plan que nous nous sommes tracé, de
démontrer mathématiquement les effets et la puissance du
gouvernail. Nous dirons seulement que son effet est d'autant plus
grand que la vitesse augmente, et qu'à même angle il suit la
progression du carré des vitesses.
Si le gouvernail fait avec la quille un angle de 45 degrés, il est
dans la position la plus favorable pour opérer les mouvemens de
rotation; mais on ne peut obtenir cette position, et il est rare que
l'angle soit de plus de 35°.
Le gouvernail agissant en s'opposant au fluide qui coule le long
des flancs du navire, doit nécessairement diminuer sa vitesse; il faut
donc balancer sa voilure de telle manière, qu'on soit obligé de le
mettre en mouvement le moins possible. Et règle générale, toutes
les fois que pour conserver le navire en route, on sera obligé de faire
un usage fréquent du gouvernail, ce sera une preuve que la voilure
sera mal établie, ou mal balancée.
Nous observerons à cette occasion, que souvent étant au plus
près, et la brise fraîchissant, le navire a une grande tendance à venir
au vent, et qu'on est obligé d'y avoir une partie de la barre. Il
suffirait, à notre avis, de diminuer de voiles, en se débarrassant des
voiles hautes, pour rendre le navire bien gouvernant, et loin de
diminuer le sillage, il est fort possible qu'il augmente.
L'inclinaison diminuant, la submersion de la carène sera moins
considérable, et sa résistance moins forte; le navire moins chargé
gouvernera avec la barre droite, et le gouvernail ne sera plus un
obstacle au sillage; n'est-il pas possible que ces deux causes qui
tendent à augmenter la vitesse, compensent, et au-delà, la
diminution produite par la suppression des perroquets?
Le temps que deux navires semblables emploient à évoluer, est en
raison de leur longueur.
CHAPITRE II.
Appareillages.
Lorsqu'un navire a reçu tout ce dont il a besoin pour prendre la
mer, on le mouille sur rade sur une ancre, s'il doit profiter du premier
moment favorable; mais s'il peut y prolonger son séjour, on le
mouille sur deux.
Amarré de la première manière, il est dit sur un pied; mais on
concevra facilement qu'il ne peut rester long-temps dans cette
position, puisque à chaque changement de vent et surtout de marée
il doit courir sur son ancre et peut la surjoaler.
Cependant, depuis l'adoption presque générale des câbles-
chaînes, sur les rades qui n'ont que peu ou point de marée, on peut,
en filant une grande quantité de chaîne, rester sur un pied. Car, par
son poids, la chaîne portant sur le fond, bien de l'arrière de l'ancre,
offre au navire un point d'appui sur lequel il peut tourner sans
passer sur son ancre. Mais il ne faut pas être mouillé près d'autres
navires, qu'on pourrait aborder en décrivant ainsi un cercle autour
de son ancre.
Il est donc plus prudent de mouiller deux ancres, ce qu'on appelle
affourcher.
On affourche en mettant deux ancres sur une ligne
perpendiculaire à celle des vents les plus dangereux. Ainsi, sur une
rade où les vents les plus dangereux sont le N. E. et le S. O., les
ancres doivent être mouillées sur une ligne N. O. et S. E. Il faut aussi
avoir l'attention d'affourcher de manière que les câbles ne soient pas
croisés pour le vent du large, qui est celui qui amène la plus grosse
mer, parce qu'alors ils fatigueraient davantage et ragueraient les
sous-barbes. Ainsi, si on affourche N. O. et S. E., c'est-à-dire pour les
vents de N. E. et de S. O., ou que les vents du large soient ceux du
S. O., les câbles doivent être croisés lorsqu'on évitera au N. E.
On affourche, soit avec le navire, soit avec la chaloupe; mais dans
le premier cas, il faut avoir un point d'appui pour touer le navire
jusqu'au point où il doit laisser tomber la deuxième ancre.
Pour cela, après que le navire a mouillé sa première ancre et qu'il
a filé une quantité de câble suffisante, on embarque dans la
chaloupe une ancre à jet, garnie de son orin et de sa bouée, à
laquelle on étalingue un grelin et plus s'il est nécessaire, qu'on
embarque dans la chaloupe et dont on garde le bout à bord, ou dont
on lui donne le bout qu'elle rapportera à bord après avoir mouillé
l'ancre à jet, si, ayant à remonter contre le vent ou le courant, on
craint que le poids du grelin resté à bord ne la charge trop et ne la
fasse dériver sous le vent du point où l'ancre à jet doit être mouillée.
La chaloupe convenablement remorquée, se dirige dans le rhumb
de vent où l'ancre doit être placée, et lorsqu'elle est parvenue un
peu au-delà du point qu'elle doit occuper, elle mouille l'ancre à jet.
Elle porte le bout du grelin à bord, où on le raidit aussitôt.
On garnit ensuite ce grelin au cabestan, et on vire en filant à la
demande du câble de l'ancre mouillée. Lorsqu'on a dehors une
quantité de ce câble égale à deux fois la longueur qu'on veut donner
à chaque amarre d'affourche, on cesse de virer, on laisse perdre
l'aire du navire, et on mouille en choquant le grelin afin que le navire
puisse culer et ne pas surjoaler.
Pendant que la chaloupe va lever l'ancre à jet, on vire sur le
premier câble mouillé en filant du second. Lorsqu'on a filé de ce
dernier la quantité qu'on veut avoir dehors, on prend le tour de
bitte, et on vire jusqu'à ce qu'ils soient également raides, et qu'il n'y
ait que peu de mou. On dégarnit et on prend le tour de bitte du
câble sur lequel on virait, on les garnit l'un et l'autre de paillets, et
l'on est affourché.
Si on fait porter l'ancre d'affourche par la chaloupe, il faut aussi lui
ménager un point d'appui sur lequel elle pourra se tenir lorsqu'elle
sera chargée. Car si en théorie on peut envoyer une chaloupe ainsi,
en la faisant remorquer, il n'en est pas de même en pratique. Une
chaloupe portant une ancre de bossoir en cravate, son orin et sa
bouée, ayant sur son avant la moitié de son câble lové pour contre-
balancer le poids de l'ancre, est déjà privée de l'usage de plus de la
moitié de ses avirons; il faut qu'elle supporte encore le poids du
câble qu'on file du bord, et que des canots placés de distance en
distance le soutiennent, pour qu'il ne touche pas au fond avant que
l'ancre ne soit mouillée. Quel est le navire qui a une assez grande
quantité de canots pour pouvoir remorquer convenablement une
chaloupe ainsi chargée, et la diriger à un point fixe, s'il y a surtout
de la mer et du courant.
Il faut donc, pendant que l'ancre de bossoir est suspendue en
cravate, de l'arrière de la chaloupe, et qu'on y embarque le câble,
faire élonger par un canot une petite ancre à jet dans la direction où
l'ancre d'affourche doit être mouillée. Le bout de l'aussière de cette
ancre à jet étant à bord, la chaloupe le place sur le rouleau de son
étrave et se hale dessus. Elle est suivie d'embarcations qui portent le
restant du câble dont le bout est à bord.
Lorsque le canot qui porte les premiers plis du câble, les a filés à
mesure que la chaloupe à laquelle il tient par une remorque se hale,
il le saisit en dehors du bord par une bosse qui fait dormant à son
grand banc, et qui s'y amarre après avoir embrassé le câble; un
homme tient à la main le bout de la bosse pour la larguer au signal
de la chaloupe.
Les canots ayant ainsi filé et soutenu le câble, la chaloupe file
celui qu'elle a à bord, et lorsqu'enfin elle l'a raidi autant que possible
en se halant, elle fait un signal aux canots qui larguent les bosses
lorsqu'elle mouille.
On dérape l'ancre à jet, on raidit le câble, on prend le tour de
bitte, et on fait les paillets.
Depuis l'usage à peu près général des câbles-chaînes, il est bien
difficile, pour ne pas dire impossible, d'élonger une ancre amarrée
sur un câble-chaîne. La difficulté de ne le filer qu'au fur et à mesure
que la chaloupe s'éloigne du bord, son poids qui augmente la
résistance qu'elle doit vaincre pour se haler, l'impossibilité par
conséquent de le raidir suffisamment avant de mouiller, doivent faire
abandonner cette manière d'amarrer, et il faut affourcher avec le
navire lui-même.
Mais comme il est une foule de circonstances qui obligent à
envoyer une grosse ancre au large par le moyen de la chaloupe,
surtout dans les échouages, tout navire doit, outre ses câbles-
chaînes des ancres de bossoir, avoir un ou deux câbles en chanvre
pour élonger dans les circonstances imprévues.
On désaffourche avec le navire ou la chaloupe. Avec le navire, on
vire sur une ancre en filant du câble de celle sur laquelle on veut
appareiller. Parvenu à pic, on cesse de filer, on dérape, et aussitôt
l'ancre à l'écubier, pendant qu'on la caponne et la traverse, on garnit
le câble de l'autre ancre, et on abraque dessus jusqu'à ce qu'il n'en
reste plus à la mer que la quantité suffisante pour tenir le navire.
Si on désaffourche avec la chaloupe, on la munit de deux caliornes
de braguets, de poulies de retour et des amarrages nécessaires à
l'opération; on lui donne aussi un bon cordage de la grosseur de
l'orin pour faire un maillon. Car il ne serait pas prudent de lever une
ancre de bossoir par son orin, sans avoir coulé un maillon, car si
l'orin casse et que le navire ne puisse venir chercher son ancre, on
est obligé de la draguer, ce qui est souvent bien long et oblige à faire
le sacrifice de l'ancre si on n'a pas le temps nécessaire à cette
opération.
La chaloupe parvenue à l'ancre qu'elle doit déraper, saisit la bosse,
place l'orin sur le davier et le raidit. On coule le long de l'orin un
maillon à nœud coulant, destiné à saisir la patte de l'ancre en
dessous de ses ailerons, et à soulager et renforcer l'orin. Lorsque,
par la hauteur du fond, on s'aperçoit que le maillon est rendu à sa
patte, on s'assure si elle a été saisie en pesant dessus; s'il résiste,
elle est prise; dans le cas contraire, il remonte le long de l'orin et on
le coule de nouveau.
Lorsqu'il est en place on le raidit, et si on ne compte pas sur l'orin,
on les réunit et on frappe dessus la caliorne de braguet, dont une
poulie est crochée à un piton d'étrave et dont le garant revient sur
l'arrière dans une poulie de retour, afin de pouvoir élonger dessus la
plus grande quantité possible de matelots.
L'ancre détachée du fond, on vire sur son câble à bord, ce qui
amène sous l'écubier la chaloupe qui la tient suspendue. Rendue là,
on la met à poste comme nous l'avons dit, et on vire sur le câble de
l'ancre qui doit servir à l'appareillage.
Le navire désaffourché, on embarque sa chaloupe avec un
appareil composé de deux caliornes frappées l'une sur la grande
vergue, et la seconde sur la vergue de misaine, et deux caliornes
servant de palans d'étai. Les basses vergues portent, pendant cette
opération, un poids considérable, et fatiguent beaucoup, quoiqu'on
les renforce par une fausse balancine.
Pour les soulager, on fait les caliornes à pendeur. Ce pendeur
passe sur le chouc du bas mât et se marie, par le moyen d'un burin,
à une estrope qui embrasse deux ou trois haubans du côté opposé à
celui où l'on hisse. Ce pendeur se frappe sur la vergue au moyen
d'une estrope à burin. La vergue alors ne fait plus que l'office d'arc-
boutant, et la plus grande partie de l'effort a lieu sur le chouc du bas
mât.
Appareiller, le Navire évité le bout au vent.
On vire à long pic; on largue les voiles carrées, le grand foc et la
brigantine, on borde et hisse les huniers. Si on veut abattre sur
tribord, on brasse bâbord devant tribord derrière, en effaçant bien le
petit hunier par sa bouline de revers; on pèse le gui et on le porte
sur tribord. On ferait le contraire si on devait abattre sur bâbord.
On dérape. Le navire étant évité le bout au vent, ayant son petit
hunier brassé bâbord et bien effacé par sa bouline, faisant avec la
quille l'angle le plus aigu qu'il puisse faire, l'avant du navire tombera
sur tribord. Mais pendant ce mouvement il cule, puisque le vent est
sur les voiles, on met alors la barre à tribord pour accélérer le
mouvement d'abattée, qu'on peut encore augmenter en hissant le
grand foc aussitôt que le mouvement est prononcé.
Lorsque le vent commence à prendre dans les voiles de l'arrière,
on dresse la barre et on change le phare de l'avant qu'on oriente. Si
l'abattée continue encore, ce qui arrive ordinairement, parce que le
navire n'ayant pas d'aire ne pourra ranger au vent que lorsqu'il en
aura pris, que du reste la barre a été dressée en changeant devant,
on choque l'écoute de foc et on borde la brigantine.
Si les circonstances le permettent, on laisse le petit hunier masqué
pendant le temps qu'on travaille à mettre l'ancre à poste. Si les
abattées sont trop grandes, on borde la brigantine. Si le foc était
dehors, son écoute a dû être filée aussitôt que le vent a pris dans les
voiles de l'arrière.
L'ancre à poste, on dresse la barre, on borde le foc, on cargue la
brigantine, et on change le phare de l'avant qu'on oriente.
Si la position du navire a exigé qu'il fît de la route aussitôt que
l'ancre a quitté le fond, pour éviter un danger, ou un bâtiment
mouillé à petite distance, il ne faut faire que la voile absolument
nécessaire pour assurer la promptitude des mouvemens; car, avec
un sillage rapide, il est bien difficile, surtout s'il y a un peu de mer,
de mettre l'ancre à poste, et il peut en résulter de graves
inconvéniens.
Lorsque le vent est frais, qu'on juge qu'après l'appareillage on ne
pourra porter les huniers qu'avec un ou plusieurs ris, il faut le
prendre en larguant les voiles, avant de le border. Il est même plus
prudent de le prendre avant de virer, pour ne pas s'exposer à
chasser étant à long pic.
Si le vent est assez fort pour ne pas permettre d'établir les
huniers, même avec des ris, lorsqu'on est à long pic, alors il faut se
contenter de contre-brasser les voiles de l'avant et de larguer les
fonds du petit hunier; on doit aussi larguer le petit foc pour pouvoir
le hisser aussitôt que le phare de l'avant contre-brassé a fait
prononcer l'abattée. Les vergues du grand mât et du mât d'artimon
sont orientées et leurs huniers prêts à être largués et établis; lorsque
l'abattée n'est plus incertaine, l'artimon est largué pour être bordé
afin de la modérer.
Observations.
Quelque simple que soit un appareillage de temps maniable, il est
une foule de précautions préparatoires et à prendre après cette
manœuvre, dont il est peut-être utile de parler.
Si on est amarré avec des câbles et mouillé sur un fond de vase, il
faut les laver avec soin à mesure qu'on vire, ou après que les ancres
sont dérapées, les frotter avec des brosses à pont ou des balais pour
en détacher la vase, les élonger autant que possible dans la batterie
ou sur le pont, en faire autant pour les garcettes et la tournevire, et
ne les envoyer dans la cale que lorsqu'ils sont parfaitement secs. Si
on est amarré avec des câbles-chaînes, il faut aussi les laver, car
étant mis immédiatement dans leurs puits, la vase qui y est attachée
ne tarderait pas, sans cela, à répandre une odeur fétide et malsaine.
Aussitôt qu'une ancre est dérapée, elle doit être mise en
mouillage, un navire ne devant jamais appareiller sans être disposé à
mouiller, si les circonstances l'y obligent.
Lorsqu'on est hors de vue de terre, on soulage les pattes des
ancres à hauteur du plat bord, on double les bosses de bout et les
serres-bosses, et à cinquante lieues au large on détalingue les câbles
et câbles-chaînes pour les envoyer dans la cale et soulager l'avant
du navire.
En appareillant, les canots des porte-manteaux doivent être
disposés de manière à être immédiatement amenés pour remorquer
le navire en cas de calme, et défier un abordage. A la mer, on les
établit sur bosses, et on décroche les palans, afin de pouvoir les
amener avec leur équipage, pour porter secours à un homme tombé
à la mer. Ils seront donc toujours munis du gouvernail et de la barre,
des avirons et d'une gaffe.
Avant d'appareiller, une visite générale doit avoir lieu. La barre et
sa drosse doivent être visitées, celles de rechange dégagées, les
palans qui, en cas de rupture de la drosse, les remplacent
momentanément, disposés à leurs pitons.
On s'assure que les mâts de hune et de perroquet sont coïncés
dans leurs choucs; que les objets amovibles, tels que coffres,
cuisines, etc., sont saisis; que la chaloupe et les drômes ont leurs
saisines raidies; que l'artillerie est amarrée à garans doubles[1]
.
Les gabiers dégenopent les manœuvres et les lovent auprès de
leurs poulies de retour. Ils visitent les écoutes, drisses et itagues. Les
paillets de brasséiage et d'étais sont mis en place; les arcs-boutans,
pour pousser les galhaubans volans, disposés dans les hunes.
Un navire, devant toujours être disposé à faire toute la voile que
les circonstances exigent, doit appareiller avec les perroquets croisés
et garnis, lorsque le temps le permet. S'il porte des catacois, les
drisses seront passées, le gréement des bonnettes sera en place, les
drisses frappées au point des huniers, et les amures lovées aux
bouts des vergues.
Les étais des mâts de hune et de perroquet sont bossés; les
bosses des amures et écoutes des basses voiles, celles des drisses
des huniers et des focs, sont mises en place.
Enfin, suivant la saison et la traversée, et s'ils n'ont pas été gréés
en rade, on place et on raidit les pataras, l'étai de tangage du mât
de misaine, les haubans de beaupré et sa fausse sous-barbe.
Appareiller, le Navire évité au courant.
Le navire, évité le bout au courant, peut l'être en même temps au
vent; alors l'appareillage est celui que nous venons de décrire, avec
cette différence que le courant agissant sur le gouvernail, comme si
le navire allait de l'avant, il faut mettre la barre du bord opposé à
celui sur lequel on veut abattre.
Si cependant le mouvement d'aculée était plus fort que celui du
courant, la différence de ces deux mouvemens, agissant alors dans
le sens du plus fort, qui est celui de l'aculée, on mettrait la barre du
bord où on veut abattre.
Le navire, évité le bout au courant, peut recevoir le vent sur ses
voiles, ou dans ses voiles. Il le recevra sur ses voiles, si l'angle qu'il
fait avec la quille est moindre que l'angle du plus près. Dans ce cas il
est impossible, par la seule manœuvre des voiles, de faire passer
son avant dans le lit du vent. On ne peut donc que prendre les
amures du bord où vient le vent. Il suffit pour cela de le faire abattre
d'une quantité assez grande pour que le vent prenne dans les voiles.
Supposons que le vent venant de bâbord fasse avec la quille un
angle moindre que celui du plus près. Etant à long pic, on établit les
huniers, on largue le grand foc et la brigantine, on met la barre à
bâbord, et on brasse bâbord devant et tribord derrière. Au moment
où l'ancre dérape, on hisse et borde le grand foc; l'avant du navire
doit nécessairement tomber sur tribord par l'action du foc, du petit
hunier masqué et du gouvernail qui, par l'effet du courant, porte
l'arrière sur bâbord, puisqu'on y a mis la barre. Lorsque par suite de
l'abattée le grand hunier et le perroquet de fougue reçoivent le vent,
on change le petit hunier, on dresse la barre, et s'il est utile de
modérer l'abattée, on borde la brigantine en filant l'écoute du grand
foc.
Si la route exigeait qu'on changeât d'amures, on le ferait comme
nous le dirons en parlant des viremens de bord vent arrière.
Mais si les localités étaient telles qu'on ne pût prendre les amures
du bord du vent, ou qu'on n'eût pas l'espace nécessaire pour en
changer après avoir dérapé, il faudrait trouver un point fixe, soit à
terre, soit sur un navire, soit en élongeant une ancre à jet, de
manière qu'en virant sur ce point, sur lequel on aurait porté un
grelin qu'on passerait à tribord derrière, on pût porter l'arrière sur
tribord, et par conséquent l'avant sur bâbord.
Le navire étant à pic, on hale sur le grelin jusqu'à ce que l'avant
du navire ait dépassé le lit du vent, c'est-à-dire que le vent qui était
de bâbord soit maintenant à tribord. On tourne le grelin, on établit
les huniers qu'on brasse tribord devant et bâbord derrière, on largue
le grand foc et la brigantine; on dérape, on met la barre à tribord, et
lorsque l'avant du navire tombe sur bâbord, on largue le grelin, et on
continue les manœuvres comme nous l'avons indiqué déjà.
Si le navire n'était que le bout au vent, il faudrait, au moment de
déraper, haler sur le grelin pour assurer l'abattée.
Lorsque le navire, évité au courant, reçoit le vent dans les voiles,
l'appareillage est bien simple; il suffit d'établir assez de voiles pour
que, au moment où l'ancre dérape, le navire puisse refouler le
courant, car sans cela il risquerait de masquer, si dans un élan le
courant venait à prendre par la joue sous le vent.
Pour parer à cet inconvénient, non-seulement il faut avoir une
assez grande quantité de voiles dehors, mais il faut augmenter celles
du phare de l'avant pour être certain que le navire ne viendra pas au
vent.
Le navire ayant pris de l'aire, on manœuvre suivant les localités,
pour mettre l'ancre à poste le plus lestement possible.
Appareiller en faisant embossure.
Il arrive quelquefois qu'un navire est obligé d'appareiller, sans
pouvoir lever son ancre, lorsqu'il a été obligé de mouiller sur une
côte, sur laquelle il était affalé. La violence du vent ne lui permet pas
de virer sur l'ancre, car en chassant il s'approcherait encore de la
côte qu'il doit éviter, et s'y perdrait.
S'il peut indifféremment abattre sur un bord ou sur l'autre, après
avoir pris dans les huniers les ris que la force du vent exige, et les
avoir serrés, il faut brasser bâbord devant et tribord derrière, si on
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.
More than just a book-buying platform, we strive to be a bridge
connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.
Join us on a journey of knowledge exploration, passion nurturing, and
personal growth every day!
ebookbell.com

More Related Content

PDF
Frameworks Methodologies and Tools for Developing Rich Internet Applications ...
PDF
Resource management of mobile cloud computing networks and environments 1st E...
PDF
Resource management of mobile cloud computing networks and environments 1st E...
PDF
Achieving Enterprise Agility Through Innovative Software Development Amitoj S...
PDF
Agent Technologies and Web Engineering Ghazi Alkhatib
PDF
Advancements in Applied Metaheuristic Computing 1st Edition Nilanjan Dey
PDF
Advanced Methods For Complex Network Analysis 1st Edition Natarajan Meghanath...
PDF
Download full Agent Technologies and Web Engineering Ghazi Alkhatib ebook all...
Frameworks Methodologies and Tools for Developing Rich Internet Applications ...
Resource management of mobile cloud computing networks and environments 1st E...
Resource management of mobile cloud computing networks and environments 1st E...
Achieving Enterprise Agility Through Innovative Software Development Amitoj S...
Agent Technologies and Web Engineering Ghazi Alkhatib
Advancements in Applied Metaheuristic Computing 1st Edition Nilanjan Dey
Advanced Methods For Complex Network Analysis 1st Edition Natarajan Meghanath...
Download full Agent Technologies and Web Engineering Ghazi Alkhatib ebook all...

Similar to Frameworks Methodologies And Tools For Developing Rich Internet Applications 1st Edition Giner Alorhernndez (20)

PDF
Crowdsourcing And Probabilistic Decisionmaking In Software Engineering Emergi...
PDF
Innovations In Information Systems Modeling Methods And Best Practices 1st Ed...
PDF
Handbook Of Research On Network Forensics And Analysis Techniques 1st Edition...
PDF
Advanced Image Processing Techniques And Applications 1st Edition N Suresh Kumar
PDF
Examining Cloud Computing Technologies Through the Internet of Things 1st Edi...
PDF
Delivery and adoption of cloud computing services in contemporary organizatio...
PDF
Emerging Trends In Iot And Integration With Data Science Cloud Computing And ...
PDF
Innovations In Softwaredefined Networking And Network Functions Virtualizatio...
PDF
Handbook Of Research On Computational Simulation And Modeling In Engineering ...
PDF
Innovations in Information Systems Modeling Methods and Best Practices 1st Ed...
PDF
Innovations in Information Systems Modeling Methods and Best Practices 1st Ed...
PDF
Handbook Of Research On Business Transformations In The Era Of Digitalization...
PDF
Innovations in Information Systems Modeling Methods and Best Practices 1st Ed...
PDF
Mobile Application Development Usability and Security 1st Edition Sougata Muk...
PDF
Advanced Methods for Complex Network Analysis 1st Edition Natarajan Meghanath...
PDF
Examining Cloud Computing Technologies Through The Internet Of Things 1st Edi...
PDF
Implementation of Machine Learning Algorithms Using Control Flow and Dataflow...
PDF
Handbook Of Research On Machine Learningenabled Iot For Smart Applications Ac...
PDF
Handbook Of Research On Digital Transformation And Challenges To Data Securit...
PDF
Modern Technologies For Big Data Classification And Clustering 1st Edition Ha...
Crowdsourcing And Probabilistic Decisionmaking In Software Engineering Emergi...
Innovations In Information Systems Modeling Methods And Best Practices 1st Ed...
Handbook Of Research On Network Forensics And Analysis Techniques 1st Edition...
Advanced Image Processing Techniques And Applications 1st Edition N Suresh Kumar
Examining Cloud Computing Technologies Through the Internet of Things 1st Edi...
Delivery and adoption of cloud computing services in contemporary organizatio...
Emerging Trends In Iot And Integration With Data Science Cloud Computing And ...
Innovations In Softwaredefined Networking And Network Functions Virtualizatio...
Handbook Of Research On Computational Simulation And Modeling In Engineering ...
Innovations in Information Systems Modeling Methods and Best Practices 1st Ed...
Innovations in Information Systems Modeling Methods and Best Practices 1st Ed...
Handbook Of Research On Business Transformations In The Era Of Digitalization...
Innovations in Information Systems Modeling Methods and Best Practices 1st Ed...
Mobile Application Development Usability and Security 1st Edition Sougata Muk...
Advanced Methods for Complex Network Analysis 1st Edition Natarajan Meghanath...
Examining Cloud Computing Technologies Through The Internet Of Things 1st Edi...
Implementation of Machine Learning Algorithms Using Control Flow and Dataflow...
Handbook Of Research On Machine Learningenabled Iot For Smart Applications Ac...
Handbook Of Research On Digital Transformation And Challenges To Data Securit...
Modern Technologies For Big Data Classification And Clustering 1st Edition Ha...
Ad

Recently uploaded (20)

PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
Cell Structure & Organelles in detailed.
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPTX
Institutional Correction lecture only . . .
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
01-Introduction-to-Information-Management.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
Cell Types and Its function , kingdom of life
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Complications of Minimal Access Surgery at WLH
Microbial disease of the cardiovascular and lymphatic systems
Cell Structure & Organelles in detailed.
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Final Presentation General Medicine 03-08-2024.pptx
Module 4: Burden of Disease Tutorial Slides S2 2025
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Institutional Correction lecture only . . .
Pharmacology of Heart Failure /Pharmacotherapy of CHF
01-Introduction-to-Information-Management.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
O5-L3 Freight Transport Ops (International) V1.pdf
Cell Types and Its function , kingdom of life
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Abdominal Access Techniques with Prof. Dr. R K Mishra
Supply Chain Operations Speaking Notes -ICLT Program
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Complications of Minimal Access Surgery at WLH
Ad

Frameworks Methodologies And Tools For Developing Rich Internet Applications 1st Edition Giner Alorhernndez

  • 1. Frameworks Methodologies And Tools For Developing Rich Internet Applications 1st Edition Giner Alorhernndez download https://ebookbell.com/product/frameworks-methodologies-and-tools- for-developing-rich-internet-applications-1st-edition-giner- alorhernndez-4982900 Explore and download more ebooks at ebookbell.com
  • 2. Here are some recommended products that we believe you will be interested in. You can click the link to download. Data Science And Big Data Computing Frameworks And Methodologies 1st Edition Zaigham Mahmood Eds https://ebookbell.com/product/data-science-and-big-data-computing- frameworks-and-methodologies-1st-edition-zaigham-mahmood-eds-5605644 Synthesis Of Embedded Software Frameworks And Methodologies For Correctness By Construction 1st Edition Loc Besnard https://ebookbell.com/product/synthesis-of-embedded-software- frameworks-and-methodologies-for-correctness-by-construction-1st- edition-loc-besnard-1696346 The Handbook Of Cognition And Assessment Frameworks Methodologies And Applications Jacqueline P Leighton https://ebookbell.com/product/the-handbook-of-cognition-and- assessment-frameworks-methodologies-and-applications-jacqueline-p- leighton-5699954 Marine Biodiversity And Ecosystem Functioning Frameworks Methodologies And Integration 1st Edition Martin Solan https://ebookbell.com/product/marine-biodiversity-and-ecosystem- functioning-frameworks-methodologies-and-integration-1st-edition- martin-solan-6638926
  • 3. Blockchain Technology In Healthcare Concepts Methodologies And Applications Applied Artificial Intelligence In Data Science Cloud Computing And Iot Frameworks Kamila https://ebookbell.com/product/blockchain-technology-in-healthcare- concepts-methodologies-and-applications-applied-artificial- intelligence-in-data-science-cloud-computing-and-iot-frameworks- kamila-54979184 Agentoriented Software Engineering Reflections On Architectures Methodologies Languages And Frameworks 1st Edition Onn Shehory https://ebookbell.com/product/agentoriented-software-engineering- reflections-on-architectures-methodologies-languages-and- frameworks-1st-edition-onn-shehory-4697612 Methodologies And Application Issues Of Contemporary Computing Framework 1st Ed Jyotsna Kumar Mandal https://ebookbell.com/product/methodologies-and-application-issues-of- contemporary-computing-framework-1st-ed-jyotsna-kumar-mandal-7328804 Frameworks For Advanced Nursing Practice And Research Philosophies Theories Models And Taxonomies Rose Utley https://ebookbell.com/product/frameworks-for-advanced-nursing- practice-and-research-philosophies-theories-models-and-taxonomies- rose-utley-46466780 Frameworks Tensegrities And Symmetry Robert Connelly Simon D Guest https://ebookbell.com/product/frameworks-tensegrities-and-symmetry- robert-connelly-simon-d-guest-46871200
  • 6. Frameworks, Methodologies, and Tools for Developing Rich Internet Applications Giner Alor-Hernández Instituto Tecnológico de Orizaba, Mexico Viviana Yarel Rosales-Morales Instituto Tecnológico de Orizaba, Mexico Luis Omar Colombo-Mendoza Instituto Tecnológico de Orizaba, Mexico A volume in the Advances in Web Technologies and Engineering (AWTE) Book Series
  • 7. Published in the United States of America by Information Science Reference (an imprint of IGI Global) 701 E. Chocolate Avenue Hershey PA, USA 17033 Tel: 717-533-8845 Fax: 717-533-8661 E-mail: cust@igi-global.com Web site: http://www.igi-global.com Copyright © 2015 by IGI Global. All rights reserved. No part of this publication may be reproduced, stored or distributed in any form or by any means, electronic or mechanical, including photocopying, without written permission from the publisher. Product or company names used in this set are for identification purposes only. Inclusion of the names of the products or companies does not indicate a claim of ownership by IGI Global of the trademark or registered trademark. Library of Congress Cataloging-in-Publication Data British Cataloguing in Publication Data A Cataloguing in Publication record for this book is available from the British Library. All work contributed to this book is new, previously-unpublished material. The views expressed in this book are those of the authors, but not necessarily of the publisher. For electronic access to this publication, please contact: eresources@igi-global.com. Library of Congress Cataloging-in-Publication Data Alor-Hernandez, Giner, 1977- Frameworks, methodologies, and tools for developing rich Internet applications / by Giner Alor-Hernandez, Viviana Yarel Rosales-Morales, and Luis Omar Colombo-Mendoza. pages cm Includes bibliographical references and index. ISBN 978-1-4666-6437-1 (hardcover) -- ISBN 978-1-4666-6438-8 (ebook) -- ISBN 978-1-4666-6440-1 (print per- petual access) 1. Internet programming. 2. Web applications. 3. Web site development. 4. JavaScript (Computer program language) 5. Application software--Development. 6. Software frameworks. I. Rosales-Morales, Viviana Yarel, 1986- II. Colombo-Mendoza, Luis Omar, 1987- III. Title. QA76.625.A44 2015 006.7--dc23 2014026479 This book is published in the IGI Global book series Advances in Web Technologies and Engineering (AWTE) (ISSN: Pending; eISSN: pending) Managing Director: Acquisitions Editor: Production Editor: Development Editor: Typesetter: Cover Design: Lindsay Johnston Kayla Wolfe Christina Henning Haley Kang Michael Brehm Jason Mull
  • 8. The Advances in Web Technologies and Engineering (AWTE) Book Series (ISSN Pending) is published by IGI Global, 701 E. Chocolate Avenue, Hershey, PA 17033-1240, USA, www.igi-global.com. This series is composed of titles available for purchase individually; each title is edited to be contextually exclusive from any other title within the series. For pricing and ordering information please visit http://www.igi- global.com/book-series/advances-web-technologies-engineering/37158. Postmaster: Send all address changes to above address. Copyright © 2015 IGI Global. All rights, including translation in other languages reserved by the publisher. No part of this series may be reproduced or used in any form or by any means – graphics, electronic, or mechanical, including photocopying, recording, taping, or information and retrieval systems – without written permission from the publisher, except for non commercial, educational use, including classroom teaching purposes. The views expressed in this series are those of the authors, but not necessarily of IGI Global. IGI Global is currently accepting manuscripts for publication within this series. To submit a pro- posal for a volume in this series, please contact our AcquisitionEditorsatAcquisitions@igi-global.com or visit: http://www.igi-global.com/publish/. • Knowledge Structure, Classification, and Search Algorithms or Engines • Quality Of Service and Service Level Agreement Issues Among Integrated Systems • Integrated User Profile, Provisioning, and Context-Based Processing • Radio Frequency Identification (RFID) Research and Applications in Web Engineered Systems • Data and Knowledge Capture and Quality Issues • IT Readiness and Technology Transfer Studies • Case Studies Validating Web-Based IT Solutions • Virtual Teams and Virtual Enterprises: Communication, Policies, Operation, Creativity, and Innovation • Data Analytics for Business and Government Organizations • Human Factors and Cultural Impact of IT-Based Systems Coverage The Advances in Web Technologies and Engineering (AWTE) Book Series aims to provide a platform for research in the area of Information Technology (IT) concepts, tools, methodologies, and ethnography, in the contexts of global communication systems and Web engineered applications. Organizations are continuously overwhelmed by a variety of new information technologies, many are Web based. These new technologies are capitalizing on the widespread use of network and communication technologies for seamless integration of various issues in information and knowledge sharing within and among organizations. This emphasis on integrated approaches is unique to this book series and dictates cross platform and multidisciplinary strategy to research and practice. The Advances in Web Technologies and Engineering (AWTE) Book Series seeks to create a stage where comprehensive publications are distributed for the objective of bettering and expanding the field of web systems, knowledge capture, and communication technologies. The series will provide researchers and practitioners with solutions for improving how technology is utilized for the purpose of a growing awareness of the importance of web applications and engineering. Mission ISSN: Pending EISSN: Pending Ghazi I. Alkhatib Princess Sumaya University for Technology, Jordan David C. Rine George Mason University, USA Advances in Web Technologies and Engineering (AWTE) Book Series
  • 9. Titles in this Series For a list of additional titles in this series, please visit: www.igi-global.com Handbook of Research on Demand-Driven Web Services Theory, Technologies, and Applications Zhaohao Sun (University of Ballarat, Australia Hebei Normal University, China) and John Yearwood (Federa- tion University, Australia) Information Science Reference • copyright 2014 • 474pp • H/C (ISBN: 9781466658844) • US $325.00 (our price) Evaluating Websites and Web Services Interdisciplinary Perspectives on User Satisfaction Denis Yannacopoulos (Technological Educational Institute of Piraeus, Greece) Panagiotis Manolitzas (Technical University of Crete, Greece) Nikolaos Matsatsinis (Technical University of Crete, Greece) and Evangelos Grigor- oudis (Technical University of Crete, Greece) Information Science Reference • copyright 2014 • 354pp • H/C (ISBN: 9781466651296) • US $215.00 (our price) Solutions for Sustaining Scalability in Internet Growth Mohamed Boucadair (France Telecom-Orange Labs, France) and David Binet (France Telecom, France) Information Science Reference • copyright 2014 • 288pp • H/C (ISBN: 9781466643055) • US $190.00 (our price) Adaptive Web Services for Modular and Reusable Software Development Tactics and Solutions Guadalupe Ortiz (University of Cádiz, Spain) and Javier Cubo (University of Málaga, Spain) Information Science Reference • copyright 2013 • 415pp • H/C (ISBN: 9781466620896) • US $195.00 (our price) Public Service, Governance and Web 2.0 Technologies Future Trends in Social Media Ed Downey (State University of New York, College at Brockport, USA) and Matthew A. Jones (Portland State University, USA) Information Science Reference • copyright 2012 • 369pp • H/C (ISBN: 9781466600713) • US $190.00 (our price) Performance and Dependability in Service Computing Concepts, Techniques and Research Directions Valeria Cardellini (Universita di Roma, Italy) Emiliano Casalicchio (Universita di Roma, Italy) Kalinka Regina Lucas Jaquie Castelo Branco (Universidade de São Paulo, Brazil) Júlio Cezar Estrella (Universidade de São Paulo, Brazil) and Francisco José Monaco (Universidade de São Paulo, Brazil) Information Science Reference • copyright 2012 • 477pp • H/C (ISBN: 9781609607944) • US $195.00 (our price) E-Activity and Intelligent Web Construction Effects of Social Design Tokuro Matsuo (Yamagata University, Japan) and Takayuki Fujimoto (Toyo University, Japan) Information Science Reference • copyright 2011 • 284pp • H/C (ISBN: 9781615208715) • US $180.00 (our price) 701 E. Chocolate Ave., Hershey, PA 17033 Order online at www.igi-global.com or call 717-533-8845 x100 To place a standing order for titles released in this series, contact: cust@igi-global.com Mon-Fri 8:00 am - 5:00 pm (est) or fax 24 hours a day 717-533-8661
  • 10. Table of Contents Preface. ...................................................................................................................................................ix Acknowledgment...............................................................................................................................xviii Chapter 1 Basic Concepts on RIAs.......................................................................................................................... 1 1. INTRODUCTION..........................................................................................................................................................1 2. BASIC CONCEPTS. .......................................................................................................................................................2 3. MAIN CROSS-DOMAINS BENEFITS OF RIAS........................................................................................................5 4. SUCCESSFUL STORIES ON RIAS DEVELOPMENT...............................................................................................9 5. CONCLUSION.............................................................................................................................................................14 Chapter 2 Frameworks for RIAs Development...................................................................................................... 17 1. INTRODUCTION........................................................................................................................................................17 2. FRAMEWORKS FOR RIAS DEVELOPMENT.........................................................................................................17 3. CONCLUSION.............................................................................................................................................................33 Chapter 3 Software Development Methodologies for Traditional Web Applications and RIAs. ........................... 36 1. INTRODUCTION........................................................................................................................................................36 2. SOFTWARE DEVELOPMENT METHODOLOGIES FOR TRADITIONAL WEB APPLICATIONS. ...................37 3. SOFTWARE DEVELOPMENT METHODOLOGIES FOR RIAS. ............................................................................44 4. CONCLUSION.............................................................................................................................................................55 Chapter 4 Important Factors on RIAs Development.............................................................................................. 59 1. INTRODUCTION........................................................................................................................................................59 2. MULTIMEDIA SUPPORT ON RIAS. .........................................................................................................................60 3. ASPECT-ORIENTED PROGRAMMING (AOP) SUPPORT ON RIAS....................................................................64 4. DESIGN PATTERNS SUPPORT ON RIAS. ...............................................................................................................67 5. USER INTERFACE DESIGN PATTERN (UI PATTERN) SUPPORT ON RIAS. .....................................................69 6. CONCLUSION.............................................................................................................................................................72
  • 11. Chapter 5 Multimedia Support for Native/Embedded Video Playback on Frameworks for RIAs . Development.......................................................................................................................................... 76 1. INTRODUCTION........................................................................................................................................................76 2. MULTIMEDIA SUPPORT INTO JAVASCRIPT-BASED FRAMEWORKS.............................................................77 3. MULTIMEDIA SUPPORT INTO NON-JAVASCRIPT-BASED FRAMEWORKS...................................................89 4. CONCLUSION.............................................................................................................................................................99 Chapter 6 Aspect-Oriented Programming (AOP) Support on RIAs Development.............................................. 102 1. INTRODUCTION......................................................................................................................................................102 2. RESEARCH WORKS ON WEB ENGINEERING WITH AOP SUPPORT.............................................................104 3. AOP SUPPORT ON JAVASCRIPT-BASED FRAMEWORKS................................................................................108 4. AOP SUPPORT ON NON-JAVASCRIPT-BASED FRAMEWORKS......................................................................114 5. CONCLUSION...........................................................................................................................................................115 Chapter 7 Design Patterns Support for RIAs Development................................................................................. 118 1. INTRODUCTION......................................................................................................................................................118 2. DESIGN PATTERNS.................................................................................................................................................119 3. DESIGN PATTERNS SUPPORT INTO JAVASCRIPT-BASED FRAMEWORKS.................................................129 4. DESIGN PATTERNS SUPPORT INTO NON-JAVASCRIPT-BASED FRAMEWORKS.......................................136 5. CONCLUSION...........................................................................................................................................................138 Chapter 8 UI Patterns Support on RIAs Development......................................................................................... 140 1. INTRODUCTION......................................................................................................................................................140 2. UI PATTERNS SUPPORT INTO JAVASCRIPT-BASED FRAMEWORKS...........................................................142 3. UI PATTERNS SUPPORT INTO NON-JAVASCRIPT-BASED FRAMEWORKS.................................................164 4. CONCLUSION...........................................................................................................................................................187 Chapter 9 Case Studies Using JavaScript-Based Frameworks............................................................................. 189 1. INTRODUCTION......................................................................................................................................................189 2. DEVELOPING SOAP WEB SERVICES-BASED APPLICATIONS.......................................................................190 3. DEVELOPING A WORLD ATLAS..........................................................................................................................193 4. DEVELOPING A DOCUMENT INDEXING SYSTEM...........................................................................................197 5. DEVELOPING AN E-PROCUREMENT SYSTEM OF MEDICAL SUPPLIES.....................................................201 6. DEVELOPING A MASHUP: A META-SEARCH ENGINE....................................................................................203 7. CONCLUSION...........................................................................................................................................................208
  • 12. Chapter 10 Case Studies Using Adobe™ Flex....................................................................................................... 210 1. INTRODUCTION......................................................................................................................................................210 2. DEVELOPING REST WEB SERVICES-BASED APPLICATIONS. .......................................................................211 3. CASE STUDIES.........................................................................................................................................................212 4. CONCLUSION...........................................................................................................................................................224 Chapter 11 Case Studies Using JavaFX™. ............................................................................................................. 227 1. INTRODUCTION......................................................................................................................................................227 2. JAVAFX™ ARCHITECTURE...................................................................................................................................228 3. BENEFITS OF USING JAVAFX™...........................................................................................................................230 4. DEVELOPING A PHOTO ALBUM BY USING FLICKR™...................................................................................233 5. DEVELOPING A PHOTO ALBUM BY USING PICASA™...................................................................................237 6. DEVELOPING A PHOTO ALBUM BY USING PHOTOBUCKET™....................................................................240 7. DEVELOPING A ROTTEN TOMATOES™-BASED SEARCH ENGINE FOR MOVIES....................................243 8. CONCLUSION...........................................................................................................................................................247 Chapter 12 Multi-Device RIAs Development........................................................................................................ 249 1. INTRODUCTION......................................................................................................................................................249 2. MULTI-DEVICE RIAS..............................................................................................................................................250 3. MULTI-DEVICE DEVELOPMENT FRAMEWORKS............................................................................................252 4. COMPARISON. ..........................................................................................................................................................266 5. CONCLUSION...........................................................................................................................................................267 Chapter 13 An Overview of RIAs Development Tools.......................................................................................... 269 1. INTRODUCTION......................................................................................................................................................269 2. TOOLS FOR FRAMEWORK-BASED RIAS DEVELOPMENT.............................................................................270 3. MDD TOOLS FOR RIAS DEVELOPMENT............................................................................................................293 4. RAD TOOLS FOR RIAS DEVELOPMENT.............................................................................................................299 5. CONCLUSION...........................................................................................................................................................300 Chapter 14 AlexandRIA: A Visual Tool for Generating Multi-Device RIAs........................................................ 303 1. INTRODUCTION......................................................................................................................................................303 2. ALEXANDRIA: A UI PATTERN-BASED APPROACH FOR GENERATING MULTI-DEVICE RIAS..............304 3. CLOUD APIS.............................................................................................................................................................305 4. INTERACTION DESIGN PATERNS........................................................................................................................311 5. CASE STUDIES.........................................................................................................................................................312 6. CONCLUSION...........................................................................................................................................................320
  • 13. Chapter 15 New Trends on RIAs Development..................................................................................................... 323 1. INTRODUCTION......................................................................................................................................................323 2. RIAS AND CLOUD COMPUTING..........................................................................................................................324 3. RIAS AND MASHUPS..............................................................................................................................................327 4. RIAS AND WEB 3.0..................................................................................................................................................329 5. RIAS AND WEB 4.0..................................................................................................................................................331 6. CONCLUSION...........................................................................................................................................................333 Compilation of References................................................................................................................ 337 About the Authors. ............................................................................................................................. 347 Index.................................................................................................................................................... 348
  • 14. ix Preface WEB DEVELOPMENT EVOLUTION: FROM STATIC WEB PAGES TO RICH INTERNET APPLICATIONS The Web has become one of the most important platforms for quickly and effectively transmitting in- formation to people. In 1990, the Web started with HTML technology, which was originally devised to represent static information through a Web browser. The data flow was in a unidirectional way, from server-side to client-side. However, there was no personalization; most Websites did not authenticate users because there was no need. Over time, Web applications took advantage for business purposes, showing dynamic content to users by enhancing client-side information technologies with JavaScript and bringing components like Applets and ActiveX, or plugins such as AdobeTM FlashTM . On the server-side, there were information technologies that provided dynamism to the Web content. One of the first technologies for this purpose was CGI, which in 1993 represented a standard interface for passing dynamic content from server-side to client-side. Three years later, Java Applet emerged besides consolidated technologies such as PHP and MicrosoftTM ASP. At that time, Web applications used the .Net as a platform for business, rendering dynamic content to users based on back-end business logic and database content. Developers enhanced the Internet’s capabilities to meet the demands of business applications by including scripts—JavaScript and VBScript—and components, such as Applet and ActiveXTM, to the client (user) computer. While this user experience was to some extent enhanced, the fundamental “document-driven” synchronous approach of traditional Internet applications remained the same. As user experience requirements grew in complexity, this approach proved to be a handicap for complex business applications. Though there had been significant progress in server-side implementations, the means of rendering information to the end-user remained the same. As a result, the need to incorporate the rich, interactive, and responsive features of desktop applications was increasingly felt. At that time, there was also a necessity of incorporating the main features of desktop applications: responsiveness and interactivity. A deterrent to fulfill this necessity was the difficulty of handling multi- transaction business workflows. The one-way nature of traditional Internet applications represented continuous Web page refreshing, making it difficult to represent large amounts of complex data and denying rich user experiences. The last phase in this Web development evolution is RIA (Rich Internet Application) starting with technologies such as AdobeTM Flex, JavaFXTM , or Ajax. Ajax incorporates standards-based presenta- tion using XHTML and CSS, dynamic display, and interaction using the Document Object Model, data interchange, and manipulation using XML and XSLT, as well as asynchronous data retrieval using
  • 15. x XMLHttpRequest and JavaScript binding everything together. AdobeTM AIRTM lets developers use Flex technology to build RIAs that deploy on a wide range of devices such as smartphones, tablets, televisions, desktops, and netbooks. AIRTM applications run across operating systems, and they are easily delivered by using a single installer file. With AIRTM , Flex developers can use their existing skills, tools, and code to build highly engaging and visually rich applications that combine the power of local resources and data with the reach of the Web. WHAT THIS BOOK IS ABOUT This book is about the last phase in the Web development evolution (i.e., RIAs). In order to cover this topic, the following elements are identified and addressed: 1) development methodologies, 2) develop- ment dimensions, 3) application frameworks, and 4) development tools. In addition, some case studies aimed at implementing these concepts are discussed in this book. Therefore, this book is intended to provide a comprehensive view of current practices on RIAs development. RIAs are a new generation of Internet applications that combine behaviors and features of Web and desktop applications such as: 1) client-server architecture, 2) data-intensive handling and business logic execution both on the client-side and the server-side, which results in advanced mechanisms of client-server communication, and 3) highly interactive multimedia content. Therefore, this kind of Web applications allows users to do interactive data explorations through attractive visual interfaces, increasing usability and performance (Martínez- Nieves, Hernández-Carrillo, Alor-Hernández, 2010). RIAs are the future of today’s enterprise Web applications: they enhance the user experience, deliver functionality of desktop applications, and provide the portability and data reach that enterprise Web applications provide. A RIA changes the way the client Web application interacts with the server, removing or minimizing frequent server transactions from the user experience. RIAs offer the best of both worlds: the rich client and the reach of the enterprise. “Rich” is a term to describe how engaging and interactive a user interface is at the presentation tier. “Reach” describes the connectivity to the other tiers of the application. RIAs promise a presentation tier that all users see in the same way regardless of the platform, coupled with the powerful data-rich environment that enterprise Web applications can deliver. In Web development, there are three fundamental factors to be considered: 1) Web development methodologies, 2) Web frameworks, and 3) toolkits. Web development methodologies can be catego- rized into two groups: 1) Software Development Methodologies for Traditional Web Applications and 2) Software Development Methodologies for RIAs. The methodologies of the first group pose some problems accommodating Web-specific aspects in terms of their methods and implementation; however, they were the pioneer for the development of new methodologies or extensions of existing methodolo- gies. Some of these methodologies are WSDM, SOHDM, OOHDM, and UWE. The methodologies of the second group were developed by taking into account existing methodologies in order to satisfy the needs and features of RIAs development. Some examples are RUX Method, OOH4RIA, OOHDM Extension, and UWE-R. In the case of Web frameworks, the options for developing RIAs can be grouped into three categories: 1) JavaScript-based frameworks, 2) non-JavaScript-based frameworks, and 3) multi-device frameworks. The JavaScript-based frameworks are open source containing a set of pre-written JavaScript code, which help facilitating the development of the JavaScript-based applications. This allows the development of applications by using the same code written in these JavaScript frameworks instead of writing the
  • 16. xi same line of code each time individually, which becomes more difficult and time consuming. Some examples of these JavaScript-based frameworks are Dojo, jQuery, Prototype, and Sencha ExtJS. The non-JavaScript-based frameworks are based on proprietary programming languages, and these frame- works are typically used under paid licenses. Some examples are Adobe Flex, JavaFX, Silverlight, and OpenLaszlo, to mention but a few. Multi-device frameworks cover two kinds of applications for mobile devices: 1) native applications that are applications written for a specific device’s hardware and operat- ing system, 2) Web-based applications, and 3) hybrid applications, which are applications built using Web technologies and wrapped in device-specific native application containers. These frameworks have the ability to support multiple mobile platforms such as iOSTM and AndroidTM at the same time. Some examples of these multi-device frameworks are PhoneGap, iUi, ipFaces, and Sencha Touch. In the case of Toolkits, there are different Integrated Development Environments (IDEs) for RIAs development. According to its architecture, these IDEs can be classified into the following two major groups:1)standaloneapplicationsand2)plug-inapplications.Someexamplesofstandaloneapplications for RIAs development are Adobe Flash Builder, NetBeans, and Microsoft Visual Studio, among others. As plug-in applications are SapphireSteel Amethyst plugin for Visual Studio™, E(fx)clipse plugin for Eclipse™, and Eclipse4SL plugin for Eclipse™. Figure 1 presents a general perspective about the aforementioned factors. In this book, a novel view of RIAs development is proposed; it considers some issues relevant not only to rich UI design purposes but to software quality purposes. Thereby, the topics related to RIAs development that are covered in this book are multimedia support, AOP (Aspect-Oriented Programming) support, the use of design patterns, and the use of UI patterns, as depicted in Figure 1. Figure 1. A general perspective about the RIA development stack
  • 17. xii Multimedia content is crucial for RIAs. It provides richest content to Web applications by present- ing information more dynamically and entertainingly. As examples of multimedia contents are videos and image galleries. The use of image galleries enhances the ability to customize views on the fly and provides real-time visual representations of a selected item. The possibility to represent graphics, audio, and video is considered an inherent ability of RIAs (Rich Internet Applications). In fact, along with UI transformations, visual continuity and temporal are factors affecting one of the distinguishing features of RIAs: the enhanced UI. AOP allows adding new features to Web applications without changing the original source code. For instance, when a legacy application requires of an authentication method, it is possible to develop a separate method using AOP and without changing the original structure of the application. This is especially relevant for adapting legacy Web 1.0 application UIs to RIA UIs as a common practice in the development of RIAs. Some of the software quality factors that can be achieved in the development of RIAs by using AOP are: 1) Maintainability, 2) Extensibility, and 3) Reusability. Maintainability is very important for RIAs development, since it enables one to make changes as effectively and efficiently as possible. Moreover, the AOP provides a high level for maintainability. Extensibility is another crucial aspect in the RIAs development, because the new functionality sometimes needs to be added to an application that is in operation, and it is necessary to ensure that the application does not fail. Finally, Reusability is important not only in software development but also in the AOP. In fact, Reusability encapsulates the functionality required to be able to reuse it on subsequent occasions. This reduces development time and improves productivity. In the cases of both RIAs and software development, the development time is very expensive. Design patterns are important in software development, as well as in the development of both tradi- tional Web applications and RIAs. One of the main uses of the design patterns is for reusability purposes (i.e., for simplifying the work) and, thus, offering a solution that had been previously tested and which was successfully applied to a problem that manifests repeatedly. In fact, RIA technologies are based on the software reusability principle in the sense that UIs are built starting from reusable widgets or UI controls organized in component hierarchies. This is more evident in the case of the non-JavaScript- based RIA frameworks because of the declarative UI definition model based on UI markup languages such as MXML, FXML, and XAML. A well-known Design Pattern on Web applications development is MVC (Model-View-Controller). The MVC pattern separates the domain modeling, the presentation, and the actions into three classes and based on the user input: 1) Model, 2) View, and 3) Controller. MVC pattern is a fundamental Design Pattern for the separation of user interface logic from business logic. Fortunately, the emergence of Web applications has helped resolve some of the ambiguity, since the separation between the view and the controller is apparent. RIAs design involves two main stages: 1) application structure design and 2) UIs design. This book focuses on the second stage of RIAs design. Rich UIs design typically involves the use of UI patterns to ease the interaction between users and applications. UI patterns enable more intuitive and responsive user experiences (i.e., rich user experiences). Indeed, they allow developers to encourage users to engage with applications. Most of the RIA frameworks offer simple UI controls that natively implement UI patterns (e.g., progress bar [progress indicator pattern] and accordion [expand/collapse pattern] in Adobe™ Flex or JavaFX™). However, some UI patterns require more developmental time and effort in order to be implemented. Therefore, it is not easy to understand the differences between UI controls and UI patterns. Nowadays, RIAs development demands design principles of Web and desktop applications, which are implemented by the so-called interaction design patterns. Furthermore, mobile devices, such as
  • 18. xiii smartphones and tablet computers, have also been involved in RIAs development due to the ubiquitous requirements of Web 2.0 applications (Finkelstein, Savigni, Kimmerstorfer, Pröll, 2002). In this sense, RIAs are known as multi-device RIAs. This term covers RIAs that run as cross-browser Web applica- tions, cross-platform desktop applications, and mobile applications. A Web browser-based RIA is a Web 2.0 application that integrates desktop-like features. A desktop-based RIA is a kind of application that is able to run off-Web browsers. A mobile RIA is a native mobile application with an improved UI. The new trends in the development of RIAs can be identified by analyzing the steps on the Web evo- lution, from Web 2.0 to Web 4.0, passing through cloud computing as a trend on the Web 2.0 evolution. Cloud computing could be the best example of where the RIAs development is going both in commercial and academic fields. A new kind of RIA known as semantic RIA has recently emerged in the context of Web 3.0. Semantic RIAs try to solve the issues related to interoperability between systems by using ontologies and linked data principles. In the case of Web 4.0, the necessity of a ubiquitous Web has led to the emergence of context-aware Web applications by taking advantage of RIA technologies in order to offer rich user experiences. Figure 2 depicts the conceptual map that illustrates the structure of this book. Figure 2. Conceptual map of the general structure of the book
  • 19. xiv Hence, this book is structured as follows: Chapter 1, titled “Basic Concepts on RIAs,” presents an overview of RIA features, and it explains the most important concepts for RIAs development, as well as their benefits and importance in sev- eral domains. In this chapter, a standard architecture for RIAs is described. This architecture has three well-defined layers: 1) the client-side that renders the rich user interface, 2) a controller layer where the business logic is executed, and 3) a data transactions manager. Important domains of Web development are presented, and in each one of them, the importance of RIAs is explained emphasizing particular features of each domain. Finally, experiences and successful stories of using RIAs in B2C e-commerce domain are presented. Some of these successful cases mentioned are Kodak EasyShare, MINI USA, FootJoy™, The Broadmoor Hotel™ and BlueGreen Vacation Rentals™, Verizon Wireless™, Yankee Candle Company, and Charles Schwab. Chapter 2, titled “Frameworks for RIAs Development,” describes the most popular options for RIAs development. For practical purposes, these options are classified into two categories: 1) JavaScript- based frameworks and 2) non-JavaScript-based frameworks; even though there are other classifications reported in the literature, this classification is used in this chapter and throughout the book. In fact, this classification allows for a quick understanding of the technologies for RIAs development by abstracting technical details about intended software architectures. Chapter3,titled“SoftwareDevelopmentMethodologiesforTraditionalWebApplicationsandRIAs,” presents a review of the state-of-the-art on methodologies for RIAs development. For this purpose, methodologies for traditional Web applications development are firstly presented, since, in some cases, methodologies for RIAs development are either extensions of existing Web (and hypermedia) method- ologies or new UI design methods used on top of already existing Web methodologies. New approaches covering the RIAs features without relying on legacy Web models are also discussed in this chapter. Chapter 4, titled “Important Factors on RIAs Development,” discusses some software quality metrics such as usability, scalability, and reusability of RIAs development. The chapter describes the importance of using multimedia content and UI (User Interface) patterns not only for improving the appearance of RIAs but also for delivering rich user experiences. Likewise, this chapter depicts the importance of leveraging AOP (Aspect-Oriented Programming) capabilities and implementing design patterns to ease the RIAs maintenance and enable RIAs reusability. Chapter 5, titled “Multimedia Support for Native/Embedded Video Playback on Frameworks for RIAs Development,” discusses the capabilities of RIA frameworks in the context of multimedia content support. For this purpose, several alternatives for implementing video playback functionality are pre- sented by using both JavaScript-based RIA frameworks to and non-JavaScript-based RIA frameworks. Examples of JavaScript-based RIA frameworks having multimedia content support are Dojo, jQuery, Prototype, and Mootools. Examples of non-JavaScript-based RIA frameworks are Adobe Flex™, Ja- vaFX™, Silverlight™, and OpenLaszlo. For each case study the mandatory files are mentioned. The chapter also shows a screenshot where video player is displayed and code snippets that were used are presented. Finally, a comparative analysis of video playback support for each framework is presented in terms of video container formats and encoding types. Chapter 6, titled “Aspect-Oriented Programming (AOP) Support on RIAs Development,” emphasizes the importance of employing Aspect-Oriented Programming (AOP) on software development, especially in software engineering. Some advantages in the development of RIAs by using AOP are Maintain- ability, Extensibility, and Reusability. This chapter presents a review of several success stories of AOP implementation in real world development projects and discusses the lessons learned in these projects.
  • 20. xv The works analyzed in the state-of-the-art are classified by Web development, Usability Engineering, and other related perspectives. Finally, the chapter also addresses AOP support between JavaScript-based RIA frameworks and non-JavaScript-based RIA frameworks providing either native or third-party AOP facilities. Some code snippets depicting the use of these facilities for implementing AOP concepts are also presented. Chapter 7, titled “Design Patterns Support for RIAs Development,” presents a review of Design Pat- terns proposed by GOF classification is presented. GOF classifies Design Patterns in Creational Patterns, Structural Patterns, and Behavioral Patterns. Some implementation examples of GoF Design Patterns are presented by using both JavaScript-based frameworks and non-JavaScript-based frameworks for RIAs development. Additionally, the chapter also presents a comparative analysis that summarizes the review of the capabilities of the RIA frameworks in the context of GoF Design Patterns support between JavaScript-based RIA frameworks and non-JavaScript-based RIA frameworks. Finally, this chapter also mentions how to solve different programming problems by using Design Patterns. Chapter 8, titled “UI Patterns Support on RIAs Development,” a review of UI patterns supported by using non-JavaScript-based frameworks and JavaScript-based frameworks for RIAs development is presented. For this purpose, the UI Patterns are classified in Transitional Patterns, Lookup Patterns, and Feedback Patterns. Additionally, this chapter presents a series of applications samples depicting the use of not only UI controls but also non-visual functions or classes (as applicable) for implementing the supported UI patterns. These applications are intended to clarify the differences and similarities between UI controls and UI patterns. Finally, the chapter presents a comparative analysis that summarizes the review of the capabilities of the RIA frameworks in the context of rich UI design. Chapter 9, “Case Studies Using JavaScript-Based Frameworks,” discusses the development of four different SOAP Web services-based thin-client applications using jQuery, Prototype, Dojo, and JSP. The chapter, indeed, addresses the development of a world atlas application, a document indexing a search system, an e-procurement system for the healthcare domain, and a meta-search engine for eBay and Amazon products. These case studies, as well as case studies presented in subsequent chapters, exem- plify the use of some UI patterns for accomplishing rich design principles such as stay on the page and use transitions. Similarly, reviews of some similar real world implementations publicly available on the Internet are provided for each case study presented in this chapter. Finally, the chapter presents a review of the support for invoking SOAP-based Web services using Java. This is intended to be a preamble for the case studies and the use and application of SOAP-based Web services. Chapter 10, titled “Case Studies Using Adobe Flex™,” presents two case studies about the develop- ment of REST (Representational State Transfer) Web services-based RIAs using Adobe Flex™ along with HTML and JavaScript. The chapter addresses the development of a meta-search engine for YouTube and Vimeo videos, as well as the development of a forecast weather system based on Yahoo! Weather. In addition, the chapter also offers a review of the support for consuming RESTful Web services in Adobe™ Flex™ as a preamble to these case studies. Chapter 11, titled “Case Studies Using JavaFX™,” presents four case studies on the development of JavaFX™-based RIAs built on top of popular social networking Websites. The chapter addresses the developmentofthreephotoalbumapplicationsbasedonFlickr™,Picasa™,andPhotobucket™Websites, respectively. In addition, the development of a search engine for movies based on Rotten Tomatoes™ Website is finally presented. For each case study, the chapter provides a review of some similar real world implementations publicly available on the Internet.
  • 21. xvi Chapter 12, “Multi-Device RIAs Development,” introduces the concept of multi-device RIA to de- scribe a kind of RIA that can run on a variety of devices starting from the same code base. This includes not only cross-browser Web applications but also out-of-browser applications, namely cross-platform desktop and mobile applications. Thereafter, the chapter presents an overview of multi-device develop- ment frameworks. The supported platforms and the main capabilities are described for each framework mentioned. Furthermore, this section includes both a brief description of the most popular mobile operating systems for mobile devices and a comparison table for summarizing the main features of the multiplatform development frameworks. Chapter 13, titled “An Overview of RIAs Development Tools,” provides a review of RIAs develop- ment tools, including both official and third-party tools. For this purpose, the two major approaches for RIAs development already identified in the literature were considered: 1) framework-based development approaches and 2) MDD approaches. However, this classification was extended by introducing a third category: RAD approaches. Thereby, the chapter reviews not only IDEs for RIA frameworks-based developments but also addresses other support tools for RAD such as code generation tools. Likewise, based on their architecture, IDEs for RIAs development are reviewed and classified into the follow- ing two major groups: 1) standalone applications and 2) plugin applications. Some development tools presented are AdobeTM Flash BuilderTM , NetBeans IDE™, Microsoft™ Visual StudioTM , WebRatioTM , RUX-Tool™, and AlexandRIA. Chapter 14, titled “AlexandRIA: A Visual Tool for Generating Multi-Device RIAs,” explains the use of AlexandRIA for developing cloud services-based RIAs by implementing UI patterns. Unlike other RIA development tools described in Chapter 13, AlexandRIA is entirely focused on the fully automatic source and native code generation of RIAs, and it entirely addresses multi-device RIAs development. In this chapter, the use of the UI design process behind AlexandRIA is also demonstrated by means of a sample development scenario addressing the development of a cloud services APIs-based cross-platform mobile RIA. This scenario is further revisited in a case study that addresses the automatic generation of an equivalent application using AlexandRIA. In addition, this section of the book provides a review of both the UI patterns and the cloud services APIs supported by AlexandRIA as a preamble to the case study. Chapter 15, titled “New Trends on RIAs Development,” presents the new trends on RIAs development by considering the steps on the Web evolution, from Web 2.0 to Web 4.0, passing through cloud-based RIAs development and mashups-rich UIs development as two easily visible trends related to Web 2.0. Semantic RIAs, RMAs (Rich Mobile Applications), context-aware RIAs, and ubiquitous Web appli- cations are some of the academic proposals related to Web 3.0 and Web 4.0 that are discussed in this chapter. Similarly, some commercial efforts from companies such as IBM™, TopQuadrant™ Inc., and Salesforce.com Inc. are also discussed in this chapter. TARGET AUDIENCE This book is targeted at professional developers and students wishing to improve their knowledge of Web engineering and of the way it can be applied to the RIAs development. Some of the concepts covered (methodologies, frameworks, tools) will assume a basic level of prior knowledge and understanding. If the reader requires any further reading related to these topics, the authors provide a list of suggested titles at the end of each chapter. If the reader wishes to learn how to develop RIAs, as well as about all the features of this kind of application, this is undoubtedly the book for them.
  • 22. xvii CREDITS Whilst some of the topics covered in this book were implemented based on the authors’ personal ex- periences, many of them have been previously identified and explained by other people. This work is an effort of the combined experience from the authors and other researchers, whose studies are fully covered in the references sections. Giner Alor-Hernández Instituto Tecnológico de Orizaba, Mexico Viviana Yarel Rosales-Morales Instituto Tecnológico de Orizaba, Mexico Luis Omar Colombo-Mendoza Instituto Tecnológico de Orizaba, Mexico REFERENCES Finkelstein, A. C. W., Savigni, A., Kimmerstorfer, E., Pröll, B. (2002). Ubiquitous web application development - A framework for understanding. In Proceedings of 6th Systemics, Cybernetics, and In- formatics Conference (pp. 431–438). Academic Press. Martínez-Nieves, L. A., Hernández-Carrillo, V. M., Alor-Hernández, G. (2010). An ADV-UWE based phases process for rich internet applications development. In Proceedings of IEEE Electronics, Robotics and Automotive Mechanics Conference, (pp. 45 –50). IEEE.
  • 23. xviii Acknowledgment Authors are always be grateful for the talented technical reviewers who help review and improve their books. The knowledge and enthusiasm they brought to this project was simply amazing. Thus, authors would like to thank: Ulises Juárez-Martínez, PhD, for his support, especially in Chapters 4 and 6, in the AOP subject; Desdemona Almazan-Morales, BSc, and Luis A. Barroso, PhD, from the Instituto Tecnólogico de Estudios Superiores de Monterrey Campus Central de Veracruz for their support in the English review process in some sections of the book; Gabriela Cabrera-Zepeda, MSc, Chief of the Division of Research and Postgraduate Studies of the Instituto Tecnológico de Orizaba for her help and support in this project; Maria Fernanda Villafuerte-Bianchi, BA, for her support in the proofreading process; and all our colleagues and friends from the Instituto Tecnológico de Orizaba for all their support. Giner Alor-Hernández Instituto Tecnológico de Orizaba, Mexico Viviana Yarel Rosales-Morales Instituto Tecnológico de Orizaba, Mexico Luis Omar Colombo-Mendoza Instituto Tecnológico de Orizaba, Mexico
  • 24. 1 Copyright © 2015, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited. Chapter 1 DOI: 10.4018/978-1-4666-6437-1.ch001 Basic Concepts on RIAs ABSTRACT Chapter 1 presents an overview of RIA features, and it explains the most important concepts for RIAs development, as well as their benefits and importance in several domains. In this chapter, a standard architecture for RIAs is described. This architecture has three well-defined layers: 1) the client-side that renders the rich user interface, 2) a controller layer where the business logic is executed, and 3) a data transactions manager. Important domains of Web development are presented, and in each one of them, the importance of RIAs is explained emphasizing particular features of each domain. Finally, experi- ences and successful stories of using RIAs in B2C e-commerce domain are presented. 1. INTRODUCTION The Web or WWW (World Wide Web) is an information distribution system comprised of interlinked hypertext or hypermedia accessed by using the Internet. To access these media, a Web browser is required. The user is able to view dif- ferentwebsites,whicharecomposedofwebpages thatcancontaintext,images,videosormultimedia content. The user can browse the web pages that make up the website, through hyperlinks which cause a great amount of traffic between the cli- ent and the server as every time the user clicks on one of the hyperlinks. So, the whole page is loaded when the user requires some data or some interaction, this task implies to make another re- quest from the server which causes the data can be slowly displayed. This slowness is increased as the amount of data requested is increased. The Web was created in 1989 by the Englishman Tim Berners-Lee and the Belgian Robert Cailliau, while they were working at CERN (CERN means European Organization for Nuclear Research) in Geneva,Switzerlandanditwaspublishedin1992. Since then, Berners-Lee has played an active role in guiding the development of Web standards and over the last few years he has focused his vision on the Semantic Web. Inrecentyears,thetermWeb2.0hasemerged. This term is associated with Web applications that make them easier to share information, interoperability, user-centered design and the collaboration with the World Wide Web. Some examples of Web 2.0 applications are Web com- munities, Web services, social networks, web sites that host videos, wikis, blogs, mashups and folksonomies, to mention but a few. The term is strongly associated with Tim O’Reilly, due to this
  • 25. 2 Basic Concepts on RIAs  term was coined at the conference about Web 2.0 from O´Reilly Media in 2004 (O’Reilly, 2004). Although the term suggests a new version of the World Wide Web, it does not refer to an update process of technical specifications over the Web, but rather it refers more to cumulative changes in the way in which the Web is used by designers and final users. Amongthecharacteristicsofwebapplications, there are some advantages over desktop applica- tions. Some of these advantages are: 1) it is not necessarytocarryoutinstallationsandupdateson every computer where the application is running, these can now be carried out on the server-side and2)theycanrunondifferentoperatingsystems, which are well-known as platform-independent, cross-platform or multi-platform. However, there are also some disadvantages for these types of applications: 1) there is no immediate response to the acts, actions or events carried out by the user on graphical interfaces and 2) it is not possible to drag and drop documents, texts, images or any multimedia content. RIAs (Rich Internet Applications) become a necessary way of increasing the advantages and avoiding the disadvantages of traditional Web ap- plications. RIAs are similar to Web applications but they also share the majority of the character- istics of desktop applications. These applications use a standardized Web browser to be run and via add-ons and through a virtual machine the additional characteristics are added. RIAs are applications that combine the advantages of both Web applications and traditional applications, and they seek to improve the user experience. Rich Internet Applications combine features and functionalityofdesktopapplications,buttheyare delivered over the Web. Commonly when the user clicks on a hyper- link, there is a constant refreshing of Web pages on traditional Web applications. This situation produces a high amount of traffic between the client and the server, resulting in the same web page being refreshed with a minimal change. By usingRIAs,thisprocessdoesnotrequirearefresh process on each Web page, but the whole appli- cation is loaded from the beginning and it only produces a communication with the server when external data are required such as communica- tion with databases or with some external files. RIAs have a particular way to handle and process information which is another difference. Today traditional desktop applications exclusively rely on client-side processing. When a task is initi- ated, the local system’s resources are leveraged to processtherequest.Incontrast,aWebapplication exclusively relies on the server-side technology to process a request. With the use of RIAs, the load is shared by both client-side and server-side technology. RIAs represent the next transition in the evolution of Web applications; they promise the richness, interactivity and usability lacking in many of today’s web applications. 2. BASIC CONCEPTS RIAs constitute a new paradigm on Web devel- opment, which are currently being released with great success in the world of IT (Information Technology)andbusiness.Thebestwayofunder- standingwhatRIAsare,isbyplacingthemwithin the context of other related technologies such as ASP (Active Server Pages) or JSP (Java Server Pages). In order to have a better understanding about the concept, it is necessary to think about technological solutions in terms of two character- istics: reach and richness. “Richness is the ability of incorporating intuitive interactivity and user interfaces on the client-side, and reach is the abil- ity of the application to be available to any user” (Namscimbene, 2005). In 2004, a Macromedia study1 compared a traditional Web application built with JSP technology with an identical ap- plication built with Macromedia Flex. The study revealed that both server requests and CPU usage were dramatically decreased in a Flex-based Ap- plication. The Flex-based applications used .8%
  • 26. 3 Basic Concepts on RIAs  average server CPU utilization under heavy load with minimal peaks of 50% while the JSP-based interface under the same load used 21.2% server CPU utilization with peaks up to 100%. RIAs work in an asynchronous fashion which enables them to be more dynamic than traditional Web applications. Therefore, they reduce the difference between Web-based applications and desktopapplications.SomeadvantagesthatRIAs representwhenarecomparedwithtraditionalWeb applications are presented below: • Immediate Access: At any moment, the user does not lose control of the web page that he is visiting due to the access times are very short. • Graphical Interface Features: The RIAs technologies enable functions such as the drag drop from one part of the screen to another. • Responsiveness and Interactivity: RIA carries out the data processing on the client-side. This situation results in a re- duced network traffic and faster response as the application leverages the client CPU (Central Processing Unit). Also, when a button or a URL (Uniform Resource Locator) is clicked, the corresponding section of the web page is only asynchro- nously reloaded, and not the whole page. This action provides continuous visual ref- erence to users, so they are not distracted by interface changes. • Real-Time Communication: It enables users to collaborate and share information on the Internet through real-time commu- nication channels like instant messenger, video on demand, audio/video conference, among others. • Ease of Maintenance: For example, by modifying and/or deleting items with- out needing of refreshing the current web page, either to improve performance or to fix bugs (Veit, 2008). “RIAs are a type of application that offers various advantages over traditional Web ap- plications. RIAs function as a combination of the advantages of both Web applications and traditional applications” (Viveros García García Godoy, 2009). RIAs have arisen from the needs of both Web applications, as well as desktop applications, achieving a combination of the advantages of both of them: i.e. a RIA is an intermediatebetweentraditionalWebapplications (thin-client) and desktop applications (fat-client) (Rivero et al., 2007). Nowadays,thereareseveralconceptsanddefi- nitionsaboutRIAs.TheRIAtermwasfirstlyused in March 2002 by Macromedia. RIA was defined as a new model for developing Web Applications that separates data server services from the rich userinterface,whichispresentedthroughaplugin that is executed at runtime on a Web browser. Some concepts only compare RIAs to desktop applications in a general way ignoring important features like server-side processing and asyn- chronous data loading. For instance, Wikipedia (Wikipedia, 2011) defines RIA as follow: “A rich internet application is a web application that has many of the characteristics of desktop applications, typically delivered either by way of a site-specific browser, via a browser plug-in, independent sandboxes, or virtual machines…”. This concept has changed due RIAs are not onlyimplementedonWebbrowsers,thankstothe emergence of new Web development platforms; they perfectly run on desktop and mobile devices. Thefollowingextracthighlightsofflineandonline functionality, local data storage and client-side processing capabilities as emphasized by Linaje (Linaje et. al., 2008): “Some of the novel features of RIAs affect the UI (User Interface) and the in- teractionparadigm;othersextendtoarchitectural issues, such as, the client-server communication and the distribution of the data and business logic. They support online and offline usage, sophisticated UIs, data storage and processing capabilities directly at the client side, powerful
  • 27. 4 Basic Concepts on RIAs  interaction tools leading to better usability and personalization, lower bandwith consumption and better separation between presentation and content”. Brambilla(Brambillaet.al.,2008)definesRIA as: “Web applications that exploit the power of Webclientsforincreasingtheresponsivenessand usabilityofthewebUI,byofferingfunctionalities similar to the ones of desktop applications. RIAs follow the client/server paradigm, but opposite to traditional web applications, RIAs are able to transfer the processing of UI, business logic and data management to the client, possibly using asynchronous communications”. This concept refers to the capability of returning processing to client-side and taking advantage of the constant improvements of the hardware configurations. Likewise, Bozzon (Bozzon et. al., 2006) dis- cusses the role that the client-server architecture takes and its asynchronous workflow, defining a RIA as follow: “They are a variant of Web-based systems providing sophisticated interfaces for representing complex processes and data, mini- mizingclient-serverdatatransferringandmoving the interaction and presentation layers from the server to the client. Typically, a RIA is loaded by the client along with some initial data; then, it manages data rendering and event processing, communicating with the server when the user requiresfurtherinformationormustsubmitdata”. As conclusion, the following concept can be inferredemphasizingthemaindifferencesamong traditional Web applications: “RIAs are applica- tionstypicallyexecutedbyanyRIA-capabledevice that renders a Rich User Interface and they use datathatcanbeprocessedbothbytheserver-side and the client-side.” By RIA-capable device, any electronic device that executes JavaScript-based and third-party technologies (JavaFX, Silverlight and Adobe Flex, to mention a few) for RIA development is considered. One of the main principles of RIAs development is the asynchronous data loading which means that they are able to obtain chunks ofdatawithoutrefreshingtheentireWebsite.The conceptofrichness,involvedintheRIAdefinition, is due to its ability of improving the traditional Web Application features in five basic aspects: 1. Theapplicationusestheclient-sidememory in which the data is locally manipulated and stored. Once the entire task is done, it is sent back to the server-side. 2. TheRIAsusetheclient’sprocessingcapabil- ity. It enables both the server-side and the client.side to carry out complex operations, resulting in a different navigation struc- ture in comparison with traditional Web applications. 3. RIAs allow both synchronous and asyn- chronous communications. The data distri- bution between client and server expands the produced event features, since they are originated, detected, advised and processed in different ways. 4. The presentation and complex interaction given to the user are augmented. RIAs show themselves as single Web page avoiding un- necessary loading and allowing data to be displayed in progressive way or when it is needed. 5. RIAs combine the flexibility of Web user interfaces with the processing power of desktop applications. In synthesis, RIAs are systems that allocate most of the load processing of the user graphic interface to the client-side while the predominant part of control processing and data management remains on server-side. From this perspective, a standard architecture for RIA development is represented in Figure 1. In Figure 1, three layers for a typical RIA development are defined: 1) the client-side rendering the rich user interface, 2) a controller layer which executes business logic, 3) a data transactions manager. In Figure 1, the architecture has three main properties:
  • 28. 5 Basic Concepts on RIAs  1. Data Management: In traditional Web ap- plications,dataresidesontheserver-side.In aRIA,applicationdatacanbedistributedbe- tweenserver-sideandclient-side.Therefore, a RIA can use the client’s persistent and volatile content. Data can be manipulated on the client-side, and finally sends them to the server-side once the operation has been completed. 2. Both-Sides Controllers: In traditional Web applications, there is only one control- ler at the server-side that orchestrates the computation of the Web page. At each user interaction,thewholeWebpageiscomputed and reloaded. At the client-side, a second controller is introduced in a RIA, which is responsible of computing and refreshing a section of a Web page. Data processing can be executed both at client-side and server-side.RIAshaveadifferentnavigation structure from Web 1.0 applications, due to the augmented processing capability of the client. In RIAs, both the client-side and the server-sidecancarryoutcomplexoperations. 3. Client/Server-Side Communication: In RIAs,mechanismstominimizedatatransfers are introduced which move interaction and presentation layers from the server-side to client-side.ConverselytoWebapplications, RIAs use both synchronous and asynchro- nous communications. Pull and push com- munication capabilities are available. Data distribution and functionality across client and server broadens the features of the produced events as they can be originated, detected,notified,andprocessedinavariety of ways. These properties represent the core of RIAs, since all RIA implement at least one of them. 3. MAIN CROSS-DOMAINS BENEFITS OF RIAS RIAs solve problems of traditional Web applica- tions. The main problems in traditional Web ap- plication occur when the navigation is necessary in order to: • Represent workflows. • Browse structured information. Figure 1. A standard architecture for RIAs
  • 29. 6 Basic Concepts on RIAs  • Implement complex user interfaces. These aspects can cause: • Increased traffic between client and server. • An increased workload on the server-side. • A decreased client response time (Rivero et al., 2007). RIAs are accessed from the Internet. RIAs solve the accessibility and mobility problems of desktop applications. In next section, the impact and importance of RIAs on different domains are discussed. 3.1. The Importance of RIAs in E-Commerce ITsarefrequentlychangingbecausetherearenew user needs. It is important to take into account the emergent ITs because they offer several benefits to the people involved such as more powerful de- velopment, fast execution and integration among applications. E-commerce is one of the main usages of the Internet where its application has been increased with the development of Web ap- plications.RIAsprovidemorebenefitstobusiness entities, shoppers and developers in e-commerce domain. The main benefits for business entities in e-commerce are listed below: 1. Products are showed anywhere and any- time: Through RIAs, the business entities can show their products to their customer regardless where they are and when they access. The customer can buy without hav- ing to be into a store. 2. The shopping process is easy: RIAs build interactive, intuitive, animated and easy applications. Therefore, they allow users to explore products in an easier and faster approach. 3. Abettershoppingexperienceisachieved: The shopping experience allows customer to visit and buy more frequently. This situ- ation is achieved by providing interactions between the user and the application. For example, it allows searching, retrieving, showing, comparing, selecting and buying products in the same Web page. 4. The product demand is increased: When the detailed information of products is presented through rich user interfaces, the user’s interest for purchasing is increased. 5. Moreinformationofproductsisexposed: The procurement process of the available productsisdescribedtocustomersinamore detailed way for using at their own benefit. 6. Complexity is reduced: It is necessary to represent product information in a simple way and to guide the customer in selecting hisproducts.Whentheuserwatchesasingle Web page, the user does not need to select all products’ features and send information to build a new Web page. RIAs allow select- ing all features and updating products into a same Web page. 7. Fewer returns: When the customer knows all about a product, the customer does not have any doubt of buying the product. It al- lows customer satisfaction and reduces the indices of purchase returns. 8. Less investment in development: There are a lot of open source Web frameworks for designing, creating and building RIAs. Therefore, the business entities can use e- commercetoshowtheirproductsorservices with less investment. 9. Videointegration:Videointegrationoffers new ways to display products information. For example, through video, guidance or instructions about application, services or products can be provided. It also makes more attractive the Web application. 10. The shopping time is reduced: Because shopping time is less, the customer does not leavetheapplication,increasingtheproducts sold.
  • 30. 7 Basic Concepts on RIAs  Themainbenefitsforshoppersine-commerce are listed below: 1. Products can be customized: These ap- plicationsalloweasilycustomizingproducts such as sneakers, clothing, bags to mention but a few. It offers new ways for shopping because the RIAs allow selecting features of products and at the same time they are always configured in a single Web page. 2. The user shopping experience is better: With a single Web page, the user shopping experienceisfast,continuous,andinteresting becausetheWebpagerefreshisnotrequired. Therefore, customers perceive a Web site that provides a better response time. 3. More product information is provided: RIAs provide several components such as video,imageandeffectsthatshowallproduct information needed to know the product or serviceinlesstime.Thismakestheshopping process easier. 4. Fast response to the user’s needs: When the user needs a product or service, the user only needs to visit the application. The user doesnotneedtoleavehishomeorhisoffice. The main benefits for developers in e-com- merce are listed below: 1. TheRIAspromotetheuseofSOA(Service Oriented Architecture): With both RIA and SOA, rich application development is easier and faster. The integration of both technologies allows increasing the shared information through scalable applications. 2. There are several design tool, IDE (Integrated Development Environment) and open source frameworks: These tools allow the RIA development in an easier way since they provide a set of components, events;effectsandlibrarieswheredevelopers only needs to configure them. 3. RIAs have an advanced user capability and interactive user interfaces for build- ing custom rich interfaces to customers: It also provides an easier way for integrating both designer and developer tasks. The e-commerce systems are very important for business entities because they attract potential customers,andtheyexposetheproductsanywhere and anytime. These benefits show how RIAs can bringimprovementtoe-commercedomainthanks to a new generation of internet applications pro- viding interactive, intuitive and dynamic ways to explore the products and services information. 3.2. The Importance of RIAs in E-Learning Over the last few years, great efforts have been made to offer e-learning systems, however the high percentage of failure in e-learning courses has been attributed to the poor design of the online experience which does not motivate the students to achieve a better learning process since they only offers repetitive, boring tasks and some other frustrations. Inordertoimprovethesesystems,thelearning softwareshouldalsocontainmultimediaelements such as simulations, explorations, drag and drop exercises, among others. E-learning systems should be active and they should offer a teaching- learningprocessinadynamicandinteractiveway. Nowadays, the developers of e-learning systems can use RIAs technologies in order to combine a variety of multimedia contens and externalapplicationsforbuildingenrichedcontent and improving the experience of learning online. RIAs technologies are characterized by enabling a higher quality and improving the ex- perience of online interaction. RIAs offer some benefits on e-learning domain which are listed below:
  • 31. 8 Basic Concepts on RIAs  1. The student can access information and courses from any location. This helps to maximize the reach of the audience. 2. RIAs can run without modifications, over the Internet from multiple platforms. With this advantage, the student can receive in- formation from wherever he is and without needing previous software installations. 3. Attractive user interfaces can be provided, with a high level of interactivity. Ease of use and the capacity of attracting the student’s attention are essential in the success of e- learning systems. By building courses more attractivetothestudent,retentionisachieved and with this the courses are successfully completed by the student. 4. Audio, video, images and texts can be used inordertoimprovethecontentsofe-learning applications;itimprovesthestudent’sexperi- ence.RIAsprovidemanyfacilitiestoinclude any type of multimedia content which is of great help and it is beneficial to students. 5. RIAsarecompatiblewithmobileworkflow, enabling users to work both online and of- fline.RIAsofferadvantagesovertraditional Web applications because they can be used for the design of courses or contents for e- learning systems. RIAsofferbetterfeaturesthantraditionalWeb applications by providing the feature of including multimediacontentandtheuserinterfacesdesign withagreaterofinteractivitylevel.Therefore,the designeroftheselearningexperiencescansignifi- cantlyimprovethemotivationandtheexperiences of the user, which in this case is the student. 3.3. The Importance of RIAs in E-Entertainment Today, e-Entertainment is very popular, attribut- ing to a huge number of commercial game titles, while only in US having an annual turnover far exceedingtheAmericanBoxOffice.Additionally, there is a wide spread total of specialized game consoles, with a total number being larger than the amount of home personal computers. By using RIAs, it is possible to design inter- active interfaces including video games for the Web or to develop Web applications for watching movies on the Internet without having to leave the home. RIAs offer some benefits on e-entertainment domain which are listed below: 1. Theusercanaccessvideogamesonline,with- out needing to buy consoles or accessories. 2. It is possible to add a high level of interac- tivity with user interfaces to make the use of applications and content more attractive. These user interfaces can help to the admin- istrators to control the content, enabling actions such as drag and drop, and the abil- ity to practically paginate the contents thus avoiding the refreshing of web pages. 3. It is possible to add video players or multi- media content with personal controls. This offers a greater control as much for the administrator as for the consumer. RIAs combine avant-garde technology with innovative business practices to provide cost- effectivebusinesssolutionsforsmallandmedium businesses, large corporations and governmental organizations. As it can be seen in this section, RIAs can be implemented in diverse domains. RIAs can be implemented in e-government or in e-health; whenever the application requires it. There are also some successful case studies on RIA devel- opment; in the following sections some of these are described.
  • 32. 9 Basic Concepts on RIAs  4. SUCCESSFUL STORIES ON RIAS DEVELOPMENT Experiences and Successful Stories of Using RIAs in B2C E-Commerce Domain Manyyearsago,WebpageswerebasedinHTML- basedtechnology.TheseHTML-basedWebpages containedtext,images,andformelementsliketext boxes, lists, combo boxes and hyperlinks. When a user clicked a hyperlink the Web browser loaded another Web page where all the content had to be replaced by a new HTML-based document and the previous content was disappeared. If the user returned to reload the previous content, the information often was lost. This interaction did not allow rich user experience. Unlike Web applications designed with tradi- tional HTML, a RIA enrich the user experience by combining the strengths of desktop and Web applicationsincreasingandimprovingtheoptions and capabilities of them. Among the new experi- ences that RIAs give to a user are: 1. Provide a rich user interface similar to the “look and feel” present in desktop applications. 2. Applicationsdevelopedwiththesetechnolo- gies use user interface controls with higher performancesandfunctionalities.Examples of them are horizontal or vertical menus, navigation tree menus, tabbed panels, vid- eos, and controls for capturing data, among others. 3. Users interact with the application to get an immediateresponsetothis,itisnotnecessary to redraw the Web page when new data are loaded. 4. The applications enable users to perform commonoperationsthatwereonlyavailable on desktop applications and they were not possible to perform in traditional HTML- basedWebpages:dragdrop,resize,among others. 5. There is not need for complex setup process to access Web sites or applications (in some cases only requires a plug-in). 6. RIAs receive immediate response. It is not necessary waiting for a connection to and from the server-side to get a result. An important improvement offered by RIAs is the development of interactive Web sites. Now, customers have the chance to see online the prod- ucts and even they change and customize them according to their needs. A RIA well-designed site offers to consumers a complete shopping experience: the customer is visually guided step by step through the process, since selecting the productscataloguntilthepayment.Somesuccess stories where RIAs have been applied in order to improve the productivity are described below. Kodak EasyShare (www. kodakgallery.com) It is a subsidiary of Eastman Kodak Company™ that offers online services for handling of digital imagestomillionsofcustomersaroundtheworld. Some services are storing, displaying, sharing photos and ordering prints. The company devel- oped a Web-based platform to handle millions of digital photographs, digital-quality printed albums,photosharingamongusers.Furthermore, the company needed to be capable of expand- ing the functionality to add new products in the future and not limited only to the manipulation of images, plus offer the user a great experience when using a fully interactive platform. To carry out the above, Kodak EasyShare launched Photo Books in 2004 that allowed to users to create their own photo books by a striking interface where they could drag and drop images on the pages of a book, change the page, change the background, amongotheroptions.InPhotoBooks,userscould
  • 33. 10 Basic Concepts on RIAs  also view the content without loss of time and avoiding reloading the entire Web page to update only the book page. Among the benefits gained by using Photo Books include: • Innovation of providing the photo album service to its customers. • Increasing sales by offering the option of printing the album created by the customer or individual photos. • Attracting a greater number of customers by providing compatibility between the Kodak EasyShare software for PC and on- line version. • Providing more products over the Internet. • Developing a platform capable of being ex- panded in terms of functionality MINI USA (www.miniusa.com) MINI USA is a division of BMW™ North Amer- ica. MINI USA is responsible of producing MINI cars in the U.S. market; the goal of developing a RIA was to promote the brand with a unique brandofcarcustomization.Withtheimplementa- tion of a RIA, users had a new experience of the Web site management. The main feature was the customization of Web pages allowing users to manufacture his own MINI car through a simple processthataddsnonlinearelementseitherinside or outside the car; the navigation ensured that all options of exchange were available in a part of the Web page. Users could see the exact car that they were getting and could understand the price implicationsoftheirconfigurationchoicesateach step of the purchasing process. With this new development, it allowed people to customize their own personal MINI through a simple, non-linear five-step process that included the ability to add aftersales MINI Motoring Accessories such as custom roof graphics and wheels. The navigation assured that everything aws viewable on one web page. This rules-based architecture assured that it only allowed the abil- ity of configuring a vehicle that could actually be purchased,anditallowedMINItoeasilymaintain therules,asthevehiclespecificationschangefrom model year to model year. When users finished the configuration process of a car, they could give it a name, save it, calculate payments for it and easily send their configuration to a MINI dealer or a friend. MINI encouraged them to configure and save as many customized MINIs as they like. The customization feature offered the following benefits: • An increasing in registered customers. • The majority of registered clients config- ured a MINI. • Customers were attracted by the way they could customize a MINI car to their needs. • Customization was done in an easy way; all information was always available on screen. • The information was directly sent to a MINI dealer, giving greater confidence to the customer. FootJoy™ (www.footjoy.com) As one of the major brands in the Acushnet Company™, FootJoy is a main manufacturer and distributor of golf shoe and golf glove products in the world. They are estimated to own 55%-60% of each of those markets. Other products include socks, outerwear and accessories. The company distinguished itself in two ways: by the quality of its products and service, and by its reputation for innovation in golf shoe and glove technology. They believe they have a very good feel for the consumer,hisorherneedsandhowtoservethem. They faced several challenges: • Improve the usability of the site. They wanted to provide a two-way interactive experience with a look and feel better rep- resenting the brand. They wanted the abil-
  • 34. 11 Basic Concepts on RIAs  ity to support the customer and better spot- light or merchandize information such as new products, news, among others. • Enable the customer to develop a relation- ship with the company by mirroring on the website the kind of expertise and guid- ance the customer would get in person in a FootJoy store. Specifically, they wanted to develop the Product Finder based on product knowledge captured from FootJoy experts, to allow visitors to quickly iden- tify themselves and their needs, and to map these needs to an appropriate product. • Put a strategic technology foundation in place, including content management, and ties into their legacy product system, that would serve as a base for future website development. • Bring organization to the catalog content to allow them to update on-line catalogs more rapidly by themselves, without in- volving expensive and over-booked techni- cal resources. • Create a participatory site fostering com- munity, by soliciting user feedback through on-line polls, and by providing information about products, golf courses, tips, expert interviews and weather reports. Inordertoretaintheirsubstantialmarketshare, FootJoydevelopedaRIAcalledProductFinderin ordertopresentaseriesofquestionsthatguidethe visitorthroughaproductselectionprocess,similar to how an expert might engage the customer in thestore.Contentsuchaspicturesofgolfshoesor gloves and brief textual product descriptions are pulled from the content management system. In early September 2003, FootJoy launched myjoys. com, a RIA to revolutionize the way Golf Shoes were purchased online. Through this application, customers could access an elegant shoe creation interface that allowed them to see exactly what theirshoewilllooklikeastheydesignandchange it (MyJoys offered the user 2 base and 14 saddle colors option as well as the chance to personal- ize the shoe with up to 3 letters and/or numbers). Leatherstockswerecheckedinreal-time,viaFlash Remoting, notifying the customer if their leather selectionisunavailableandemailingthemwhenit wasbackinstock.Theapplicationincludedafully integrated shopping cart and check-out process, includingencryption(viaVerisgnSSL),anti-fraud credit card checking and real-time address check- ing and tax calculation to ensure an accurate and secure check-out experience. The “My FootJoy” area allowed users to save custom shoes to their wish list and track their orders. Customized shoe ordersweredirectlysenttoChinawheretheshoes were manufactured and shipped to the customer within 3 weeks. FootJoy exceeded the usage expectations by over 200%. At an average of $150 per shoe order, thisunexpectedincreasehadasubstantialincrease on revenue for FootJoy, and it observed a substan- tial increase the ROI on the MyJoys application. The Broadmoor Hotel™ and BlueGreen Vacation Rentals™ (www.broadmoor. com, www.bluegreenrentals.com) Theonlinetravelreservationshavebecomeafairly common occurrence. But it is often frustrating. Frequently, users traverse through several web pages of search and result screens, selecting ho- tels, dates and room types, then by only checking availabilitytodiscoverthatthereisnotroomatthe inn, or the unaffordable room rate is not revealed until the very end, forcing the user to repeat the process again. At the same time, the Web is the cheapestsaleschannelforhotels.Byusingatravel agent can cost a hotel 15%-30% of the revenue in commissions, and many large hotels and chains mustpaytouseaglobaldistributionsystem(GDS) to electronically distribute their inventory. If the hotels can move more reservations to the Web, they can save substantial money. But the main issue is that they need to be assured that they are not going to move people to the Web only to have
  • 35. 12 Basic Concepts on RIAs  them unable to complete a reservation. If a better experience leads to more completed reservations and thus increased revenues, then a Web site that provides a better experience becomes an impera- tive for the hotels. Webvertising, a firm in Houston Texas, mar- kets a suite of products and services for hotels, including OneScreen, an innovative, easy-to-use, single screen interface for on-line reservations. Over 800 independent hotels, hotel companies and destination marketing organizations now use Webvertising’s solutions to manage room inventory and electronic distribution over the Web. OneScreen allowed over 200 hotels, like the Broadmoor, a Mobil 5-star luxury hotel, and time-shareorganizations,likeBluegreenVacation Rentals, offer a better reservation experience to travelers to an increased number of reservations and room nights booked. Today most hotels use a traditional multi-step, multi-page reservation ap- proach for online reservations. The challenge for the Broadmoor was to fundamentally change the user’sreservationexperiencesuchthatthesimplic- ity, clarity and ease of use of the experience led to amoresatisfiedcustomerandincreasedbookings. The key factor was reducing the number of steps involved in making the registration process. The impact of the OneScreen RIA on the hotels was stunning. Webvertising’s hotel cus- tomers reported online reservations in general increasing 46% over the previous year, due to the natural growth in the use of the Web to make reservations. However, hotels that moved from an HTML-based interface to the OneScreen interface observed an additional increase of 89% in reservations. Furthermore while the average conversion rate (from visitor to buyer) for hotels using the HTML-only interface was 2.3%, it was almostdoublethatwiththeOneScreeninterfaces. In one instance, the Greenbrier Hotel observed a dramatic8-foldincreaseinconversionsfrom2.7% for their HTML-based interface to 22% when they used OneScreen. For most hotels, even a 1% increase could be worth hundreds of thousands of dollars a year. Verizon Wireless™ (www. verizonwireless.com) Verizon Wireless is the largest operator of mo- bile telephony in the U.S. with 80 million active customers. In order to publicize its products and services to a wider audience, Verizon developed an online store which offered ringtones, ringback tones and more. The main objective of the shop was to support millions of subscribers and high transaction volumes, also providing a lightweight application for customers to easily download MP3 files. The platform was developed by using Adobe Flash providing to customers a flexible experience offering several benefits for both the company and the customers: • Increase online incomings related to ring- tones and ringbacks tones to be available whenever on the store. • Provides access to an extensive library of MP3 files to registered customers. • The platform is scalable to provide more products. Yankee Candle Company TheYankeeCandleCompanyisanotherstrongex- ampleofhowaRIA-basedconfiguratorimpacted a company. It is a designer, manufacturer, retailer and wholesaler of premium, scented candles in the U.S. They directly sell through their stores, catalogs and on-line Web site, as well as through partners.Theyhadstronggrowthplans,andwanted to create a better e-commerce environment than theircurrentwebsiteoffered.Theyfacedthechal- lenge of increasing buyer confidence to improve sales of custom candles on-line. Customers buy custom candles for very important events such as weddings or corporate events, and they typically
  • 36. 13 Basic Concepts on RIAs  buy them in bulk. The problem was that buyers haddifficultlyvisualizingwhatthecustomcandle would look like once they had made all the selec- tions. The initial version of the Web site’s custom candle section used HTML-based pages and re- quired that users check boxes to select the candle colorandfilloutaformwiththetextforthecandle label message. Once the color was selected, they could never see what this configuration actually looked like before being asked to buy the candle in bulk and on faith. It was no wonder because people would abandon their shopping cart or call customer service for reassurance that the candle would look like what they imagined. YankeeCandlefeltthatthissectionoftheweb- sitewasineffective.Thiswascorroboratedbydata indicating that the average purchase was smaller on-linethanthroughotherchannels.Thiswasalso an indication that they were doing an inadequate job of up selling and cross selling on-line. TechnicallytheproblemwasthatusingHTML- based technology they could not represent what the final product would look like. The Yankee Candle chose to develop a Flash-based user interface for the custom candle configurator for several reasons. First, it allowed themtodynamicallyrenderapictureofthecandle, based on the user’s selections. It also allowed them to create a better Web customer experience that would behave consistently across platforms, a benefit of the broad reach and cross-platform support. Second, they could develop the applica- tion more quickly and thus less expensively than with alternative technologies. This was due in part to the development tools, which provided out-of-the-box user interface components such as drop down menu boxes, and because they were able to integrate the presentation layer into their existing backend system, which consisted of an Oracle product database and BroadVision eCom- merce system. WhilethemajorityofthesitewasHTML-based technology, the custom candle configurator is a single screen Flash-based interface that utilizes their existing e-commerce infrastructure. It ob- taineddataandimageryfromtheproductdatabase andecommercesystem.Asusersselectedthelabel and fragrance and enter the label’s text message, they immediately observed a realistic picture of thecustomcandleasitdidappearwhencomplete. Userswereencouragedtoselectoptionalfinishing touches such as wrapping the candle in fabric or adding a ribbon or a flower, creating the oppor- tunity for Yankee Candle to upsell the customer. The user could construct “what-if” scenarios at any point to see what it did look like and what it did cost for both the basic candle as well as the additional options. The end result was that this real-time visual- ization of their custom candle gave consumers a higher level of confidence, and they bought more candles. Yankee Candle observed a 25% increase in both product revenue and average order size, exceedingtheirexpectations.Inaddition,theyhad a 70% drop off in calls to their call center for the custom candle line, and they received multiple customer testimonials with positive feedback on the website. There was an additional surprising result:theirowncallcenterrepresentativesstarted going to the website and using the configurator when fielding customer calls. Charles Schwab Charles Schwab’s marketing planning calendar provides an excellent example of an application for cross-departmental data visualization. The Charles Schwab Corporation is a provider of se- curities brokerage and related financial services, including retail, telephone and Internet-based brokerageoperations.Schwab’smarketingdepart- ment needed to centralize the planning, tracking and analysis of all marketing initiatives and make the information visible and accessible to both executives and marketing project coordinators. They needed to build a highly complex enterprise reportingapplication.Theywerefacedwithmany challenges. They needed to:
  • 37. 14 Basic Concepts on RIAs  • Address multiple types of users with dif- ferent information needs and visualization requirements • Present deep, multi-dimensional data sets (e.g., how much money was spent on which projects over what time) in an intui- tive, logical and visual way • Provide sophisticated yet easy-to-use re- porting tools usable by both executives and project planners • Deliver responsive and interactive tools that allowed the user to be in control Theychosetodevelopacustomdatavisualiza- tion solution to be able to dynamically communi- cate to different constituents. The sophistication of the data visualization required a wholly new approach and exceeded what was realistic using HTML-based technology or any out-of-the-box or web-based calendaring tools. They wanted, for example, a drilldown Gantt chart in which they could see the spending details of a particular proj- ect. It was not possible to do that in HTML-based technology. To meet two different and distinct user needs they developed two views: timeline and analysis. The timeline view presented information in the form of a dynamic Gantt-style calendar and it wastargetedatprojectcoordinators.Byusingthis view, project managers could quickly and easily visualizetheoveralltime-basedstatusofmultiple projects. Drill down capabilities allowed the project manager to click to see individual project detailswithinaprogram,suchasbudgetdata,orto manipulate projects, such as plan advertising for a different media channel. The tool gave them a frameworktovisualizeandmanipulatethedetailed marketing planning information. The analysis view presented an aggregated holistic view that allowed Schwab marketing executives to answer bigger questions, like “How am I spending money in the first quarter?” With thisdynamicvisualtool,Schwabexecutivescould rapidly analyze marketing expenses across initia- tives and time, and realize a more efficient use of the marketing budget. They could change the selectedcharacteristicstoposedifferentquestions and get a different view on the data. By using this tool, they could slice and dice and then visual- ize the information in useful ways that were not possible before. These use experiences presented in different domains give samples of the range and kind of business benefits afforded by using RIAs. RIAs transformedtheapplicationsconfiguration,espe- ciallywhentheyrequiredenhancedvisualization. RIAs allowed to buyers purchase products off a single screen and see the product that it was the result of their selections improving the user experience. 5. CONCLUSION In this chapter, a general overview of Web ap- plications and how they emerged has been pro- vided in order to place the reader in the context of the RIAs development. Also the most relevant information about RIAs was discussed. The case studies presented give a sample of the range and kind of business benefits afforded by Rich Inter- net Applications. These case studies show how RIAs have the ability to handle various kinds of complexities and enable wholly new kinds of Web applications. While some results were visibly more dramatic or compelling, taken as a whole they begun to have an alternative picture of how Web applications can be, and how they can in many instances, fundamentally change a company’s business or the nature of the game with their competitors. In e-business applications, RIAs allowed ho- tels to dramatically increase their reservations, revenues and room nights booked by simplifying theworkflowcomplexityofmakingareservation. RIAs transformed configuration applications, especiallywhentheyrequiredenhancedvisualiza- tion. For both MINI USA and The Yankee Candle
  • 38. 15 Basic Concepts on RIAs  Company, the ability of a Rich Internet Applica- tion to let buyers purchase products off a single screen and see the product that was the result of their selections transformed the user experience. Finally, Schwab demonstrated that RIAs could have a strong impact on internal corporate ap- plications, by facilitating data visualization and reporting across different groups of users. REFERENCES Bozzon, A., Comai, S., Fraternali, P., Carugui, G. T. (2006). Capturing RIA concepts in a web modeling language. In Proceedings of the 15th international Conference on World Wide Web WWW 06, (pp. 907-908). ACM. Retrieved from http://discovery.ucl.ac.uk/1320284/ Brambilla, M., Preciado, J. C., Linaje, M., San- chezFigueroa,F.(2008).BusinessProcess-based ConceptualDesignofRichInternetApplications. In Proceedings of Eighth International Confer- ence on Web Engineering, (pp. 155-156). IEEE. Retrieved from http://ieeexplore.ieee.org/lpdocs/ epic03/wrapper.htm?arnumber=4577879 Linaje,M.,Preciado,J.C.,Morales-Chaparro,R., Sanchez-Figueroa, F. (2008). On the Imple- mentation of Multiplatform RIA User Interface Components. In Proceedings of ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies, (pp. 44-49). ICWE. Re- trievedfromhttp://icwe2008.webengineering.org/ Program/Workshops/ISBN978-80-227-2899-7/ icwe2008ws-CD/individual-files/02icwe2008ws- iwwost08-linaje.pdf Namscimbene, C. (2005). Adobe Macromedia Sales Engineer en el distribuidor ALAB S.A. Re- trieved6July2011fromhttp://www.canal-ar.com. ar/noticias/noticiamuestra.asp?Id=2639 O’Reilly, T. (2005). What is Web 2.0. Design Patterns and Bussiness Models for the Next Generation of Software. Design, 65(65), 17-37. Retrieved from http://papers.ssrn.com/sol3/pa- pers.cfm?abstract_id=1008839 Rivero, J. M., Buzzo, M. H. (2007). Definición deRichInternetApplicationsatravésdeModelos de Dominio Específico. Retrieved from: http:// revista.info.unlp.edu.ar/tesinas/tesis51.pdf Veit, F. (2008). Introducción a Tecnologías En- riquecidas para Internet. (Unpublished thesis). Facultad de Ingeniería, Universidad ORT Uru- guay, Uruguay. ViverosGarcía,M.C.,GarcíaGodoy,D.(2009). Elaboración de una guía para el desarrollo de aplicaciones en extjs. (Unpublished thesis). In- stituto Tecnológico de Orizaba. Wikipedia. (2011). Rich Internet Application. Retrieved 02 Feb 2011, from http://en.wikipedia. org/wiki/Rich_Internet_application ADDITIONAL READING Fraternali, P., Rossi, G., Sánchez-Figueroa, S. (2010).RichInternetApplications.IEEEInternet Computing, 14(3), 9-12. Citeseer. Retrieved from http://ieeexplore.ieee.org/lpdocs/epic03/wrapper. htm?arnumber=5481362 Shahrooz Feizabadi. (n.d.). History of the World WideWeb.Retrievedfromhttp://ei.cs.vt.edu/book/ chap1/htx_hist.html uclm.es.(n.d.).ACERNinventionyouarefamiliar with:TheWorldWideWeb.Retrievedfromhttp:// www.uclm.es/profesorado/ricardo/CursoHTML/ Presentacion/CERN/web.html w3.org.(n.d.a).ALittleHistoryoftheWorldWide Web, from 1945 to 1995. Retrieved from http:// www.w3.org/History.html
  • 39. 16 Basic Concepts on RIAs  w3.org. (n.d.b). Some early ideas of HTML. Retrieved from http://www.w3.org/MarkUp/ historical w3.org. (n.d.c). The World Wide Web - past, pres- entandfuture.Retrievedfromhttp://www.w3.org/ People/Berners-Lee/1996/ppf.html KEY TERMS AND DEFINITIONS BusinesstoCustomer(B2C):Somestrategies of commercial enterprises to get directly to the customer or end user. E-Commerce: The marketing of products or services through electronic media and especially via Internet. E-Entertainment: The way of providing entertainment through electronic media and es- pecially via Internet. E-Learning: The way the impartation of knowledgeandeducationthroughelectronicmedia and especially via Internet. RichInternetApplications:Applicationsthat are deployed over the Web, this type of applica- tions combines features and functionality of Web applications and desktop applications. Web 2.0: Web applications that allow for easier-to-share information, interoperability, user-centered design, and collaboration with the World Wide Web. World Wide Web (WWW): An information distribution system comprised of interlinked hypertext or hypermedia accessed by using the Internet. ENDNOTES 1 “Flex Performance Brief: A Comparison of Flex and JavaServer Pages Applications”, Macromedia white paper, May 2004.
  • 40. 17 Copyright © 2015, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited. Chapter 2 DOI: 10.4018/978-1-4666-6437-1.ch002 Frameworks for RIAs Development ABSTRACT Chapter 2 describes the most popular options for RIAs development. For practical purposes, these op- tions are classified into two categories: 1) JavaScript-based frameworks and 2) non-JavaScript-based frameworks; even though there are other classifications reported in the literature, this classification is used in this chapter and throughout the book. In fact, this classification allows for a quick understand- ing of the technologies for RIAs development by abstracting technical details about intended software architectures. In the case of JavaScript-based framework, some frameworks were selected and analyzed such as Dojo, jQuery, Mootools, and Prototype. In the case of non-JavaScript-based frameworks, frame- works selected and analyzed were Adobe Flex™, JavaFX™, Silverlight™, and OpenLaszlo™. For each framework, the architecture, functionality, and properties are described. 1. INTRODUCTION There are many options for developing RIAs (RichInternetApplication).RIAframeworkshave become popular in recent years. “A framework is a defined support structure in which another software project is organized and developed. Commonly,aRIAincludessupportforprograms, libraries, and an interpreted language in order to help develop different components of a project” (Viveros García García Godoy, 2009). According to their license type, RIA frame- works can be classified into open source frame- works – such as jQuery – and commercial frame- works – such as Adobe Flex™. The most popular optionsforRIAsdevelopmentaredescribedinthis chapter in order to help developers and designers in the decision making process about the RIA technology to be used considering which best suits the features of the project to be carried out. This chapter discusses the different technologies for RIAs development. 2. FRAMEWORKS FOR RIAS DEVELOPMENT In recent years, several classifications for RIAs havebeenproposed.Theseclassificationsaddress different aspects of RIAs, such as functional-
  • 41. 18 Frameworks for RIAs Development  ity, target runtime environment and, other more complexissues,suchasthesoftwaredevelopment technology (Toffetti, Comai, Preciado, Linaje, 2011). Some of these classifications of RIAs are presented below. Four main aspects of the application develop- ment are considered basing on the user’s experi- ence: • Rich Presentation: RIAs offer client- side event-handling and widgets similar to desktop-based UIs. This permits partial page updates, support interaction with vi- sual data representations, and multimedia content (e.g., audio, video). • Client Data Storage: It is possible to store data on the client-side with different levels of persistence (in a temporal way while the application is running). • Client (and Distributed) Business Logic: It is possible to carry out complex opera- tions directly on the client-side, such as data navigation/filtering/sorting with mul- tiple criteria, domain-specific operations, and local validation of data. It is also pos- sible to distribute the Business Logic be- tween the client and the server-side, (e.g., to validate some form fields on the client and others on the server-side). • Client-Server Communication: RIAs support synchronous communication be- tween client and server-side to distribute domain objects, data, computation, and provide server-push (e.g., in collaborative/ monitoring applications) (Toffetti et al., 2011). Depending on each of the application’s func- tionalities, the features above can be combined to obtain standalone applications, collaborative applications, or simply more appealing UIs (UI standsforUserInterface)forexistingWebapplica- tions. In terms of growing number of features and development complexity, a RIA’s may typically falls into one of the following types of applica- tion (that they can be possibly combined to obtain complex RIAs): • Traditional Web applications with RIA- makeover: Where simple isolated RIA ca- pabilities (usually for partial page updates) are added to a traditional Web application (e.g., Facebook™). • Rich UIs: Web applications with widget- based UIs, where the client-side logic is an extension layer over the browser, supersed- ing core browser responsibilities, such as handling events and managing states and the rich user interfaces components work in a coordinate way (e.g., Gmail™). • Standalone RIAs: Web applications ca- pable of running both inside and/or outside the browser in a connected and/or discon- nected fashion (e.g., SlideRocket™). • Distributed RIAs: Where the application data and logic are (sometimes dynamical- ly) distributed across client and server-side. Moreover, on-line collaboration is sup- ported and client-server communication is used to fill the gap between objects and events living across the application compo- nents (e.g., Google Docs™) (Toffetti et al., 2011). Currently, RIAs capabilities can be imple- mented in a number of different client-side technologies. These technologies can be broadly classified into three categories according to the runtime environment: • JavaScript-Based: The client-side busi- ness logic is implemented using the JavaScript scripting language (the approach is also known as “AJAX”, which stands for Asynchronous JavaScript and XML). Moreover, UIs are based on a combination of HTML (HyperText Markup Language) and CSS (Cascading Style Sheets). The
  • 42. 19 Frameworks for RIAs Development  main advantage of this approach is that it relies on both built-in browser JavaScript support and W3C (World Wide Web Consortium) standards. • Plug-in-Based: Advanced rendering and event processing are granted by brows- er’s plug-ins interpreting specific script- ing languages, XML (Extensible Markup Language), or media files (e.g., Adobe Flex™, JavaFX™, Silverlight™). • Runtime Environments: Applications are downloaded from the Web but they are ex- ecuted outside the browser using a desk- top runtime environment (e.g., Java Web Start, Adobe AIR™). These solutions offer client-side capabilities and off-line usage with full access to the underlying operat- ing system. Many RIA technologies can be used to develop applications for these runtimes (e.g., development technologies can be used for Adobe AIR™, Javascript- based and/or Flash-based) (Toffetti et al., 2011). In order to address the multiple options for developing RIAs, this chapter presents a classi- fication schema of RIAs. This classification was made according to the development technology. Figure 1 shows this classification schema, which issimplerthanotherproposals.Morespecifically, the shcema consists of two categories: the first groups JavaScript-based frameworks and the secondgroupsnon-JavaScript-basedframeworks. 2.1. Non-JavaScript- Based Frameworks ThefirstsetfordevelopingRIAsisnon-JavaScript- based frameworks. Merely the most popular and therefore most used frameworks on the market were considered. 2.1.1. Adobe Flex™ Flex is an open source framework for developing mobile applications for Apple iOS™, Android™ and BlackBerry™ Tablet OS. It is also used for traditional Web and desktop applications that are Figure 1. Classification schema for RIAs development
  • 43. 20 Frameworks for RIAs Development  deployedinthemajorWebbrowsersandoperating systemsusingthesamecode-base(Adobe,2011). Moreover, Flex provides a programming language and a programming model based on standards supported by common design patterns (Adobe, 2011). Finally,alongwiththeFlashPlayerandAdobe AIR runtime environments, Flex also belongs to the so-called Adobe Flash Platform, and it comprises different components/modules. These components/modules are described below: 1. MXML and ActionScript Languages: MXML is a declarative XML-based lan- guage that permits describing the distribu- tion, appearance and behavior of the ap- plication’s user interface. ActionScript 3.0 is an ECMAScript-based object-oriented language which anables to define the ap- plication’s business logic. The MXML (MacromediaeXtensibleMarkupLanguage) and ActionScript source code are compiled together into a single SWF file, which com- prises the Flex-based application. 2. The Flex Framework SDK Components: The Flex SDK (Software Development Kit) isasetofuserinterfacecomponents,suchas lists, buttons, and graphics, among others. It includestheAdobeFlex™framework(com- ponent class library) and the Flex compiler. Flex compiler enables to freely develop and deploy Flex-based applications. 3. The Flash Builder IDE (Integrated DevelopmentEnvironment):AnEclipse™- based IDE for Adobe Flex™-based applica- tiondevelopment.FlashBuilder™provides support for building Adobe Flex™-based and ActionScript-based applications for Android™, BlackBerry™ Tablet OS and Apple™ iOS™. 4. The Runtime Environment for Web Browser, Adobe Flash Player™: Adobe Flash Player™ is a multiplatform runtime environmentforWebbrowsers-basedappli- cations.ItpermitsdeployingAdobeFlex™- based applications in a Web browser using a plugin (McCune Subramaniam, 2008). Figure 2. Main Adobe Flex™ components
  • 44. 21 Frameworks for RIAs Development  Figure 2 depicts the interaction among the components/modules involved in Adobe Flex™. Adobe Flex™ provides a standards-based middle tier presentation server specifically de- signed for construction of server-based RIAs. Adobe developed Flex with the aim of improving the user’s experience in creating rich dynamic Internet applications and to help developers ac- complish more with fewer resources. The advantages of using Adobe Flex™-based technology are listed below. • The Web browser-based applications run within a controlled environment, the Adobe Flash player™ plugin. Therefore, it is not necessary to consider the Web browser features. According to Adobe, Adobe Flash Player™ is currently installed on over one billion of desktop computers across Web browsers and operating sys- tems (Flash Player, 2012),. • Adobe Flex™ is a mature technology. • IDE support comes not only from Adobe with FlashBuilder but also from Jetbrains with IntelliJ IDE. • Adobe Flex™, especially since the release of Adobe AIR™, represents a powerful option for RIAs development (Smeets, Boness, Bankras, 2008). The most important Adobe Flex™ properties are presented in Table 1. Some success stories of using Adobe Flex™ on the development of well-known Web sites are described in Table 2. The Adobe AIR™ runtime environment enables developers to use HTML, JavaScript™, Adobe Flash™, and ActionScript™ in order to build Web applications that run as stand-alone client applications without the Web browser constraints. In fact, it is a consistent and flexible runtimeenvironmentthatallowsdeployingAdobe Flex™-based applications as desktop and native mobile applications. (Adobe AIR™, 2011). Table 1. Adobe Flex™ properties Developers Adobe™ Features Deployment platforms. Adobe Flash Player™: Windows™, Mac OS™, Linux™, Solaris™, Android™ and BlackBerry Tablet OS™ +*0 Adobe AIR™: Windows™, Mac OS™, Android™ and Apple iOS™ Development platforms Windows™, Mac OS™, Ubuntu™ and Fedora™ (Adobe Flex™ SDK 4.6) Version Current release 4.6 License Proprietary (Free Adobe Flex™ SDK) and Mozilla™ Public License (MPL) 1.1 (Open Source Adobe Flex™ SDK) Table 2. Success stories of Adobe Flex™ Website Description Honda™, www.buildyourhonda. eu This website allows users to customize their motorcycles, while they can visualize the results. This application was built using the Adobe Creative Suite™, Adobe Flash Player™, Adobe Flex™, Adobe Flash Builder™, and Adobe Photoshop™. Standard Chartered Bank™, standardchartered.com In order to enable rich user experiences through an interactive and visually attractive website, the banking firm Standard Chartered Bank™ developed the user interface of its website using Adobe Flex™. New York Times™, timesreader. nytimes.com / webapp / TimesReader.do The dynamic digital reader of the New York Times™, called Times Reader 2.0, was developed using Adobe Flex™ and Adobe AIR™. Philips Lighting™, www.lighting. philips.com This RIA enables users to dynamically manage and manipulate large amounts of real-time information (e.g., sales figures, costs models, order histories) trough an interface developed with Adobe Flex™.
  • 45. 22 Frameworks for RIAs Development  2.1.2. JavaFX™ JavaFX™ is an application platform for develop- ing and deploying RIAs that runs on a variety of devices. It is fully integrated with the JRE (Java Runtime Environment), and it leverages the per- formanceandubiquityoftheJava-basedplatform. JavaFX-based applications run on any desktop and Web browser running the JRE, they can eas- ily integrate them to JME (Java Platform Micro Edition). JavaFX™ allows opening possibilities of applications development for mobile phones, TVs and other devices. Noteworthy that only the pre-2.0 versions have mobile devices-support. TheJavaFX™platformincludesthefollowing components: • The FXML Language: A scriptable, XML-based, markup language for building Java object graphs. • The JavaFX SDK: Which includes: ◦ ◦ The runtime environment of JavaFX™ Desktop (Desktop JavaFX™ Runtime). ◦ ◦ APIs (APIs stands for Application Programming Interfaces) for JavaFX™. ◦ ◦ The JavaFX™ compiler. • The NetBeans™ IDE for JavaFX™: JavaFX™ technologies are integrated with the NetBeans™ IDE, a mature and pow- erful development environment, which al- lows developing, previewing, and debug- ging JavaFX™ applications more easily. • Java FX™ Scene Builder: JavaFX™ SceneBuilderisacommercialfreesoftware tool for visually designing JavaFX™ appli- cation GUIs (Graphical User Interface) in FXML. It is a component of the JavaFX™ platform which was initially developed by Sun microsystems™ and it is actually maintained by Oracle™ Corporation. The most important JavaFX™ properties are presented in Table 3. The advantages of using JavaFX™-based technology are listed below: • Java™ programmers use standard Java™- based libraries in JavaFX™ applications. • The JavaFX™ platform includes developer tools: the NetBeans™ IDE for JavaFX™ and the JavaFX™ plugin for NetBeans™, both as freeware. It also provides design tools: the JavaFX™ plugin for Adobe Photoshop™ and Adobe Illustrator™, as freeware (Oracle Corporation, 2011). The disadvantages of using a JavaFX™-based technology are listed below: • It is stacked on top of the JRE. The JRE is available on every major platform (and many minor ones). However, it is not ubiquitously installed. The same is true of Adobe Flex™/AIR™ and Silverlight™, of course, but Flash is a lighter-weight solu- tion than the whole JRE+JavaFX™ and the latter is basically a default on the target platform anyway (Smeets et al., 2008). • JavaFX™ is an immature technology in a field that has several more mature com- petitors such as Adobe Flex™/AIR™ and Silverlight™. Table 3. JavaFX™ properties Developers Oracle™ Corporation Features Deployment platforms Any operating system using JVM (Java Virtual Machine) Development platforms Any operating system (JDK 1.7) Version Current release 2.2 License BCL (Binary Code License)
  • 46. 23 Frameworks for RIAs Development  Table 4 describes some success stories of us- ing JavaFX™ on the development of well-known out-of-browser RIAs. 2.1.3. Silverlight™ Silverlight is a powerful development tool for creatingengagingandinteractiveuserexperiences for Web and mobile applications. Silverlight™ is a free plug-in powered by the .NET framework and compatible with multiple browsers, devices and operating systems. It brings a new level of interactivitywherevertheWebworks(Microsoft, 2011a). Silverlight™ introduces support for running Silverlight™ applications with desktop features in the browser, video quality and perfor- mance improvements, and features that improve developer productivity. Microsoft Silverlight™ platform consists of two main frameworks, and an installation and updating component. These features are described in Table 5. For further details, the elements of the .NET framework for Microsoft Silverlight™ are de- scribed in Table 6. The advantages of using Microsoft Silverlight are listed below: • It allows accessing to the .NET framework programming model in order to develop Silverlight™-based applications using dy- Table 4. Success stories of JavaFX™ Website Description Ubivent™, http://www.ubivent.com/en/start Ubivent™ is a Europe’s virtual event specialist offering a virtual event platform. The platform allows online communication between thousands of participants, providing a real event feeling. This platform is built on JSE (JSE stands for Java Standard Edition) 7 taking advantage of the Java Web Start technology. Celer Technologies™, http://celer-tech.com/products/ framework/ Celer Technologies™ is a global financial software company with knowledge on the financial technology sector. It offers an end-to-end financial trading framework featuring rich GUIs developed in JavaFX™ v. 2.2. DooApp™, http://www.dooapp.com/index.php/fr/ produits DooApp™ is a software company headquartered in France. It specializes on the development of tools addressing the needs of green building professionals. It also offers a platform called Infiltrea™ for measuring airtightness. Infiltrea™ is built on JSE 6 making extensive use of JavaFX™. Table 5. Microsoft Silverlight™ Features Feature Description Basic Presentation Framework Components and services related to the design of user interfaces and user interaction. This includes data provided by the user, user interface controls, multimedia playback, digital rights management, data links, and presentation features such as vector graphics, text, animations and images. It includes XAML (eXtensible Application Markup Language) language for the design of user interfaces. .NET Framework for Silverlight™ The .NET framework contains components and libraries that provide data integration facilities, extensible Windows™ controls, networking, distribution (RSS / Atom) facilities, XML serialization, and garbage collection facilities. Moreover, it includes the LINQ (Language-Integrated Query) query language, the CLR (Common Language Runtime) and DLR (Dynamic Language Runtime) runtime environments. Installation and Upgrade Component Control installation and upgrade that simplifies the installation process of applying for new users. Subsequently, it provides low-impact automatic updates (Microsoft™, 2011a).
  • 47. 24 Frameworks for RIAs Development  namic languages, such as IronPython and IronRuby, or compiled languages like C # and Visual Basic™ (Microsoft™, 2011b). • Microsoft ™ Corporation provides two different IDEs: Microsoft Expression Studio™ for designers and Microsoft Visual Studio™ for developers; the latter is provided as freeware. The disadvantages of using Microsoft Silver- light™ are listed below: • Microsoft Silverlight™ does not have sup- port for the Linux operating system; never- theless, there is an open source implemen- tation called Moonlight (version 2.0) for Linux™ and other operating systems based on Unix/X11 (Moonlight, 2011). • The Microsoft Silverlight™ plugin has a lower market penetration for Flash Player™, and even lower than the JRE. However, Microsoft has distributed a plu- gin for Silverlight™ with the latest ver- sion of its operating system, Windows™ 7. According to the British Computer Society, Windows 7 is now installed on over 20% of personal computers connected to the Internet (bcs, 2011). The most important Silverlight™ properties are presented in Table 7. Table 8 presents some success stories of well- known websites developed using Silverlight™. Table 6. .NET framework components for Microsoft Silverlight™ Element Description Data It supports features of LINQ and LINQ for XML (XLinq) query languages, which facilitate the process of integrating data from disparate sources. It also supports the use of classes for XML-based serialization and data management. Base Class Libraries (BCL) The .NET framework provides a set of base class libraries which provide functions and features that can be used with any .NET framework-supported programming language, such as Visual Basic, C#, Visual C++, among others. The base class library contains standard programming features such as collections, XML parsing, data type definitions, I/O facilities (for reading and writing to files), reflection and globalization, to mention but a few. Furthermore, it contains some non-standard features, such as the LINQ query language, the ADO.NET class library (for database interactions), drawing capabilities, as well as forms and Web support. Windows Communication Foundation (WCF) Windows Communication Foundation provides a unified programming model for rapidly building service- oriented applications that communicate across the Web and the enterprise. It provides features to simplify the access to remote data and services. It includes support for cross-domain HTTP (Hypertext Transfer Protocol) requests, RSS (Really Simple Syndication) / Atom content syndication and JSON (JavaScript Object Notation), POX (Plain Old XML) and SOAP (Simple Object Access Protocol) formats. Windows Presentation Foundation (WPF) It provides a rich set of controls, such as a button, a calendar, check box, data grid, date picker, hyperlink button, list box, radio button, and ascroll viewer, among others. Dynamic Language Runtime (DLR) It supports dynamic compilation and execution of scripting languages, such as JavaScript and IronPython for scheduling applications based on Silverlight™. DLR also includes a model of compatibility with other languages to be used with Microsoft Silverlight™ (Microsoft, 2011b). Table 7. Silverlight™ properties Developers Microsoft™ Corporation Features Deployment platforms Windows™, Mac OS™ and Windows Phone™ Development platforms Windows™ and Mac OS™ (Silverlight™ SDK 5) Version Current release 5 License Proprietary
  • 48. 25 Frameworks for RIAs Development  2.1.4. OpenLaszlo™ OpenLaszlo™ is an open source platform for developing and delivering Web applications with usable user interfaces. The OpenLaszlo™ platform enables developers to develop applica- tions with typical rich user interface capabilities of desktop client software taking advantage of the no-download Web deployment model. These applications run on all leading Web browsers on allleadingdesktopoperatingsystemsusingXML- basedcode.OpenLaszlo™isaproductdeveloped by Laszlo Systems and it was published under the Common Public License (CPL) (Smeets et al., 2008). OpenLaszlo™ uses a proprietary program- ming language called LZX to define application user interfaces. LZX is an XML-based markup language that embeds JavaScript-based business logic (Smeets et al., 2008). OpenLaszlo supports LZX code compilation into executable binaries for DHTML (DHTML standsforDynamicHyperTextMarkupLanguage) and Flash execution environments (Laszlo Sys- tems, Inc, 2013c). TheOpenLaszlo™SDKconsistsof:1)abuilt- in Java compiler, 2) a JavaScript-based library runtime, and 3) a Java-based servlet that provides additionalservicestorunningapplications(Laszlo Systems, Inc, 2013c). These components are described in Table 9. OpenLaszlo™ uses existing technological infrastructure and standards as shown in Fig- ure 3. Two application deployment models are thouroughly described below: • Mediated by the OpenLaszlo Server: the OpenLaszlo™ server is always running. It compiles the source code as needed, and it sends the resulting file (SWF or JavaScript) to the client in order to execute the ap- Table 8. Success stories of Silverlight™ Website Description Siemens™, siemensplmcampus.com The website features a virtual exhibition of the Siemens™ PLM Software campus. Siemens™ PLM Software is a software development company specialized in Product Lifecycle Management. Users can know how the business works by interacting with the virtual buildings provided. Mazda™, mazda.co.uk / car-configurator This website shows a Mazda™ brand car customizer. It incorporates high- resolution images and external features, such as 360-degree views and zoomed interior views (Silverlight™ showcase, 2011). Digital Mixup™, mixupdigital.com Mixup™ is an online digital music and video store. The website aims to provide a rich user experience for seeking, purchasing, and downloading songs and albums. Table 9. OpenLaszlo™ platform components Component Description OpenLaszlo™ Compiler It compiles LZX files into executable binaries for specific environments. OpenLaszlo™ currently covers Flash (SWF format) versions 8.9 and 10, as well as DHTML. OpenLaszlo™ Servlet It intercepts application requests for traditional media types and for SOAP and XML-RPC Web services. Laszlo™ Foundation Class (LFC) It is a runtime library that includes user interface components rich, data binding facilities, and network services, among other features (Laszlo Systems, Inc, 2013a).
  • 49. 26 Frameworks for RIAs Development  plication either using the Flash Player™ plugin or directly in a Web browser. The OpenLaszlo™ server intercepts applica- tion requests through the use of a variety of protocols. • SOLO (stands for Standalone OpenLaszlo Output): the LZX source code is pre-com- piled into either a stand-alone SWF file that can be placed within an HTTP Web server, or into a JavaScript-based file. Therefore, OpenLaszlo™-based applications can di- rectly communicate with other servers us- ing the SOLO deployment model. (Laszlo Systems, Inc, 2013a). The advantages of using OpenLaszlo™ are listed below: • OpenLaszlo™ is an open source platform. • The OpenLaszlo™ architecture enables different deployment models depend- ing on the applications requirements (Theserverlabs, 2011). Figure 3. Deployment model for OpenLaszlo™ platform Table 10. OpenLaszlo™ properties Developers Laszlo Systems™ Features Deployment platforms Any operating system Development platforms Any operating system Version Current release 4.9.0 License Common Public License
  • 50. 27 Frameworks for RIAs Development  ThemaindisadvantageofusingOpenLaszlo™ is that the OpenLaszlo™-based applications performancecanbeaffectedwhenSOLOdeploy- ment model is used (Laszlo Systems, Inc, 2013a). The most important OpenLaszlo properties are presented in Table 10. Table 11 describes several success stories of well-known websites developed using Open- Laszlo™. 2.2. JavaScript-Based Frameworks JavaScriptisanobject-orientedscriptinglanguage usedfordefiningWebbrowser-basedapplications client-side. JavaScript enables Web developers to programmatically create objects on a Web page. It provides a platform for manipulating these objects on-the-fly. Since the introduction of the Asynchronous JavaScript and XML technology (AJAX), JavaScript has evolved to become far more useful. It currently brings a whole new level of interactivity to Web-based programming. In fact, prior to Ajax, any server-side processing or database access required the entire page to be refreshed or a new page to be rendered by the Web browser. Ajax stands for Asynchronous JavaScript and XML, although the reference to XML is no lon- ger valid as Ajax requests can return responses in other several formats, such as JSON. Ajax enables JavaScript to asynchronously submit an HTTP request to the Web server, and render the response without refreshing or rendering a new page.Furthemore,thedevelopercanusetheDOM (Document Object Model) to modify part of the Web page in order to display the changes or data returned as part of the HTTP response. A JavaScript-based framework or library is a set of utilities and functions that make it much easiertoproducecross-browsercompatibleJavaS- cript code. Each library can be extensively tested acrossdifferentversionsofexistingWebbrowsers in order to ensure that a JavaScript-based RIA is similarly executed across different platforms (RibosoMatic, 2013). According to the authors’ point of view, the eight most popular JavaScript-based frameworks for RIAs development are presented below. 2.2.1. Dojo Dojo is a framework that contains APIs and widgets (controls) to facilitate Web applications developmentusingAJAX-basedtechnology.Dojo contains an intelligent packaging system, UI ef- fects, function libraries to drag and drop widgets APIs,eventabstraction,storageAPIsontheclient, andinteractionwithAJAX-basedAPIs.Dojoalso solvescommonusabilityissues,suchasnavigation and browser detection, URL withstands changes in the address bar (bookmarking), and the ability to lay down when AJAX / JavaScript is not sup- ported on the client-side (RibosoMatic, 2013). Dojo is much more than a framework. Its creators Table 11. Success stories of OpenLaszlo™ Website Description Walmart™, walmart.com The Walmart™ multinational used this open source technology to redesign its website, adding rich functionality (Laszlo Systems, Inc, 2013b). Gliffy™, gliffy.com It is a Web-based and free CASE (Computer Aided Software Engineering) tool offered as an alternative to commercial CASE tools, such as Microsoft Visio™. This application was entirely developed using OpenLaszlo™. This provides rich capabilities such as drag and drop (Laszlo Systems, Inc, 2013b). Fnac™, fnac.com Fnac™ is an international company headquartered in France, and it is specialized in electronics and entertainment software sales. Fnac™ is an online shopping cart developed in OpenLaszlo™ allows users to easily compare deals and options before making a buy decision (Laszlo Systems, Inc, 2013b).
  • 51. 28 Frameworks for RIAs Development  refer to it as the JavaScript toolset (“toolkit”) that allows professionals to develop Web applications easily and quickly. Furthermore, Dojo has a free- softwarelicensetype(EguíluzPérez,2008).Dojo saves time and offers a powerful performance and scale in its development process. (Dojotoolkit, 2014). The most important Dojo properties are presented in Table 12. ByusingDojo,developerscanbuildwebpages moreusable.Thismightmanifestitselfinavariety of ways. The web page should be faster. It should be better looking. It should be easier to operate by the user. It should help the user properly enter the required information, and the web page should be easier to navigate. Dojo provides enhancements in usability such as HTML form elements that provide additional functionality. These enhance- ments should make the current form elements behave in more useful ways. Performance can be improved either by making things run faster or by making things appear to run faster. The ideal way to make a process appear faster is to have the processrunwhiletheuserisdoingsomethingelse rather than just having him wait for the process to complete. Ajax provides the ideal mechanism to support this technique. Dojo in conjunction with Ajax allow to a web page to asynchronously make data requests of the server while the user is continuing to work. The web page appears to the usertobefasterandmoreresponsive.Datavalida- tion can be improved by bringing the validation of data closer to the entry of data. Dojo supports the ability to send small validation requests to the server without requiring an entire form to be submitted. (Harmon, 2008). 2.2.2. jQuery jQuery is a concise JavaScript library that simpli- fies HTML document traversing, event handling, animation,andAjaxinteractionsforrapidWebde- velopment.Infact,thejQuerycompressedversion is only 20 KB. Moreover, jQuery and Prototype share many ideas; they also have function names in common. However, their internals have some drastic differences. JQuery simplifies JavaScript Table 12. Dojo properties Developers Alex Russell, 2004; David Schontzler, and Dylan Schiemann. It is equally important to mention support provided by the Dojo Foundation. Sponsors IBM™, Google™, AOL™ and Nexaweb™. Features Dojo supplements are prepackaged components consisting of JavaScript, HTML, and CSS assets, which can be used to develop RIAs. • Menus, tabs, and tooltips • Sortable tables, dynamic graphics, and 2D vector drawing • Animation effects and the possibility of creating personalized animations • Support for drag and drop • Forms and validation routines for parameters • Calendar, time and clock selector • Online rich text editor • Core components (dijit) accessible from earlier versions and screen reader Browser support Internet Explorer™ 6-9 Mozilla Firefox™ 3.6+ Safari™ 5+ Opera™ 10.5-12 Chrome™ 13+ Version Stable release 1.8, October 10, 2012 License Berkeley Software Distribution (BSD) y Academic Free License (AFL)
  • 52. 29 Frameworks for RIAs Development  programming - including AJAX calls and DOM manipulation -, while the jQuery documentation is very complete and includes many examples (EguíluzPérez,2008).ThemostimportantjQuery properties are presented in Table 13. jQuery has been considered as the best option forthewebdevelopmentcommunity.Thishasbeen reflejected in the developmet of well-known ma- jor websites such as MSNBC, and well-regarded opensourceprojectsincludingSourceForge,Trac, and Drupal. In comparison with other toolkits that are focused on JavaScript techniques jQuery aims to change the way that web developers think about creating rich functionality in their web pages. Rather than spending time juggling the com- plexities of advanced JavaScript, designers can leverage their existing knowledge of Cascading StyleSheets(CSS),ExtensibleHypertextMarkup Language (XHTML), and good old straightfor- wardJavaScripttomanipulatewebpageelements directly,makingmorerapiddevelopmentareality (Bibeault Katz, 2008). 2.2.3. MooTools MooTools is a compact and modular Object- Oriented JavaScript framework designed for intermediate and advanced JavaScript develop- ers. It permits writing powerful, flexible, and cross-browser code with itswell-documented and coherent API (Mootools, 2012). MooTools is released under the Open Source MIT software license, which provides de oportunity to use it and modify it in every circumstance. The most important MooTools properties are presented in Table 14. Some frameworks are focused on re-creating a somewhat traditional inheritance model and MooTools is focused on this and highly encour- ages code reuse and develop modular designs. JavaScripthasaprototypalinheritancemodel,and Table 13. jQuery properties Developers John Resig, 2006. Sponsors Microsoft™ and Nokia™ companies announced that this library would be included in their platforms. Microsoft™ would add it in the Visual Studio™ version 3 IDE, enabling ASP.NET and ASP.NET MVC-based development. On tbe other hand, Nokia would integrate the library within the Web Run-Time platform. Features • Selecting DOM elements • Interactivity and DOM tree changes, including support for CSS 1-3 and basic XPath plugin • Events • Handling the CSS style sheet • Effects and animations • Custom Animations • AJAX • Supports extensions • Various Utilities as browser information, operating with objects and vector functions for common routines, etc. (jQuery, 2012) Browser support Internet Explorer™ 6+ Mozilla Firefox™ 2.0+ Safari™ 3+ Opera™ 10.6+ Chrome™ 8+ Version Stable release 1.8.3, November 13, 2012 License General Public License (GPL) y Massachusetts Institute of Technology License (MIT)
  • 53. 30 Frameworks for RIAs Development  MooTools creates a structure to take advantage of this model in a way that is more familiar to Java developers (Newton, 2008). 2.2.4. Prototype Prototype takes the complexity out of client-side Webprogramming.Itwasbuilttosolvereal-world problems.ItalsoaddsusefulextensionstotheWeb browser-scriptingenvironmentandprovidesAjax and DOM APIs. Prototype is a JavaScript-based framework that aims to ease development of dy- namic Web applications. It offers a familiar class- style object-oriented framework, extensive Ajax support, higher-order programming constructs, and easy DOM manipulation. It was created by Sam Stephenson in February 2005 as part of the foundation for Ajax support in Ruby on Rails. Prototype is implemented as a single JavaScript file, usually named prototype.js. Prototype is also distributedaspartoflargerprojects,suchasRuby onRails,script.aculo.usandRico.Nowadays,itis Table 14. Mootools properties Developers The MooTools Dev Team Sponsors Unknown Features MooTools includes many components. A remarkable one is the download application available on MooTools website that allows users to download only the parts of the library that they plan to use, including dependencies. Users can also choose to download the compression level of the file. Some of the component categories of … are outlined below: • Core: it is a collection of support functions that makes use of the other components. • Class: it is the base library for MooTools object instantiation • Natives: it is a collection of improvements to native JavaScript object by adding I functionality, compatibility, and new methods that simplify the code. • Element: it has many improvements and compatibility to the HTML object. • Effects: Advanced API to encourage Elements • Remote: it provides an interface for XHR requests, and tools for JSON Cookie. • Window: it provides an interface, valid for any browser, for customer information, such as window size. Browser support Internet Explorer™ 6+ Mozilla Firefox™ 2+ Safari™ 3+ Opera™ 9+ Chrome™ 4+ Version Stable release 1.4.1 October 6, 2011 License MIT Table 15. Prototype properties Developers Sam Stephenson and Prototype Core Team Sponsors Unknown Features Prototype enables to deal with Ajax calls in a very easy, fun, and especially safe way (cross-browser). In addition to simple requests, this module also deals smartly with JavaScript code returned from a server and provides helper classes for polling. Ajax functionality is contained in the global Ajax object. The transport for Ajax requests is XmlHttpRequest, with browser differences safely abstracted from the user. Actual requests are made by creating instances of the Ajax. Request object. Browser support Internet Explorer™ 6+ Mozilla Firefox™ 1.5+ Safari™ 2.0.4+ Opera™ 9+ Chrome™ 2+ Version Stable release 1.7.1 June 5, 2012 License MIT
  • 54. 31 Frameworks for RIAs Development  usedby3.9%ofallwebsites,whichmakesitoneof themostpopularJavaScriptlibraries(Prototypejs, 2014). The most important Prototype properties are presented in Table 15. It might seem odd to state that a JavaScript library can extend the language in which it was written, but that is exactly what Prototype does. JavaScript provides a mechanism known as prototype-based inheritance (from which this libraryderiveditsname).Infact,severalscripting languages provide features for extending the base objectsofthelanguage.Rubydoesit,andmanyof theextensionsprovidedbyPrototypeareborrowed from Ruby. Once could describe Prototype’s goal as making JavaScript feel more like Ruby (Crane, Bibeault Locke, 2007). 2.2.5. Qooxdoo Qooxdoo is a JavaScript library that offers many facilities for developing advanced JavaScript- basedinterfaces,includingadebugconsole,event management, and source control, among others. It is supported by the most current versions of popular Web browsers, and it is released under a GNU Lesser General Public License (LGPL) free software license (RibosoMatic, 2013). Qooxdoo is a comprehensive and innovative framework for RIAs development. Furthermore, Qooxdoo is an object-oriented and JavaScript-based program- ming language for developing cross-browser ap- plications where any expertise in HTML, CSS, or DOM is not required. It includes a set of develop- ment tools, a platform-independent GUI toolkit and an advanced client-server communication (Qooxdoo, 2014). The most important Qooxdoo properties are presented in Table 16. Qooxdoo is a universal JavaScript framework with a coherent set of individual components and a powerful toolchain. It is open source under lib- eral licenses, and supported by one of the world’s leading web hosts, 11(Qooxdoo, 2014). 2.2.6. Rico Rico is a functions library for creating Javascript- based RIAs. It is object-oriented, which makes it easy to refactor Web application user interfaces to rich user interfaces (Openrico, 2014). Rico providesresponsiveanimationsforsmootheffects andtransitionsthatcancommunicateuserinterface changes more interactively than traditional Web applications.Furthermore,thisJavaScriptlibrary providesaverysimpleinterfaceinordertoregister Ajax request handlers as well as HTML elements or JavaScript objects as Ajax response objects. From this perspective, multiple elements and/or objects may be updated as the result of one Ajax request (RibosoMatic, 2013). Rico is based on Prototype, and it includes networking facilities, complex user interface controls - such as calen- dars and trees -, drag and drop functionality, and user interface effects. Moreover, Rico is released freely and as an open-source under the Apache 2.0 software license for either personal or com- mercial use. The most important Rico properties are presented in Table 17. Table 16. Qooxdoo properties Developers qx community Sponsors Unknown Features • It allows developers to abstract HTML, CSS, and DOM-based applications. • Object Oriented Programming • Cross-browser • AJAX • Native desktop look and feel Browser support Internet Explorer™ 6+ Mozilla Firefox™ 2+ Safari™ 3.0+ Opera™ 9+ Chrome™ 2+ Version Stable release 1.0.1 January 27, 2010 License LGPL and Eclipse Public License (EPL)
  • 55. Random documents with unrelated content Scribd suggests to you:
  • 59. The Project Gutenberg eBook of Nouveau manuel complet de marine, seconde partie: manoeuvres
  • 60. This ebook is for the use of anyone anywhere in the United States and most other parts of the world at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this ebook or online at www.gutenberg.org. If you are not located in the United States, you will have to check the laws of the country where you are located before using this eBook. Title: Nouveau manuel complet de marine, seconde partie: manoeuvres Author: Phocion-Aristide-Paulin Verdier Release date: October 13, 2012 [eBook #41039] Most recently updated: October 23, 2024 Language: French Credits: Produced by Laurent Vogel, Bibimbop and the Online Distributed Proofreading Team at http://www.pgdp.net (This book was produced from scanned images of public domain material from the Google Print project.) *** START OF THE PROJECT GUTENBERG EBOOK NOUVEAU MANUEL COMPLET DE MARINE, SECONDE PARTIE: MANOEUVRES ***
  • 61. Note sur la transcription: Les erreurs clairement introduites par le typographe ont été corrigées. L'orthographe d'origine a été conservée et n'a pas été harmonisée. Une note plus détaillée se trouve à la fin de ce volume. NOUVEAU MANUEL COMPLET DE MARINE. SECONDE PARTIE. MANŒUVRES. NOUVEAU MANUEL COMPLET DE MARINE. SECONDE PARTIE.
  • 62. MANŒUVRES DU NAVIRE ET DE L'ARTILLERIE. Par M. Verdier, Capitaine de Corvette. PARIS, A LA LIBRAIRIE ENCYCLOPÉDIQUE DE RORET, Rue Hautefeuille, nº 10 bis. 1837.
  • 63. AVERTISSEMENT. Les ouvrages qui traitent de la manœuvre du navire s'appuient sur des vérités mathématiques trop élevées pour être à la portée de toutes les classes des navigateurs. Nous avons pensé qu'il pouvait être utile d'offrir un Manuel pour la Manœuvre, dépouillé de toute démonstration théorique, qui ne repose que sur la seule pratique, et qui, par conséquent, peut être lu par le marin le plus illettré. Il est plus facile, et surtout plus utile en marine, d'aller du simple au composé que du composé au simple. Le marin instruit, qui connaîtra pratiquement la manœuvre, lira ensuite avec bien plus de fruit les ouvrages de théorie. Si nous pouvons rendre plus facile à quelques jeunes navigateurs l'étude de la manœuvre, notre but sera atteint. NOUVEAU MANUEL DE MARINE. SECONDE PARTIE.
  • 64. MANOEUVRES. CHAPITRE PREMIER. Du Navire. Le navire est un corps flottant, il doit, par conséquent, occuper dans le fluide un espace tel que son poids soit égal à celui du volume d'eau qu'il déplace. C'est la partie submergée qui éprouve la force de résistance du fluide dans le cas du mouvement, et la puissance destinée à lui donner ce mouvement doit donc être en proportion avec la résistance éprouvée. Les voiles sont des surfaces planes autant que possible, qui, étant exposées à l'impulsion du vent, en sont frappées, et communiquent ainsi du mouvement au navire auquel elles sont assujetties. Elles agissent dans le sens latéral et dans le sens direct. Le centre de gravité d'un corps est le point par lequel ce corps étant suspendu, reste en équilibre et ne change pas de position. Ce point sera au milieu du corps, si le corps est régulier; et s'il est irrégulier, il sera dans la partie qui a le plus de pesanteur, par rapport au point qui marque le milieu de la longueur du solide. Si un corps étant ainsi suspendu en équilibre, on veut lui imprimer un mouvement de rotation, il est évident qu'il faut lui appliquer une force déterminée à un point quelconque; que cette force, supposée la même, agira d'autant plus qu'elle sera plus éloignée du centre de
  • 65. gravité, et qu'elle imprimera au corps un mouvement contraire à son application. Le centre de gravité d'un navire est toujours sur l'avant du milieu de sa longueur absolue, parce que l'avant a plus de capacité, et par conséquent plus de pesanteur que l'arrière. Si nous considérons le navire comme un corps en suspension par son centre de gravité, nous pouvons imaginer, sans grande erreur pour la pratique, que son point de rotation sera sur l'axe vertical qui passe par le centre de gravité; et que la force appliquée sur l'arrière ou l'avant de ce point lui fera éprouver un mouvement de rotation de l'avant sur l'arrière ou de l'arrière sur l'avant; c'est-à-dire que si la force est appliquée sur l'arrière, l'angle que l'avant fait avec la direction de la force diminuera, et que si elle est appliquée sur l'avant, ce sera l'angle formé par la direction de cette force et l'arrière qui diminuera. Le mouvement est communiqué au navire par le moyen des voiles qui y sont assujetties, et qui reçoivent l'impulsion du vent. La direction de la force appliquée sera donc la ligne suivant laquelle souffle le vent. Il est évident, d'après ce que nous avons dit du corps en suspension, que si nous l'appliquons au navire, le vent soufflant dans les voiles de l'arrière, rapprochera l'avant de sa direction: c'est ce qu'on appelle venir au vent ou lofer; et le vent soufflant dans les voiles de l'avant, rapprochera l'arrière de sa direction; ce qu'on appelle arriver. Les voiles de l'avant tendent donc à faire arriver le navire; celles de l'arrière à le faire lofer. C'est en combinant ces deux effets et en les tenant en équilibre, qu'on imprime au navire une vitesse sur une ligne donnée, qu'on appelle route. Ce sera donc en augmentant aussi ou détruisant un de ces deux effets, qu'on fera arriver ou lofer le navire, en un mot qu'on le fera évoluer.
  • 66. On voit donc que si les voiles étaient exposées d'une manière convenable, et que la force et la direction du vent restassent les mêmes, le navire conserverait une vitesse égale, et suivrait une route donnée. Mais cet équilibre, qu'il est si important de conserver, est fréquemment troublé, et on a inventé le gouvernail pour le rétablir et forcer le navire à suivre une ligne déterminée. Les lames sont une cause de la perturbation de l'équilibre, en frappant le navire et lui imprimant un mouvement de rotation sur l'axe vertical de son centre de gravité, suivant le point sur lequel elles le frappent, et leur direction, qui n'est pas toujours celle du vent. A chaque lame le navire fait deux oscillations: l'une de chute, vers la partie opposée à celle que choque la lame, et l'autre de réaction à l'instant où elle se sépare du navire. Outre les effets de la lame, il est encore des actions qui agissent pour faire tourner le navire sur l'axe vertical qui passe par son centre de gravité. C'est en premier lieu l'action produite par la résistance de l'eau, dans le sens latéral, ou perpendiculaire à la quille, sur les différens points de la carène qui y sont exposés; secondement l'action que le vent exerce sur les voiles dans le sens latéral; et troisièmement, enfin, l'action que le vent exerce sur les voiles dans le sens direct. Quoique cette action paraisse coïncider avec le plan vertical qui passe par le centre de gravité, et ne devoir pas produire un mouvement de rotation, cependant lorsque le vaisseau incline, il n'en est pas ainsi. Si ces trois actions pouvaient être en équilibre, le navire n'aurait pas de mouvement de rotation, et obéirait à l'impulsion dans le sens de sa quille; mais ces actions varient à chaque instant par l'état de la mer ou du vent. Ce défaut d'équilibre se corrige par un changement de voilure, et enfin par le gouvernail.
  • 67. Du Gouvernail. Nous ne décrirons pas le gouvernail que tout le monde connaît, nous dirons seulement que par sa position à peu près verticale à la poupe, et par le moyen de sa barre, il peut se porter d'un côté ou de l'autre du navire, et que s'opposant au courant du fluide de ce côté, il fait naître une nouvelle force qui oblige le navire à tourner, ou dont l'effet est de faire équilibre aux forces contraires dont nous avons parlé, et qui tendraient à faire tourner le navire dans un sens opposé. Si le fluide, coulant le long des flancs du navire, rencontre le gouvernail faisant un angle avec la quille, il le choquera, et poussera la poupe dans le sens opposé au choc; alors l'avant obéissant à ce mouvement se rangera nécessairement du côté où le choc a eu lieu, c'est-à-dire vers celui où a été mis le gouvernail, ou enfin du bord opposé à celui où l'on a placé la barre. Mais si le fluide, au lieu de couler de l'avant à l'arrière, coulait de l'arrière à l'avant, l'effet serait évidemment contraire; car le fluide qui vient alors de l'arrière, rencontrant le gouvernail faisant un angle avec la quille, le choquera en poussant la poupe dans la direction de ce choc; l'avant tournera donc dans le sens opposé, c'est-à-dire dans le sens opposé au côté où le gouvernail aura été mis, ou enfin du côté où sera la barre. Il n'entre pas dans le plan que nous nous sommes tracé, de démontrer mathématiquement les effets et la puissance du gouvernail. Nous dirons seulement que son effet est d'autant plus grand que la vitesse augmente, et qu'à même angle il suit la progression du carré des vitesses. Si le gouvernail fait avec la quille un angle de 45 degrés, il est dans la position la plus favorable pour opérer les mouvemens de rotation; mais on ne peut obtenir cette position, et il est rare que l'angle soit de plus de 35°.
  • 68. Le gouvernail agissant en s'opposant au fluide qui coule le long des flancs du navire, doit nécessairement diminuer sa vitesse; il faut donc balancer sa voilure de telle manière, qu'on soit obligé de le mettre en mouvement le moins possible. Et règle générale, toutes les fois que pour conserver le navire en route, on sera obligé de faire un usage fréquent du gouvernail, ce sera une preuve que la voilure sera mal établie, ou mal balancée. Nous observerons à cette occasion, que souvent étant au plus près, et la brise fraîchissant, le navire a une grande tendance à venir au vent, et qu'on est obligé d'y avoir une partie de la barre. Il suffirait, à notre avis, de diminuer de voiles, en se débarrassant des voiles hautes, pour rendre le navire bien gouvernant, et loin de diminuer le sillage, il est fort possible qu'il augmente. L'inclinaison diminuant, la submersion de la carène sera moins considérable, et sa résistance moins forte; le navire moins chargé gouvernera avec la barre droite, et le gouvernail ne sera plus un obstacle au sillage; n'est-il pas possible que ces deux causes qui tendent à augmenter la vitesse, compensent, et au-delà, la diminution produite par la suppression des perroquets? Le temps que deux navires semblables emploient à évoluer, est en raison de leur longueur. CHAPITRE II. Appareillages. Lorsqu'un navire a reçu tout ce dont il a besoin pour prendre la mer, on le mouille sur rade sur une ancre, s'il doit profiter du premier moment favorable; mais s'il peut y prolonger son séjour, on le mouille sur deux.
  • 69. Amarré de la première manière, il est dit sur un pied; mais on concevra facilement qu'il ne peut rester long-temps dans cette position, puisque à chaque changement de vent et surtout de marée il doit courir sur son ancre et peut la surjoaler. Cependant, depuis l'adoption presque générale des câbles- chaînes, sur les rades qui n'ont que peu ou point de marée, on peut, en filant une grande quantité de chaîne, rester sur un pied. Car, par son poids, la chaîne portant sur le fond, bien de l'arrière de l'ancre, offre au navire un point d'appui sur lequel il peut tourner sans passer sur son ancre. Mais il ne faut pas être mouillé près d'autres navires, qu'on pourrait aborder en décrivant ainsi un cercle autour de son ancre. Il est donc plus prudent de mouiller deux ancres, ce qu'on appelle affourcher. On affourche en mettant deux ancres sur une ligne perpendiculaire à celle des vents les plus dangereux. Ainsi, sur une rade où les vents les plus dangereux sont le N. E. et le S. O., les ancres doivent être mouillées sur une ligne N. O. et S. E. Il faut aussi avoir l'attention d'affourcher de manière que les câbles ne soient pas croisés pour le vent du large, qui est celui qui amène la plus grosse mer, parce qu'alors ils fatigueraient davantage et ragueraient les sous-barbes. Ainsi, si on affourche N. O. et S. E., c'est-à-dire pour les vents de N. E. et de S. O., ou que les vents du large soient ceux du S. O., les câbles doivent être croisés lorsqu'on évitera au N. E. On affourche, soit avec le navire, soit avec la chaloupe; mais dans le premier cas, il faut avoir un point d'appui pour touer le navire jusqu'au point où il doit laisser tomber la deuxième ancre. Pour cela, après que le navire a mouillé sa première ancre et qu'il a filé une quantité de câble suffisante, on embarque dans la chaloupe une ancre à jet, garnie de son orin et de sa bouée, à laquelle on étalingue un grelin et plus s'il est nécessaire, qu'on embarque dans la chaloupe et dont on garde le bout à bord, ou dont
  • 70. on lui donne le bout qu'elle rapportera à bord après avoir mouillé l'ancre à jet, si, ayant à remonter contre le vent ou le courant, on craint que le poids du grelin resté à bord ne la charge trop et ne la fasse dériver sous le vent du point où l'ancre à jet doit être mouillée. La chaloupe convenablement remorquée, se dirige dans le rhumb de vent où l'ancre doit être placée, et lorsqu'elle est parvenue un peu au-delà du point qu'elle doit occuper, elle mouille l'ancre à jet. Elle porte le bout du grelin à bord, où on le raidit aussitôt. On garnit ensuite ce grelin au cabestan, et on vire en filant à la demande du câble de l'ancre mouillée. Lorsqu'on a dehors une quantité de ce câble égale à deux fois la longueur qu'on veut donner à chaque amarre d'affourche, on cesse de virer, on laisse perdre l'aire du navire, et on mouille en choquant le grelin afin que le navire puisse culer et ne pas surjoaler. Pendant que la chaloupe va lever l'ancre à jet, on vire sur le premier câble mouillé en filant du second. Lorsqu'on a filé de ce dernier la quantité qu'on veut avoir dehors, on prend le tour de bitte, et on vire jusqu'à ce qu'ils soient également raides, et qu'il n'y ait que peu de mou. On dégarnit et on prend le tour de bitte du câble sur lequel on virait, on les garnit l'un et l'autre de paillets, et l'on est affourché. Si on fait porter l'ancre d'affourche par la chaloupe, il faut aussi lui ménager un point d'appui sur lequel elle pourra se tenir lorsqu'elle sera chargée. Car si en théorie on peut envoyer une chaloupe ainsi, en la faisant remorquer, il n'en est pas de même en pratique. Une chaloupe portant une ancre de bossoir en cravate, son orin et sa bouée, ayant sur son avant la moitié de son câble lové pour contre- balancer le poids de l'ancre, est déjà privée de l'usage de plus de la moitié de ses avirons; il faut qu'elle supporte encore le poids du câble qu'on file du bord, et que des canots placés de distance en distance le soutiennent, pour qu'il ne touche pas au fond avant que l'ancre ne soit mouillée. Quel est le navire qui a une assez grande quantité de canots pour pouvoir remorquer convenablement une
  • 71. chaloupe ainsi chargée, et la diriger à un point fixe, s'il y a surtout de la mer et du courant. Il faut donc, pendant que l'ancre de bossoir est suspendue en cravate, de l'arrière de la chaloupe, et qu'on y embarque le câble, faire élonger par un canot une petite ancre à jet dans la direction où l'ancre d'affourche doit être mouillée. Le bout de l'aussière de cette ancre à jet étant à bord, la chaloupe le place sur le rouleau de son étrave et se hale dessus. Elle est suivie d'embarcations qui portent le restant du câble dont le bout est à bord. Lorsque le canot qui porte les premiers plis du câble, les a filés à mesure que la chaloupe à laquelle il tient par une remorque se hale, il le saisit en dehors du bord par une bosse qui fait dormant à son grand banc, et qui s'y amarre après avoir embrassé le câble; un homme tient à la main le bout de la bosse pour la larguer au signal de la chaloupe. Les canots ayant ainsi filé et soutenu le câble, la chaloupe file celui qu'elle a à bord, et lorsqu'enfin elle l'a raidi autant que possible en se halant, elle fait un signal aux canots qui larguent les bosses lorsqu'elle mouille. On dérape l'ancre à jet, on raidit le câble, on prend le tour de bitte, et on fait les paillets. Depuis l'usage à peu près général des câbles-chaînes, il est bien difficile, pour ne pas dire impossible, d'élonger une ancre amarrée sur un câble-chaîne. La difficulté de ne le filer qu'au fur et à mesure que la chaloupe s'éloigne du bord, son poids qui augmente la résistance qu'elle doit vaincre pour se haler, l'impossibilité par conséquent de le raidir suffisamment avant de mouiller, doivent faire abandonner cette manière d'amarrer, et il faut affourcher avec le navire lui-même. Mais comme il est une foule de circonstances qui obligent à envoyer une grosse ancre au large par le moyen de la chaloupe, surtout dans les échouages, tout navire doit, outre ses câbles-
  • 72. chaînes des ancres de bossoir, avoir un ou deux câbles en chanvre pour élonger dans les circonstances imprévues. On désaffourche avec le navire ou la chaloupe. Avec le navire, on vire sur une ancre en filant du câble de celle sur laquelle on veut appareiller. Parvenu à pic, on cesse de filer, on dérape, et aussitôt l'ancre à l'écubier, pendant qu'on la caponne et la traverse, on garnit le câble de l'autre ancre, et on abraque dessus jusqu'à ce qu'il n'en reste plus à la mer que la quantité suffisante pour tenir le navire. Si on désaffourche avec la chaloupe, on la munit de deux caliornes de braguets, de poulies de retour et des amarrages nécessaires à l'opération; on lui donne aussi un bon cordage de la grosseur de l'orin pour faire un maillon. Car il ne serait pas prudent de lever une ancre de bossoir par son orin, sans avoir coulé un maillon, car si l'orin casse et que le navire ne puisse venir chercher son ancre, on est obligé de la draguer, ce qui est souvent bien long et oblige à faire le sacrifice de l'ancre si on n'a pas le temps nécessaire à cette opération. La chaloupe parvenue à l'ancre qu'elle doit déraper, saisit la bosse, place l'orin sur le davier et le raidit. On coule le long de l'orin un maillon à nœud coulant, destiné à saisir la patte de l'ancre en dessous de ses ailerons, et à soulager et renforcer l'orin. Lorsque, par la hauteur du fond, on s'aperçoit que le maillon est rendu à sa patte, on s'assure si elle a été saisie en pesant dessus; s'il résiste, elle est prise; dans le cas contraire, il remonte le long de l'orin et on le coule de nouveau. Lorsqu'il est en place on le raidit, et si on ne compte pas sur l'orin, on les réunit et on frappe dessus la caliorne de braguet, dont une poulie est crochée à un piton d'étrave et dont le garant revient sur l'arrière dans une poulie de retour, afin de pouvoir élonger dessus la plus grande quantité possible de matelots. L'ancre détachée du fond, on vire sur son câble à bord, ce qui amène sous l'écubier la chaloupe qui la tient suspendue. Rendue là,
  • 73. on la met à poste comme nous l'avons dit, et on vire sur le câble de l'ancre qui doit servir à l'appareillage. Le navire désaffourché, on embarque sa chaloupe avec un appareil composé de deux caliornes frappées l'une sur la grande vergue, et la seconde sur la vergue de misaine, et deux caliornes servant de palans d'étai. Les basses vergues portent, pendant cette opération, un poids considérable, et fatiguent beaucoup, quoiqu'on les renforce par une fausse balancine. Pour les soulager, on fait les caliornes à pendeur. Ce pendeur passe sur le chouc du bas mât et se marie, par le moyen d'un burin, à une estrope qui embrasse deux ou trois haubans du côté opposé à celui où l'on hisse. Ce pendeur se frappe sur la vergue au moyen d'une estrope à burin. La vergue alors ne fait plus que l'office d'arc- boutant, et la plus grande partie de l'effort a lieu sur le chouc du bas mât. Appareiller, le Navire évité le bout au vent. On vire à long pic; on largue les voiles carrées, le grand foc et la brigantine, on borde et hisse les huniers. Si on veut abattre sur tribord, on brasse bâbord devant tribord derrière, en effaçant bien le petit hunier par sa bouline de revers; on pèse le gui et on le porte sur tribord. On ferait le contraire si on devait abattre sur bâbord. On dérape. Le navire étant évité le bout au vent, ayant son petit hunier brassé bâbord et bien effacé par sa bouline, faisant avec la quille l'angle le plus aigu qu'il puisse faire, l'avant du navire tombera sur tribord. Mais pendant ce mouvement il cule, puisque le vent est sur les voiles, on met alors la barre à tribord pour accélérer le mouvement d'abattée, qu'on peut encore augmenter en hissant le grand foc aussitôt que le mouvement est prononcé. Lorsque le vent commence à prendre dans les voiles de l'arrière, on dresse la barre et on change le phare de l'avant qu'on oriente. Si
  • 74. l'abattée continue encore, ce qui arrive ordinairement, parce que le navire n'ayant pas d'aire ne pourra ranger au vent que lorsqu'il en aura pris, que du reste la barre a été dressée en changeant devant, on choque l'écoute de foc et on borde la brigantine. Si les circonstances le permettent, on laisse le petit hunier masqué pendant le temps qu'on travaille à mettre l'ancre à poste. Si les abattées sont trop grandes, on borde la brigantine. Si le foc était dehors, son écoute a dû être filée aussitôt que le vent a pris dans les voiles de l'arrière. L'ancre à poste, on dresse la barre, on borde le foc, on cargue la brigantine, et on change le phare de l'avant qu'on oriente. Si la position du navire a exigé qu'il fît de la route aussitôt que l'ancre a quitté le fond, pour éviter un danger, ou un bâtiment mouillé à petite distance, il ne faut faire que la voile absolument nécessaire pour assurer la promptitude des mouvemens; car, avec un sillage rapide, il est bien difficile, surtout s'il y a un peu de mer, de mettre l'ancre à poste, et il peut en résulter de graves inconvéniens. Lorsque le vent est frais, qu'on juge qu'après l'appareillage on ne pourra porter les huniers qu'avec un ou plusieurs ris, il faut le prendre en larguant les voiles, avant de le border. Il est même plus prudent de le prendre avant de virer, pour ne pas s'exposer à chasser étant à long pic. Si le vent est assez fort pour ne pas permettre d'établir les huniers, même avec des ris, lorsqu'on est à long pic, alors il faut se contenter de contre-brasser les voiles de l'avant et de larguer les fonds du petit hunier; on doit aussi larguer le petit foc pour pouvoir le hisser aussitôt que le phare de l'avant contre-brassé a fait prononcer l'abattée. Les vergues du grand mât et du mât d'artimon sont orientées et leurs huniers prêts à être largués et établis; lorsque l'abattée n'est plus incertaine, l'artimon est largué pour être bordé afin de la modérer.
  • 75. Observations. Quelque simple que soit un appareillage de temps maniable, il est une foule de précautions préparatoires et à prendre après cette manœuvre, dont il est peut-être utile de parler. Si on est amarré avec des câbles et mouillé sur un fond de vase, il faut les laver avec soin à mesure qu'on vire, ou après que les ancres sont dérapées, les frotter avec des brosses à pont ou des balais pour en détacher la vase, les élonger autant que possible dans la batterie ou sur le pont, en faire autant pour les garcettes et la tournevire, et ne les envoyer dans la cale que lorsqu'ils sont parfaitement secs. Si on est amarré avec des câbles-chaînes, il faut aussi les laver, car étant mis immédiatement dans leurs puits, la vase qui y est attachée ne tarderait pas, sans cela, à répandre une odeur fétide et malsaine. Aussitôt qu'une ancre est dérapée, elle doit être mise en mouillage, un navire ne devant jamais appareiller sans être disposé à mouiller, si les circonstances l'y obligent. Lorsqu'on est hors de vue de terre, on soulage les pattes des ancres à hauteur du plat bord, on double les bosses de bout et les serres-bosses, et à cinquante lieues au large on détalingue les câbles et câbles-chaînes pour les envoyer dans la cale et soulager l'avant du navire. En appareillant, les canots des porte-manteaux doivent être disposés de manière à être immédiatement amenés pour remorquer le navire en cas de calme, et défier un abordage. A la mer, on les établit sur bosses, et on décroche les palans, afin de pouvoir les amener avec leur équipage, pour porter secours à un homme tombé à la mer. Ils seront donc toujours munis du gouvernail et de la barre, des avirons et d'une gaffe. Avant d'appareiller, une visite générale doit avoir lieu. La barre et sa drosse doivent être visitées, celles de rechange dégagées, les
  • 76. palans qui, en cas de rupture de la drosse, les remplacent momentanément, disposés à leurs pitons. On s'assure que les mâts de hune et de perroquet sont coïncés dans leurs choucs; que les objets amovibles, tels que coffres, cuisines, etc., sont saisis; que la chaloupe et les drômes ont leurs saisines raidies; que l'artillerie est amarrée à garans doubles[1] . Les gabiers dégenopent les manœuvres et les lovent auprès de leurs poulies de retour. Ils visitent les écoutes, drisses et itagues. Les paillets de brasséiage et d'étais sont mis en place; les arcs-boutans, pour pousser les galhaubans volans, disposés dans les hunes. Un navire, devant toujours être disposé à faire toute la voile que les circonstances exigent, doit appareiller avec les perroquets croisés et garnis, lorsque le temps le permet. S'il porte des catacois, les drisses seront passées, le gréement des bonnettes sera en place, les drisses frappées au point des huniers, et les amures lovées aux bouts des vergues. Les étais des mâts de hune et de perroquet sont bossés; les bosses des amures et écoutes des basses voiles, celles des drisses des huniers et des focs, sont mises en place. Enfin, suivant la saison et la traversée, et s'ils n'ont pas été gréés en rade, on place et on raidit les pataras, l'étai de tangage du mât de misaine, les haubans de beaupré et sa fausse sous-barbe. Appareiller, le Navire évité au courant. Le navire, évité le bout au courant, peut l'être en même temps au vent; alors l'appareillage est celui que nous venons de décrire, avec cette différence que le courant agissant sur le gouvernail, comme si le navire allait de l'avant, il faut mettre la barre du bord opposé à celui sur lequel on veut abattre.
  • 77. Si cependant le mouvement d'aculée était plus fort que celui du courant, la différence de ces deux mouvemens, agissant alors dans le sens du plus fort, qui est celui de l'aculée, on mettrait la barre du bord où on veut abattre. Le navire, évité le bout au courant, peut recevoir le vent sur ses voiles, ou dans ses voiles. Il le recevra sur ses voiles, si l'angle qu'il fait avec la quille est moindre que l'angle du plus près. Dans ce cas il est impossible, par la seule manœuvre des voiles, de faire passer son avant dans le lit du vent. On ne peut donc que prendre les amures du bord où vient le vent. Il suffit pour cela de le faire abattre d'une quantité assez grande pour que le vent prenne dans les voiles. Supposons que le vent venant de bâbord fasse avec la quille un angle moindre que celui du plus près. Etant à long pic, on établit les huniers, on largue le grand foc et la brigantine, on met la barre à bâbord, et on brasse bâbord devant et tribord derrière. Au moment où l'ancre dérape, on hisse et borde le grand foc; l'avant du navire doit nécessairement tomber sur tribord par l'action du foc, du petit hunier masqué et du gouvernail qui, par l'effet du courant, porte l'arrière sur bâbord, puisqu'on y a mis la barre. Lorsque par suite de l'abattée le grand hunier et le perroquet de fougue reçoivent le vent, on change le petit hunier, on dresse la barre, et s'il est utile de modérer l'abattée, on borde la brigantine en filant l'écoute du grand foc. Si la route exigeait qu'on changeât d'amures, on le ferait comme nous le dirons en parlant des viremens de bord vent arrière. Mais si les localités étaient telles qu'on ne pût prendre les amures du bord du vent, ou qu'on n'eût pas l'espace nécessaire pour en changer après avoir dérapé, il faudrait trouver un point fixe, soit à terre, soit sur un navire, soit en élongeant une ancre à jet, de manière qu'en virant sur ce point, sur lequel on aurait porté un grelin qu'on passerait à tribord derrière, on pût porter l'arrière sur tribord, et par conséquent l'avant sur bâbord.
  • 78. Le navire étant à pic, on hale sur le grelin jusqu'à ce que l'avant du navire ait dépassé le lit du vent, c'est-à-dire que le vent qui était de bâbord soit maintenant à tribord. On tourne le grelin, on établit les huniers qu'on brasse tribord devant et bâbord derrière, on largue le grand foc et la brigantine; on dérape, on met la barre à tribord, et lorsque l'avant du navire tombe sur bâbord, on largue le grelin, et on continue les manœuvres comme nous l'avons indiqué déjà. Si le navire n'était que le bout au vent, il faudrait, au moment de déraper, haler sur le grelin pour assurer l'abattée. Lorsque le navire, évité au courant, reçoit le vent dans les voiles, l'appareillage est bien simple; il suffit d'établir assez de voiles pour que, au moment où l'ancre dérape, le navire puisse refouler le courant, car sans cela il risquerait de masquer, si dans un élan le courant venait à prendre par la joue sous le vent. Pour parer à cet inconvénient, non-seulement il faut avoir une assez grande quantité de voiles dehors, mais il faut augmenter celles du phare de l'avant pour être certain que le navire ne viendra pas au vent. Le navire ayant pris de l'aire, on manœuvre suivant les localités, pour mettre l'ancre à poste le plus lestement possible. Appareiller en faisant embossure. Il arrive quelquefois qu'un navire est obligé d'appareiller, sans pouvoir lever son ancre, lorsqu'il a été obligé de mouiller sur une côte, sur laquelle il était affalé. La violence du vent ne lui permet pas de virer sur l'ancre, car en chassant il s'approcherait encore de la côte qu'il doit éviter, et s'y perdrait. S'il peut indifféremment abattre sur un bord ou sur l'autre, après avoir pris dans les huniers les ris que la force du vent exige, et les avoir serrés, il faut brasser bâbord devant et tribord derrière, si on
  • 79. Welcome to our website – the perfect destination for book lovers and knowledge seekers. We believe that every book holds a new world, offering opportunities for learning, discovery, and personal growth. That’s why we are dedicated to bringing you a diverse collection of books, ranging from classic literature and specialized publications to self-development guides and children's books. More than just a book-buying platform, we strive to be a bridge connecting you with timeless cultural and intellectual values. With an elegant, user-friendly interface and a smart search system, you can quickly find the books that best suit your interests. Additionally, our special promotions and home delivery services help you save time and fully enjoy the joy of reading. Join us on a journey of knowledge exploration, passion nurturing, and personal growth every day! ebookbell.com