SlideShare a Scribd company logo
Frameworks Methodologies and Tools for
Developing Rich Internet Applications 1st
Edition Giner Alor-Hernández pdf download
https://ebookfinal.com/download/frameworks-methodologies-and-
tools-for-developing-rich-internet-applications-1st-edition-
giner-alor-hernandez/
Explore and download more ebooks or textbooks
at ebookfinal.com
Here are some recommended products for you. Click the link to
download, or explore more at ebookfinal
JavaFX Developing Rich Internet Applications 1st Edition
Jim Clarke
https://ebookfinal.com/download/javafx-developing-rich-internet-
applications-1st-edition-jim-clarke/
Real world solutions for developing high quality PHP
frameworks and applications 1st Edition Sebastian Bergmann
https://ebookfinal.com/download/real-world-solutions-for-developing-
high-quality-php-frameworks-and-applications-1st-edition-sebastian-
bergmann/
AJAX Rich Internet Applications and Web Development for
Programmers 1st Edition Paul J. Deitel
https://ebookfinal.com/download/ajax-rich-internet-applications-and-
web-development-for-programmers-1st-edition-paul-j-deitel/
Social Computing Concepts Methodologies Tools and
Applications 1st Edition Subhasish Dasgupta
https://ebookfinal.com/download/social-computing-concepts-
methodologies-tools-and-applications-1st-edition-subhasish-dasgupta/
End user Computing Concepts Methodologies Tools and
Applications 1st Edition Steve Clarke
https://ebookfinal.com/download/end-user-computing-concepts-
methodologies-tools-and-applications-1st-edition-steve-clarke/
Health Information Systems Concepts Methodologies Tools
and Applications 1st Edition Joel Rodrigues
https://ebookfinal.com/download/health-information-systems-concepts-
methodologies-tools-and-applications-1st-edition-joel-rodrigues/
Information Communication Technologies Concepts
Methodologies Tools and Applications Craig Van Slyke
https://ebookfinal.com/download/information-communication-
technologies-concepts-methodologies-tools-and-applications-craig-van-
slyke/
Instructional Design Concepts Methodologies Tools and
Applications 1st Edition Information Resources Management
Association
https://ebookfinal.com/download/instructional-design-concepts-
methodologies-tools-and-applications-1st-edition-information-
resources-management-association/
Professional BlazeDS Creating Rich Internet Applications
with Flex and Java 1st Edition Shashank Tiwari
https://ebookfinal.com/download/professional-blazeds-creating-rich-
internet-applications-with-flex-and-java-1st-edition-shashank-tiwari/
Frameworks Methodologies and Tools for Developing Rich Internet Applications 1st Edition Giner Alor-Hernández
Frameworks Methodologies and Tools for Developing
Rich Internet Applications 1st Edition Giner Alor-
Hernández Digital Instant Download
Author(s): Giner Alor-Hernández, Viviana Yarel Rosales-Morales, Luis Omar
Colombo-Mendoza
ISBN(s): 9781466664388, 146666438X
Edition: 1
File Details: PDF, 36.62 MB
Year: 2015
Language: english
Frameworks Methodologies and Tools for Developing Rich Internet Applications 1st Edition Giner Alor-Hernández
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
Discovering Diverse Content Through
Random Scribd Documents
visible on the horizon. Soon the heat of the desert day made itself
felt. They switched on the air conditioning after Nathan patched the
hole in the cabin housing.
They ate as they drove, and in the afternoon, Firebird explained the
course and they alternated driving and sleeping.
Near sunset they glimpsed the distant, ominous crags of the Pater
Mountains. They looked like some gargantuan graveyard where the
stark bones of giants had been heaped.
The wind was rising and spinning sheets of sand from the desert
surface. The sandstorms of Mars are not simply the whipping, wind-
driven sands of Earth. They are mighty electrical storms in which
clouds of sand gather in the sky and are charged with millions of
volts of potential by their ceaseless grinding against one another.
It grew dark quickly with the sand clouds masking the twilight.
Streamers of fire began to lace the mountain top. A continuous
purple corona gave it the aspect of luminescence.
The mountain rose slowly out of the desert and the sand gave way
gradually to a trail of broken rocks that ground and protested against
the runners of the sled.
We'll go from here on foot in the morning, said Firebird. As she
brought the sled to a halt she leaped quickly out and started tugging
at a huge boulder nearby.
Nathan stared in puzzlement. The boulder slowly tipped on its side,
exposing a small cavern.
We'll hide the sled in here. I'll show you why in the morning.
They prepared a place to sleep for the night and alternated watches.
At dawn they gathered their packs of food and water and the
weapons. Firebird carefully closed the cavern over the sled.
She led the way along the trail that soon rose to increasing heights
above the desert. They came across the burned and blackened ruins
of a sand sled, destroyed with all its equipment.
That belonged to someone who came up here for the first time as
well as the last, said Firebird. There is no love lost between
searchers for the Seven Jewels. They burn each others' sleds when
found.
The corona lightning increased with terrible streamers of blue and
violet light that twisted about the peaks like living things. The air was
charged with ozone and Nathan felt the dry crackling of electric
discharges in his hair and on his body.
Firebird abruptly left the trails and struck out across the face of the
mountain. Nathan followed and soon they came to a large
overhanging rock. They slipped beneath the overhang and came into
a narrow, half-enclosed passage.
Get behind me now and watch carefully, said Firebird. She turned
and faced the opening under the overhang. We may not have too
long to wait.
Nathan didn't quite understand, but he waited in silence. Beyond the
opening, the rocks were gathered round to form a sort of small
vestibule and nothing could be seen beyond that.
But abruptly a man appeared in the vestibule. Firebird shot him
without warning.
I just saved twenty lives, she said through thin lips. Robert the
Dog has killed five innocent men that I know of. He could have been
expected to kill twenty more if he had lived ten more years.
Nathan stared from the body of the dead man to the marble face of
Firebird as she sat there—judge and executioner. They waited an
hour and another man appeared. She killed him, too.
I've saved his mother the agony of knowing him hung for treason.
The police have been ready for a month to pull him in.
They waited until midday, but no one else appeared. At last Firebird
turned and advanced cautiously along the passageway. Nathan felt
now that killers lurked behind every stone. He didn't need Firebird's
warning to keep a sharp lookout.
They crept along a mile of the tortuous trail beneath the copper sky,
then dipped suddenly into the blackness of a cavern. The ghostly
corona that hovered over the mountain provided a faint gleam in the
darkness but scarcely enough to guide them.
Take my arm, said Firebird. I can make it in the dark.
Nathan felt the tremor that was in her slight body. Some emotion
beyond the grasp of his senses was surging through her. But he felt
that before they left the cavern he would know what it was.
After a time they came to a spiral ramp that seemed to be endless as
it dropped them into the depths of the purple glow. Suddenly Firebird
placed Nathan's hand on the Jewel pouch. It was faintly warm.
The buried Jewel? Nathan whispered.
No—the Pink one. We're still not far enough in. Your father's
murderer was waiting for us somewhere inside. He's following us
now.
Nathan was filled with pain for either he had slain Tabor unjustly or
else he would shortly kill him to avenge the murder of his father.
The ramp leveled out shortly and they made a sharp turn. Then
Firebird halted. This is where we stop. Be careful. He's behind us
somewhere.
Yes, right behind you.
Out of the darkness came the unmistakable voice of Tabor.
Nathan whirled, reaching for his guns, but Firebird gave him a mighty
shove that sent him sprawling into the corner of a deep niche in the
cavern wall.
I thought you went to Venus, Nathan gasped in hate and rage.
What do you want, Tabor?
The Jewels of Chamar. I'm your friend and your father's friend,
Nathan, but first I'm a spaceman, and the Jewels of Chamar are
above all friendship to a spaceman. Still, I'm an honorable man. I'll
fight you for them, Nathan.
Why didn't you just shoot us in the back as you did my father?
Why will you misunderstand me, Nathan? I had to do what I did to
force Thymar to reveal where he had hidden the Jewels of Venus. He
always said it was better for just one man to know that at a time. I
agreed with him, but it was too bad that we didn't have the same
man in mind.
You dirty killer—
He'll accept your challenge on one condition, said Firebird.
Provided that you place the Pink Jewel in here in a pile with the
others.
You'll accept on no conditions at all! roared Tabor, if I say so. But
I'd rather like to see them all together. Put them on the floor.
Firebird placed the five Jewels on the floor. Their rainbow
phosphorescence seemed to Nathan to be a living force that touched
him with strength and with peace.
From his hiding place behind a jagged boulder Tabor threw in the
Pink Jewel and it landed beside the others. Now, I've got something
to fight for—!
Firebird's flame lance aimed at the point where she had first seen the
glowing Pink Jewel. A bubble of flame exploded.
Tabor's bellowing laugh ended in a roar of anger. I'd know your
touch anywhere, Firebird. Your honor was born in a pig pen.
Nathan tried to sense the direction of the sound. Then he aimed the
rifle carefully. A ball of flame spattered upon the boulder and washed
over its edges. He engraved the lighted scene in his mind.
That was you, Nathan? You remember well what I told you about
blackout combat. Use the rifle to illuminate the scene of battle. That
is good. But do you remember what a rifle flame will do in a small
space?
Instantly, a rifle flame sped towards them. It blasted against the wall
of the niche and flowed around in a sheet of blinding whiteness that
gave off an intolerable heat before it died.
Nathan and Firebird crouched low at opposite sides of the opening.
We'll have to get out, she whispered. You take the right and I'll
take the left, and we'll close in on him. Get behind cover as soon as
possible.
No! You can't risk that. It would be impossible to find cover before
he illuminated you in a rifle flame. Let me try one more thing.
He sent another shot higher than the previous one. It burst upon the
floor far behind Tabor. Nathan got a glimpse of a distant boulder
directly behind the spot where Tabor was hidden.
Before he could shoot again another blast exploded within the niche.
In its light, Nathan saw that Firebird was gone.
A wave of terror, an anxiety such as he had never known before,
swept through him at the thought of her out there in plain view of
Tabor. He aimed carefully with his small flame lance and tried to
visualize the small boulder behind Tabor.
The flame hit and crashed away. Tabor's voice grunted, A reflective
shot? Good work, Nathan. Unfortunately I wasn't in the plane of
incidence and reflection. And, Firebird, I hear you coming.
A sudden flame shot off towards the depths of the cavern at Nathan's
left. There was a single agonizing scream in Firebird's voice.
Then nothing.
Tabor broke the silence. Sorry, Nathan. I guess you'd gone pretty
soft on her.
You murderer!
Keep cool. Remember what I always taught you. Never let an enemy
make you commit suicide by making you lose your head.
The niche was like a coffin in the darkness. Tabor's evil taunting and
Firebird's scream seemed to combine in an echoing song of torment
that swelled and beat upon his senses.
And then, in the purple darkness, the six Jewels that lay on the floor
seized his attention. Where their color had seemed merely
phosphorescent before, it now seemed to blaze up as if hidden fires
had come to life. Nathan watched to make sure his eyes were not
merely becoming more accustomed to the darkness. But it was more
than that. The light pulsed and rose in the niche. It climbed the walls
and filled the air with twitching streamers that seemed like living
things.
And it was making him an easy target for a reflective shot from Tabor.
But what did it matter what happened to him now that Firebird was
gone?
He fired a half dozen shots in rapid succession.
Wild, all wild, taunted Tabor. You must do it with precision. Like
this!
A flame shot through the niche, but it ricocheted from the edge of
the opening and missed Nathan's head by only a foot. The blast
seared his face and blinded his eyes.
See what I mean? said Tabor.
He had the range now, Nathan knew. That's what the rifle shots had
been for—to enable him to determine a good spot to make a
reflective shot into the depths of the niche.
But in his own wild shots Nathan had glimpsed something that gave
him new hope.
He had to move quickly. Another shot from Tabor grazed close to
him, but it reflected from the opposite side of the opening where
Tabor had miscalculated that Nathan would move.
Nathan said nothing, but dropped to the floor. He adjusted the rifle to
automatic fire, and lay in the opening of the niche. He pressed the
trigger and a river of fire swept across the floor and flowed about the
base of the boulder that hid Tabor—and under it!
The boulder rested on narrow, jagged faces, between which there
were openings. It was through these that Tabor had been firing and
Nathan had glimpsed the secret of his protection.
The flame raced about Tabor in a torrent of light. It leaped upon him
and outlined him as if in St. Elmo's fire.
He jerked up in searing pain, and in that instant a single shot came
from across the cavern and found its mark. The fire died before Tabor
fell, but the sound of his dead body smashing to the floor was loud in
the dark silence.
Your father's murder is avenged, said a voice from across the
cavern.
Firebird. I thought—
I had to make you think what I made Tabor think. I threw a stone to
give him a target. There was no protection out here. I had only one
shot to risk.
Nathan rushed towards the sound of her voice, and crushed her close
to him to reassure himself that she was unharmed. In the light of the
Jewels that was now pouring from the niche he could almost see her
face. It seemed rich with gladness.
The light was flickering now like auroral curtains of fire.
What is it? murmured Nathan.
Wait—you'll see. This is what I've lived for. My work is finished now.
It seemed to Nathan that they stood there for an interminable length
of time while the light rose and fell, but gradually swelled until they
could see each other plainly.
There came a high note like the far away tinkling of chimes. The
Jewels were rising from the floor. Firebird's hand on his arm
restrained Nathan from rushing forward.
Wait, she commanded.
The Jewels rose higher and then they began to float out of the niche
towards the two Earthlings, carrying their ghostly light with them.
The Jewels rose higher, carrying their ghostly light with them.
Nathan stared. Where there had been only six Jewels in the niche,
there were now seven floating in the air. Three were end to end,
forming a vertical pillar. Around this pillar the other four formed a
rotating square. As it rotated faster or slower the pitch of the musical
note rose or fell.
The singing, floating Jewels came nearer ... vibrating with the forces
of life. And then out of the midst of them a voice spoke.
You have done well. You have my gratitude. I shall reward you.
Nathan felt a prickling of the back of his neck. And suddenly Firebird
clutched his arm and was sobbing faintly. Are we too late? she
asked.
The ship of Plar has waited long, but the Envoys are patient. They
await my report.
The Jewels wheeled in the air and sped towards the tunnel ramp that
bore upward to the surface.
Come, the voice said.
Mechanically, Firebird followed. Nathan moved beside her, not looking
back at the fallen Tabor.
What is it? Nathan whispered hoarsely. Are the Jewels alive?
Long ago, said Firebird, the Envoys of Plar came into our System.
They came from a universe so far away that our greatest telescopes
have never given a clue to its presence. The inhabitants of that world
are life forms with a basis of metallic salts and they are formed as
you see this one. They are literally Jewels. The life forces are
contained in mighty storage cells of raw electronic energy reduced to
its simplest form. Some of the creatures are only single Jewels. The
Envoys are of the highest type, having seven.
The life in them was dormant until they were brought together
again. The Seventh Jewel was the brain so to speak. Each of the
others might be likened to an arm or other organ of a human body,
though that is far from accurate. The warming of the Jewels as they
were brought nearer was the reaching out of their mutual life forces
to seize upon each other. But no controlling life was there until the
Seventh was near. It was buried deep in the ground, but the
attraction between it and the other six was enough to draw it out to
reunite with them.
Nathan watched the weird form as it gyrated in the air before them
and lighted the way through the caverns. What does it mean?
Centuries ago—in our time—the Jewel Beings of Plar left on an
expedition to explore the universe and study the inhabitants of the
planets they came to. They found their science and skill to be so
vastly superior to any other that they contacted, that they decided to
help the backward peoples they found and share their science with
those who could benefit by it. They hoped to speed the evolutionary
advances of these races and some day establish a congress of the
worlds. To those who had no space flight they revealed the secret of
the art. And so on with other arts and sciences.
Do they intend to make such gifts to the Solar System?
Their decision to help a race is determined by the report of one of
the Envoys who is placed on a world for secret investigation. Chamar,
the seven-jeweled one, was the Envoy placed to report on Earth and
the Solar System.
Chamar! But how did he get scattered? Wasn't that like death to
him?
They are nearly immortal. Chamar was left here by the expedition
and the rest of them went on. My grandfather was the first to whom
Chamar revealed himself. But soon after that the Envoy was blasted
in a laboratory explosion. My grandfather died of the injuries received
there, but first he told my father about the Envoy.
My father didn't know what the reaction of the other Envoys would
be when they returned, but he felt they would deny the Solar System
their gifts unless Chamar were restored to them. He spent the rest of
his life in the search. When he died he passed on the responsibility to
me. He forced me to swear I'd spend my life in the search. And I
have done it willingly, for Earth will receive gifts beyond man's wildest
dreaming.
But the myth of the Seven Jewels has been in existence for nearly
two hundred years! Nathan exclaimed.
Firebird was silent. They came out of the purple darkness into
daylight again. The Envoy was barely visible in the light but the
constant, high-pitched note told of his presence.
The legend of Firebird is almost that old, too, she said.
But there are supposed to have been many who called themselves
Firebird. Surely you— Nathan halted and stared at her.
There has been only one Firebird, she said. Chamar made one gift
to my grandfather before the explosion. That was the pool of Luline.
When I was only fifteen my father took me to it and I dipped in it for
the first time. Besides its miraculous healing properties, the pool
slows the rate of decay of animal organisms. It gives a natural life of
a thousand years. It changes human tissue. You have seen the light
that comes from my flesh, and you have seen me walk unharmed in
the flames at Pheme, as well as witnessing my vision in the dark. All
these are of the pool of Luline. But in a hundred and fifty years I
have aged only ten.
The end of the hidden trail brought them out onto the rocky
mountainside. They walked until the sharp tinkle of bells swelled
upon the air. Their eyes focused in the space ahead of them. At first
they could see nothing. Even the Envoy of Plar had become lost in
the sunlight.
Then they caught the silken sheen of the almost invisible surface of
the globe that hung in the air above the trail. The ship of Plar.
They knew instinctively that its substance was no material they could
identify. Rather, it was a pure field, a segment out of another time,
another space that hung there. It was massive, its dimensions
uncertain.
Then a familiar sound came close to them in midair and they turned
quickly.
They have come, Chamar said. I have given my report and now
they are debating your case.
Must they debate? Firebird's voice was suddenly thin and a strange
tremor was in it. Is there doubt of their granting the gifts which they
have?
Each world must stand upon its own merits.
But you are one of them. Can you not tell us?
I am not permitted to vote upon a world which I have examined.
That is the law.
The Envoy was suddenly motionless in the air before them, and a
wild tinkling seemed to come from within the great invisible ship of
Plar. An answering sound came from the Envoy.
Envoy! What is it? cried Firebird.
They have come to a decision.
The Gifts—?
Are not to be given.
There was no physical change in Firebird. Only her voice seemed as if
her spirit had flown. What have we done? she asked.
Not you—all the races of the System, said Chamar. I have seen
them all, felt their thoughts, known their actions in the century and a
half that I have been here. I had to report the wars and bloodshed
and thievery and hate that I have seen. I knew the Envoys would not
grant their Gifts to such a System as yours.
Is there only evil? said Firebird. Is there no good?
Not all is evil. But too much is. In a world where too many men want
to rule all other men, we cannot bring powers that would be only a
curse to you. Your eyes are too weak to stand the brightness of their
light. Your backs lack strength to carry their burden. In ten thousand
you may be ready, but until then the Envoys shall not return.
There was a moment of silence, then the Envoy spoke kindly. You,
Firebird, what would you do? Your self-chosen mission is completed.
Firebird's head came up slowly. My mission is not completed. It has
not even begun. I can shorten that ten thousand years. I'll stand in
the way of a thousand men who would have it long. You'll come back
to this System quicker because of me.
That is good, Chamar said, and they imagined he was smiling
benignly upon them. That is what I hoped you would say. Because
of your decision I shall stay even though my companions must go. I
shall be near you all the rest of the days of your life, and when you
want my help it shall be yours for the asking. Powers that I cannot
give to you will be used for you. You won't see me always for I shall
do my own work, but wherever you are, call upon me and I will
answer. I go to arrange with my companions.
The creature sped into the bubble of light and vanished from their
sight. The bubble itself lifted from the surface and burst into the sky,
leaving them alone.
The cold wind of the desert broke upon them and whipped their
cloaks about their bodies. They stood as if still in a trance, but
Nathan moved slowly down the trail after a moment, drawing Firebird
by the arm.
They did not speak until they came to the sled. It was safe in the
hiding place where they had left it. Nathan climbed behind the wheel
and pointed the nose of the sled across the desert towards the far
cities of Heliopolis and the Five Towns.
The sled hissed over the sands, rocked between the high dunes and
challenged the desert winds. And there was exultation in that
challenge.
He spoke at last. Where are you going, now? Is this the end of
Firebird?
She shook her head and smiled wanly at him. There'll never be an
end to the Firebird. By the time I am dead the legends will be so
fabulous that they will never die. I'll make the name of Firebird a
name to be feared among thieves and murderers in the high and low
place of society. I'll fight the cause of justice in the realms where the
law can never reach. Firebird will be the name to scourge evil on the
spaceways.
And what of you, Nathan? Your father's murder is avenged. Will you
return to Venus?
She was trying to smile, but Nathan turned and saw the smile waver
on her lips, and his heart beat harder because he thought he knew
why it wavered.
There was in her mind the vision of endless centuries with no one to
share her secret, no one to love—except the cold Jewel Being from
Plar.
Nathan touched her hand. I suppose I'll go back to Venus now and
then. But there's somewhere else I must go first.
Where?
To the Pool of Luline. Do you think I'm going to let you live the rest
of that thousand years alone?
*** END OF THE PROJECT GUTENBERG EBOOK THE SEVEN JEWELS
OF CHAMAR ***
Updated editions will replace the previous one—the old editions will
be renamed.
Creating the works from print editions not protected by U.S.
copyright law means that no one owns a United States copyright in
these works, so the Foundation (and you!) can copy and distribute it
in the United States without permission and without paying
copyright royalties. Special rules, set forth in the General Terms of
Use part of this license, apply to copying and distributing Project
Gutenberg™ electronic works to protect the PROJECT GUTENBERG™
concept and trademark. Project Gutenberg is a registered trademark,
and may not be used if you charge for an eBook, except by following
the terms of the trademark license, including paying royalties for use
of the Project Gutenberg trademark. If you do not charge anything
for copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such as
creation of derivative works, reports, performances and research.
Project Gutenberg eBooks may be modified and printed and given
away—you may do practically ANYTHING in the United States with
eBooks not protected by U.S. copyright law. Redistribution is subject
to the trademark license, especially commercial redistribution.
START: FULL LICENSE
THE FULL PROJECT GUTENBERG LICENSE
PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK
To protect the Project Gutenberg™ mission of promoting the free
distribution of electronic works, by using or distributing this work (or
any other work associated in any way with the phrase “Project
Gutenberg”), you agree to comply with all the terms of the Full
Project Gutenberg™ License available with this file or online at
www.gutenberg.org/license.
Section 1. General Terms of Use and
Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand, agree
to and accept all the terms of this license and intellectual property
(trademark/copyright) agreement. If you do not agree to abide by all
the terms of this agreement, you must cease using and return or
destroy all copies of Project Gutenberg™ electronic works in your
possession. If you paid a fee for obtaining a copy of or access to a
Project Gutenberg™ electronic work and you do not agree to be
bound by the terms of this agreement, you may obtain a refund
from the person or entity to whom you paid the fee as set forth in
paragraph 1.E.8.
1.B. “Project Gutenberg” is a registered trademark. It may only be
used on or associated in any way with an electronic work by people
who agree to be bound by the terms of this agreement. There are a
few things that you can do with most Project Gutenberg™ electronic
works even without complying with the full terms of this agreement.
See paragraph 1.C below. There are a lot of things you can do with
Project Gutenberg™ electronic works if you follow the terms of this
agreement and help preserve free future access to Project
Gutenberg™ electronic works. See paragraph 1.E below.
1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright law
in the United States and you are located in the United States, we do
not claim a right to prevent you from copying, distributing,
performing, displaying or creating derivative works based on the
work as long as all references to Project Gutenberg are removed. Of
course, we hope that you will support the Project Gutenberg™
mission of promoting free access to electronic works by freely
sharing Project Gutenberg™ works in compliance with the terms of
this agreement for keeping the Project Gutenberg™ name associated
with the work. You can easily comply with the terms of this
agreement by keeping this work in the same format with its attached
full Project Gutenberg™ License when you share it without charge
with others.
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside the
United States, check the laws of your country in addition to the
terms of this agreement before downloading, copying, displaying,
performing, distributing or creating derivative works based on this
work or any other Project Gutenberg™ work. The Foundation makes
no representations concerning the copyright status of any work in
any country other than the United States.
1.E. Unless you have removed all references to Project Gutenberg:
1.E.1. The following sentence, with active links to, or other
immediate access to, the full Project Gutenberg™ License must
appear prominently whenever any copy of a Project Gutenberg™
work (any work on which the phrase “Project Gutenberg” appears,
or with which the phrase “Project Gutenberg” is associated) is
accessed, displayed, performed, viewed, copied or distributed:
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.
1.E.2. If an individual Project Gutenberg™ electronic work is derived
from texts not protected by U.S. copyright law (does not contain a
notice indicating that it is posted with permission of the copyright
holder), the work can be copied and distributed to anyone in the
United States without paying any fees or charges. If you are
redistributing or providing access to a work with the phrase “Project
Gutenberg” associated with or appearing on the work, you must
comply either with the requirements of paragraphs 1.E.1 through
1.E.7 or obtain permission for the use of the work and the Project
Gutenberg™ trademark as set forth in paragraphs 1.E.8 or 1.E.9.
1.E.3. If an individual Project Gutenberg™ electronic work is posted
with the permission of the copyright holder, your use and distribution
must comply with both paragraphs 1.E.1 through 1.E.7 and any
additional terms imposed by the copyright holder. Additional terms
will be linked to the Project Gutenberg™ License for all works posted
with the permission of the copyright holder found at the beginning
of this work.
1.E.4. Do not unlink or detach or remove the full Project
Gutenberg™ License terms from this work, or any files containing a
part of this work or any other work associated with Project
Gutenberg™.
1.E.5. Do not copy, display, perform, distribute or redistribute this
electronic work, or any part of this electronic work, without
prominently displaying the sentence set forth in paragraph 1.E.1
with active links or immediate access to the full terms of the Project
Gutenberg™ License.
1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if you
provide access to or distribute copies of a Project Gutenberg™ work
in a format other than “Plain Vanilla ASCII” or other format used in
the official version posted on the official Project Gutenberg™ website
(www.gutenberg.org), you must, at no additional cost, fee or
expense to the user, provide a copy, a means of exporting a copy, or
a means of obtaining a copy upon request, of the work in its original
“Plain Vanilla ASCII” or other form. Any alternate format must
include the full Project Gutenberg™ License as specified in
paragraph 1.E.1.
1.E.7. Do not charge a fee for access to, viewing, displaying,
performing, copying or distributing any Project Gutenberg™ works
unless you comply with paragraph 1.E.8 or 1.E.9.
1.E.8. You may charge a reasonable fee for copies of or providing
access to or distributing Project Gutenberg™ electronic works
provided that:
• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You provide a full refund of any money paid by a user who
notifies you in writing (or by e-mail) within 30 days of receipt
that s/he does not agree to the terms of the full Project
Gutenberg™ License. You must require such a user to return or
destroy all copies of the works possessed in a physical medium
and discontinue all use of and all access to other copies of
Project Gutenberg™ works.
• You provide, in accordance with paragraph 1.F.3, a full refund of
any money paid for a work or a replacement copy, if a defect in
the electronic work is discovered and reported to you within 90
days of receipt of the work.
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.E.9. If you wish to charge a fee or distribute a Project Gutenberg™
electronic work or group of works on different terms than are set
forth in this agreement, you must obtain permission in writing from
the Project Gutenberg Literary Archive Foundation, the manager of
the Project Gutenberg™ trademark. Contact the Foundation as set
forth in Section 3 below.
1.F.
1.F.1. Project Gutenberg volunteers and employees expend
considerable effort to identify, do copyright research on, transcribe
and proofread works not protected by U.S. copyright law in creating
the Project Gutenberg™ collection. Despite these efforts, Project
Gutenberg™ electronic works, and the medium on which they may
be stored, may contain “Defects,” such as, but not limited to,
incomplete, inaccurate or corrupt data, transcription errors, a
copyright or other intellectual property infringement, a defective or
damaged disk or other medium, a computer virus, or computer
codes that damage or cannot be read by your equipment.
1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for
the “Right of Replacement or Refund” described in paragraph 1.F.3,
the Project Gutenberg Literary Archive Foundation, the owner of the
Project Gutenberg™ trademark, and any other party distributing a
Project Gutenberg™ electronic work under this agreement, disclaim
all liability to you for damages, costs and expenses, including legal
fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR
NEGLIGENCE, STRICT LIABILITY, BREACH OF WARRANTY OR
BREACH OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH
1.F.3. YOU AGREE THAT THE FOUNDATION, THE TRADEMARK
OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL
NOT BE LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT,
CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES EVEN IF
YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH DAMAGE.
1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you
discover a defect in this electronic work within 90 days of receiving
it, you can receive a refund of the money (if any) you paid for it by
sending a written explanation to the person you received the work
from. If you received the work on a physical medium, you must
return the medium with your written explanation. The person or
entity that provided you with the defective work may elect to provide
a replacement copy in lieu of a refund. If you received the work
electronically, the person or entity providing it to you may choose to
give you a second opportunity to receive the work electronically in
lieu of a refund. If the second copy is also defective, you may
demand a refund in writing without further opportunities to fix the
problem.
1.F.4. Except for the limited right of replacement or refund set forth
in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.
1.F.5. Some states do not allow disclaimers of certain implied
warranties or the exclusion or limitation of certain types of damages.
If any disclaimer or limitation set forth in this agreement violates the
law of the state applicable to this agreement, the agreement shall be
interpreted to make the maximum disclaimer or limitation permitted
by the applicable state law. The invalidity or unenforceability of any
provision of this agreement shall not void the remaining provisions.
1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation,
the trademark owner, any agent or employee of the Foundation,
anyone providing copies of Project Gutenberg™ electronic works in
accordance with this agreement, and any volunteers associated with
the production, promotion and distribution of Project Gutenberg™
electronic works, harmless from all liability, costs and expenses,
including legal fees, that arise directly or indirectly from any of the
following which you do or cause to occur: (a) distribution of this or
any Project Gutenberg™ work, (b) alteration, modification, or
additions or deletions to any Project Gutenberg™ work, and (c) any
Defect you cause.
Section 2. Information about the Mission
of Project Gutenberg™
Project Gutenberg™ is synonymous with the free distribution of
electronic works in formats readable by the widest variety of
computers including obsolete, old, middle-aged and new computers.
It exists because of the efforts of hundreds of volunteers and
donations from people in all walks of life.
Volunteers and financial support to provide volunteers with the
assistance they need are critical to reaching Project Gutenberg™’s
goals and ensuring that the Project Gutenberg™ collection will
remain freely available for generations to come. In 2001, the Project
Gutenberg Literary Archive Foundation was created to provide a
secure and permanent future for Project Gutenberg™ and future
generations. To learn more about the Project Gutenberg Literary
Archive Foundation and how your efforts and donations can help,
see Sections 3 and 4 and the Foundation information page at
www.gutenberg.org.
Section 3. Information about the Project
Gutenberg Literary Archive Foundation
The Project Gutenberg Literary Archive Foundation is a non-profit
501(c)(3) educational corporation organized under the laws of the
state of Mississippi and granted tax exempt status by the Internal
Revenue Service. The Foundation’s EIN or federal tax identification
number is 64-6221541. Contributions to the Project Gutenberg
Literary Archive Foundation are tax deductible to the full extent
permitted by U.S. federal laws and your state’s laws.
The Foundation’s business office is located at 809 North 1500 West,
Salt Lake City, UT 84116, (801) 596-1887. Email contact links and up
to date contact information can be found at the Foundation’s website
and official page at www.gutenberg.org/contact
Section 4. Information about Donations to
the Project Gutenberg Literary Archive
Foundation
Project Gutenberg™ depends upon and cannot survive without
widespread public support and donations to carry out its mission of
increasing the number of public domain and licensed works that can
be freely distributed in machine-readable form accessible by the
widest array of equipment including outdated equipment. Many
small donations ($1 to $5,000) are particularly important to
maintaining tax exempt status with the IRS.
The Foundation is committed to complying with the laws regulating
charities and charitable donations in all 50 states of the United
States. Compliance requirements are not uniform and it takes a
considerable effort, much paperwork and many fees to meet and
keep up with these requirements. We do not solicit donations in
locations where we have not received written confirmation of
compliance. To SEND DONATIONS or determine the status of
compliance for any particular state visit www.gutenberg.org/donate.
While we cannot and do not solicit contributions from states where
we have not met the solicitation requirements, we know of no
prohibition against accepting unsolicited donations from donors in
such states who approach us with offers to donate.
International donations are gratefully accepted, but we cannot make
any statements concerning tax treatment of donations received from
outside the United States. U.S. laws alone swamp our small staff.
Please check the Project Gutenberg web pages for current donation
methods and addresses. Donations are accepted in a number of
other ways including checks, online payments and credit card
donations. To donate, please visit: www.gutenberg.org/donate.
Section 5. General Information About
Project Gutenberg™ electronic works
Professor Michael S. Hart was the originator of the Project
Gutenberg™ concept of a library of electronic works that could be
freely shared with anyone. For forty years, he produced and
distributed Project Gutenberg™ eBooks with only a loose network of
volunteer support.
Project Gutenberg™ eBooks are often created from several printed
editions, all of which are confirmed as not protected by copyright in
the U.S. unless a copyright notice is included. Thus, we do not
necessarily keep eBooks in compliance with any particular paper
edition.
Most people start at our website which has the main PG search
facility: www.gutenberg.org.
This website includes information about Project Gutenberg™,
including how to make donations to the Project Gutenberg Literary
Archive Foundation, how to help produce our new eBooks, and how
to subscribe to our email newsletter to hear about new eBooks.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!
ebookfinal.com

More Related Content

PDF
Frameworks Methodologies And Tools For Developing Rich Internet Applications ...
PDF
Agent Technologies and Web Engineering Ghazi Alkhatib
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
Download full Agent Technologies and Web Engineering Ghazi Alkhatib ebook all...
PDF
Innovations In Information Systems Modeling Methods And Best Practices 1st Ed...
PDF
Achieving Enterprise Agility Through Innovative Software Development Amitoj S...
PDF
Crowdsourcing And Probabilistic Decisionmaking In Software Engineering Emergi...
Frameworks Methodologies And Tools For Developing Rich Internet Applications ...
Agent Technologies and Web Engineering Ghazi Alkhatib
Resource management of mobile cloud computing networks and environments 1st E...
Resource management of mobile cloud computing networks and environments 1st E...
Download full Agent Technologies and Web Engineering Ghazi Alkhatib ebook all...
Innovations In Information Systems Modeling Methods And Best Practices 1st Ed...
Achieving Enterprise Agility Through Innovative Software Development Amitoj S...
Crowdsourcing And Probabilistic Decisionmaking In Software Engineering Emergi...

Similar to Frameworks Methodologies and Tools for Developing Rich Internet Applications 1st Edition Giner Alor-Hernández (20)

PDF
Examining Cloud Computing Technologies Through the Internet of Things 1st Edi...
PDF
Delivery and adoption of cloud computing services in contemporary organizatio...
PDF
Innovations In Softwaredefined Networking And Network Functions Virtualizatio...
PDF
Advancements in Applied Metaheuristic Computing 1st Edition Nilanjan Dey
PDF
Mobile Application Development Usability and Security 1st Edition Sougata Muk...
PDF
Emerging Trends In Iot And Integration With Data Science Cloud Computing And ...
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
Advanced Methods For Complex Network Analysis 1st Edition Natarajan Meghanath...
PDF
Mobile Application Development Usability and Security 1st Edition Sougata Muk...
PDF
Innovations in Information Systems Modeling Methods and Best Practices 1st Ed...
PDF
Handbook Of Research On Computational Simulation And Modeling In Engineering ...
PDF
Handbook Of Research On Network Forensics And Analysis Techniques 1st Edition...
PPTX
From Research to Innovation: Linked Open Data and Gamification to Design Inte...
PDF
Performance Optimization Techniques In Analog Mixedsignal And Radiofrequency ...
PDF
Federated Query Processing for the Semantic Web 1st Edition C. Buil-Aranda
PDF
Augmented Reality For Enhanced Learning Environments Gerardo Reyes Ruiz Editor
PDF
The Evolution Of The Internet In The Business Sector Web 10 To Web 30 1st Edi...
PDF
Handbook Of Research On Digital Transformation And Challenges To Data Securit...
Examining Cloud Computing Technologies Through the Internet of Things 1st Edi...
Delivery and adoption of cloud computing services in contemporary organizatio...
Innovations In Softwaredefined Networking And Network Functions Virtualizatio...
Advancements in Applied Metaheuristic Computing 1st Edition Nilanjan Dey
Mobile Application Development Usability and Security 1st Edition Sougata Muk...
Emerging Trends In Iot And Integration With Data Science Cloud Computing And ...
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...
Advanced Methods For Complex Network Analysis 1st Edition Natarajan Meghanath...
Mobile Application Development Usability and Security 1st Edition Sougata Muk...
Innovations in Information Systems Modeling Methods and Best Practices 1st Ed...
Handbook Of Research On Computational Simulation And Modeling In Engineering ...
Handbook Of Research On Network Forensics And Analysis Techniques 1st Edition...
From Research to Innovation: Linked Open Data and Gamification to Design Inte...
Performance Optimization Techniques In Analog Mixedsignal And Radiofrequency ...
Federated Query Processing for the Semantic Web 1st Edition C. Buil-Aranda
Augmented Reality For Enhanced Learning Environments Gerardo Reyes Ruiz Editor
The Evolution Of The Internet In The Business Sector Web 10 To Web 30 1st Edi...
Handbook Of Research On Digital Transformation And Challenges To Data Securit...
Ad

Recently uploaded (20)

PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
Sports Quiz easy sports quiz sports quiz
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
Cell Types and Its function , kingdom of life
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
Cell Structure & Organelles in detailed.
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
01-Introduction-to-Information-Management.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
master seminar digital applications in india
PDF
Basic Mud Logging Guide for educational purpose
PDF
TR - Agricultural Crops Production NC III.pdf
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Sports Quiz easy sports quiz sports quiz
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
O7-L3 Supply Chain Operations - ICLT Program
Renaissance Architecture: A Journey from Faith to Humanism
Cell Types and Its function , kingdom of life
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Cell Structure & Organelles in detailed.
Module 4: Burden of Disease Tutorial Slides S2 2025
O5-L3 Freight Transport Ops (International) V1.pdf
01-Introduction-to-Information-Management.pdf
Anesthesia in Laparoscopic Surgery in India
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
human mycosis Human fungal infections are called human mycosis..pptx
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
master seminar digital applications in india
Basic Mud Logging Guide for educational purpose
TR - Agricultural Crops Production NC III.pdf
Ad

Frameworks Methodologies and Tools for Developing Rich Internet Applications 1st Edition Giner Alor-Hernández

  • 1. Frameworks Methodologies and Tools for Developing Rich Internet Applications 1st Edition Giner Alor-Hernández pdf download https://ebookfinal.com/download/frameworks-methodologies-and- tools-for-developing-rich-internet-applications-1st-edition- giner-alor-hernandez/ Explore and download more ebooks or textbooks at ebookfinal.com
  • 2. Here are some recommended products for you. Click the link to download, or explore more at ebookfinal JavaFX Developing Rich Internet Applications 1st Edition Jim Clarke https://ebookfinal.com/download/javafx-developing-rich-internet- applications-1st-edition-jim-clarke/ Real world solutions for developing high quality PHP frameworks and applications 1st Edition Sebastian Bergmann https://ebookfinal.com/download/real-world-solutions-for-developing- high-quality-php-frameworks-and-applications-1st-edition-sebastian- bergmann/ AJAX Rich Internet Applications and Web Development for Programmers 1st Edition Paul J. Deitel https://ebookfinal.com/download/ajax-rich-internet-applications-and- web-development-for-programmers-1st-edition-paul-j-deitel/ Social Computing Concepts Methodologies Tools and Applications 1st Edition Subhasish Dasgupta https://ebookfinal.com/download/social-computing-concepts- methodologies-tools-and-applications-1st-edition-subhasish-dasgupta/
  • 3. End user Computing Concepts Methodologies Tools and Applications 1st Edition Steve Clarke https://ebookfinal.com/download/end-user-computing-concepts- methodologies-tools-and-applications-1st-edition-steve-clarke/ Health Information Systems Concepts Methodologies Tools and Applications 1st Edition Joel Rodrigues https://ebookfinal.com/download/health-information-systems-concepts- methodologies-tools-and-applications-1st-edition-joel-rodrigues/ Information Communication Technologies Concepts Methodologies Tools and Applications Craig Van Slyke https://ebookfinal.com/download/information-communication- technologies-concepts-methodologies-tools-and-applications-craig-van- slyke/ Instructional Design Concepts Methodologies Tools and Applications 1st Edition Information Resources Management Association https://ebookfinal.com/download/instructional-design-concepts- methodologies-tools-and-applications-1st-edition-information- resources-management-association/ Professional BlazeDS Creating Rich Internet Applications with Flex and Java 1st Edition Shashank Tiwari https://ebookfinal.com/download/professional-blazeds-creating-rich- internet-applications-with-flex-and-java-1st-edition-shashank-tiwari/
  • 5. Frameworks Methodologies and Tools for Developing Rich Internet Applications 1st Edition Giner Alor- Hernández Digital Instant Download Author(s): Giner Alor-Hernández, Viviana Yarel Rosales-Morales, Luis Omar Colombo-Mendoza ISBN(s): 9781466664388, 146666438X Edition: 1 File Details: PDF, 36.62 MB Year: 2015 Language: english
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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.
  • 21. 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.
  • 22. 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.
  • 23. 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.
  • 24. 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
  • 25. 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
  • 26. Discovering Diverse Content Through Random Scribd Documents
  • 27. visible on the horizon. Soon the heat of the desert day made itself felt. They switched on the air conditioning after Nathan patched the hole in the cabin housing. They ate as they drove, and in the afternoon, Firebird explained the course and they alternated driving and sleeping. Near sunset they glimpsed the distant, ominous crags of the Pater Mountains. They looked like some gargantuan graveyard where the stark bones of giants had been heaped. The wind was rising and spinning sheets of sand from the desert surface. The sandstorms of Mars are not simply the whipping, wind- driven sands of Earth. They are mighty electrical storms in which clouds of sand gather in the sky and are charged with millions of volts of potential by their ceaseless grinding against one another. It grew dark quickly with the sand clouds masking the twilight. Streamers of fire began to lace the mountain top. A continuous purple corona gave it the aspect of luminescence. The mountain rose slowly out of the desert and the sand gave way gradually to a trail of broken rocks that ground and protested against the runners of the sled. We'll go from here on foot in the morning, said Firebird. As she brought the sled to a halt she leaped quickly out and started tugging at a huge boulder nearby. Nathan stared in puzzlement. The boulder slowly tipped on its side, exposing a small cavern. We'll hide the sled in here. I'll show you why in the morning. They prepared a place to sleep for the night and alternated watches. At dawn they gathered their packs of food and water and the weapons. Firebird carefully closed the cavern over the sled. She led the way along the trail that soon rose to increasing heights above the desert. They came across the burned and blackened ruins of a sand sled, destroyed with all its equipment.
  • 28. That belonged to someone who came up here for the first time as well as the last, said Firebird. There is no love lost between searchers for the Seven Jewels. They burn each others' sleds when found. The corona lightning increased with terrible streamers of blue and violet light that twisted about the peaks like living things. The air was charged with ozone and Nathan felt the dry crackling of electric discharges in his hair and on his body. Firebird abruptly left the trails and struck out across the face of the mountain. Nathan followed and soon they came to a large overhanging rock. They slipped beneath the overhang and came into a narrow, half-enclosed passage. Get behind me now and watch carefully, said Firebird. She turned and faced the opening under the overhang. We may not have too long to wait. Nathan didn't quite understand, but he waited in silence. Beyond the opening, the rocks were gathered round to form a sort of small vestibule and nothing could be seen beyond that. But abruptly a man appeared in the vestibule. Firebird shot him without warning. I just saved twenty lives, she said through thin lips. Robert the Dog has killed five innocent men that I know of. He could have been expected to kill twenty more if he had lived ten more years. Nathan stared from the body of the dead man to the marble face of Firebird as she sat there—judge and executioner. They waited an hour and another man appeared. She killed him, too. I've saved his mother the agony of knowing him hung for treason. The police have been ready for a month to pull him in. They waited until midday, but no one else appeared. At last Firebird turned and advanced cautiously along the passageway. Nathan felt now that killers lurked behind every stone. He didn't need Firebird's warning to keep a sharp lookout.
  • 29. They crept along a mile of the tortuous trail beneath the copper sky, then dipped suddenly into the blackness of a cavern. The ghostly corona that hovered over the mountain provided a faint gleam in the darkness but scarcely enough to guide them. Take my arm, said Firebird. I can make it in the dark. Nathan felt the tremor that was in her slight body. Some emotion beyond the grasp of his senses was surging through her. But he felt that before they left the cavern he would know what it was. After a time they came to a spiral ramp that seemed to be endless as it dropped them into the depths of the purple glow. Suddenly Firebird placed Nathan's hand on the Jewel pouch. It was faintly warm. The buried Jewel? Nathan whispered. No—the Pink one. We're still not far enough in. Your father's murderer was waiting for us somewhere inside. He's following us now. Nathan was filled with pain for either he had slain Tabor unjustly or else he would shortly kill him to avenge the murder of his father. The ramp leveled out shortly and they made a sharp turn. Then Firebird halted. This is where we stop. Be careful. He's behind us somewhere. Yes, right behind you. Out of the darkness came the unmistakable voice of Tabor. Nathan whirled, reaching for his guns, but Firebird gave him a mighty shove that sent him sprawling into the corner of a deep niche in the cavern wall. I thought you went to Venus, Nathan gasped in hate and rage. What do you want, Tabor?
  • 30. The Jewels of Chamar. I'm your friend and your father's friend, Nathan, but first I'm a spaceman, and the Jewels of Chamar are above all friendship to a spaceman. Still, I'm an honorable man. I'll fight you for them, Nathan. Why didn't you just shoot us in the back as you did my father? Why will you misunderstand me, Nathan? I had to do what I did to force Thymar to reveal where he had hidden the Jewels of Venus. He always said it was better for just one man to know that at a time. I agreed with him, but it was too bad that we didn't have the same man in mind. You dirty killer— He'll accept your challenge on one condition, said Firebird. Provided that you place the Pink Jewel in here in a pile with the others. You'll accept on no conditions at all! roared Tabor, if I say so. But I'd rather like to see them all together. Put them on the floor. Firebird placed the five Jewels on the floor. Their rainbow phosphorescence seemed to Nathan to be a living force that touched him with strength and with peace. From his hiding place behind a jagged boulder Tabor threw in the Pink Jewel and it landed beside the others. Now, I've got something to fight for—! Firebird's flame lance aimed at the point where she had first seen the glowing Pink Jewel. A bubble of flame exploded. Tabor's bellowing laugh ended in a roar of anger. I'd know your touch anywhere, Firebird. Your honor was born in a pig pen. Nathan tried to sense the direction of the sound. Then he aimed the rifle carefully. A ball of flame spattered upon the boulder and washed over its edges. He engraved the lighted scene in his mind. That was you, Nathan? You remember well what I told you about blackout combat. Use the rifle to illuminate the scene of battle. That
  • 31. is good. But do you remember what a rifle flame will do in a small space? Instantly, a rifle flame sped towards them. It blasted against the wall of the niche and flowed around in a sheet of blinding whiteness that gave off an intolerable heat before it died. Nathan and Firebird crouched low at opposite sides of the opening. We'll have to get out, she whispered. You take the right and I'll take the left, and we'll close in on him. Get behind cover as soon as possible. No! You can't risk that. It would be impossible to find cover before he illuminated you in a rifle flame. Let me try one more thing. He sent another shot higher than the previous one. It burst upon the floor far behind Tabor. Nathan got a glimpse of a distant boulder directly behind the spot where Tabor was hidden. Before he could shoot again another blast exploded within the niche. In its light, Nathan saw that Firebird was gone. A wave of terror, an anxiety such as he had never known before, swept through him at the thought of her out there in plain view of Tabor. He aimed carefully with his small flame lance and tried to visualize the small boulder behind Tabor. The flame hit and crashed away. Tabor's voice grunted, A reflective shot? Good work, Nathan. Unfortunately I wasn't in the plane of incidence and reflection. And, Firebird, I hear you coming. A sudden flame shot off towards the depths of the cavern at Nathan's left. There was a single agonizing scream in Firebird's voice. Then nothing. Tabor broke the silence. Sorry, Nathan. I guess you'd gone pretty soft on her. You murderer!
  • 32. Keep cool. Remember what I always taught you. Never let an enemy make you commit suicide by making you lose your head. The niche was like a coffin in the darkness. Tabor's evil taunting and Firebird's scream seemed to combine in an echoing song of torment that swelled and beat upon his senses. And then, in the purple darkness, the six Jewels that lay on the floor seized his attention. Where their color had seemed merely phosphorescent before, it now seemed to blaze up as if hidden fires had come to life. Nathan watched to make sure his eyes were not merely becoming more accustomed to the darkness. But it was more than that. The light pulsed and rose in the niche. It climbed the walls and filled the air with twitching streamers that seemed like living things. And it was making him an easy target for a reflective shot from Tabor. But what did it matter what happened to him now that Firebird was gone? He fired a half dozen shots in rapid succession. Wild, all wild, taunted Tabor. You must do it with precision. Like this! A flame shot through the niche, but it ricocheted from the edge of the opening and missed Nathan's head by only a foot. The blast seared his face and blinded his eyes. See what I mean? said Tabor. He had the range now, Nathan knew. That's what the rifle shots had been for—to enable him to determine a good spot to make a reflective shot into the depths of the niche. But in his own wild shots Nathan had glimpsed something that gave him new hope.
  • 33. He had to move quickly. Another shot from Tabor grazed close to him, but it reflected from the opposite side of the opening where Tabor had miscalculated that Nathan would move. Nathan said nothing, but dropped to the floor. He adjusted the rifle to automatic fire, and lay in the opening of the niche. He pressed the trigger and a river of fire swept across the floor and flowed about the base of the boulder that hid Tabor—and under it! The boulder rested on narrow, jagged faces, between which there were openings. It was through these that Tabor had been firing and Nathan had glimpsed the secret of his protection. The flame raced about Tabor in a torrent of light. It leaped upon him and outlined him as if in St. Elmo's fire. He jerked up in searing pain, and in that instant a single shot came from across the cavern and found its mark. The fire died before Tabor fell, but the sound of his dead body smashing to the floor was loud in the dark silence. Your father's murder is avenged, said a voice from across the cavern. Firebird. I thought— I had to make you think what I made Tabor think. I threw a stone to give him a target. There was no protection out here. I had only one shot to risk. Nathan rushed towards the sound of her voice, and crushed her close to him to reassure himself that she was unharmed. In the light of the Jewels that was now pouring from the niche he could almost see her face. It seemed rich with gladness. The light was flickering now like auroral curtains of fire. What is it? murmured Nathan. Wait—you'll see. This is what I've lived for. My work is finished now. It seemed to Nathan that they stood there for an interminable length of time while the light rose and fell, but gradually swelled until they
  • 34. could see each other plainly. There came a high note like the far away tinkling of chimes. The Jewels were rising from the floor. Firebird's hand on his arm restrained Nathan from rushing forward. Wait, she commanded. The Jewels rose higher and then they began to float out of the niche towards the two Earthlings, carrying their ghostly light with them. The Jewels rose higher, carrying their ghostly light with them.
  • 35. Nathan stared. Where there had been only six Jewels in the niche, there were now seven floating in the air. Three were end to end, forming a vertical pillar. Around this pillar the other four formed a rotating square. As it rotated faster or slower the pitch of the musical note rose or fell. The singing, floating Jewels came nearer ... vibrating with the forces of life. And then out of the midst of them a voice spoke. You have done well. You have my gratitude. I shall reward you. Nathan felt a prickling of the back of his neck. And suddenly Firebird clutched his arm and was sobbing faintly. Are we too late? she asked. The ship of Plar has waited long, but the Envoys are patient. They await my report. The Jewels wheeled in the air and sped towards the tunnel ramp that bore upward to the surface. Come, the voice said. Mechanically, Firebird followed. Nathan moved beside her, not looking back at the fallen Tabor. What is it? Nathan whispered hoarsely. Are the Jewels alive? Long ago, said Firebird, the Envoys of Plar came into our System. They came from a universe so far away that our greatest telescopes have never given a clue to its presence. The inhabitants of that world are life forms with a basis of metallic salts and they are formed as you see this one. They are literally Jewels. The life forces are contained in mighty storage cells of raw electronic energy reduced to its simplest form. Some of the creatures are only single Jewels. The Envoys are of the highest type, having seven. The life in them was dormant until they were brought together again. The Seventh Jewel was the brain so to speak. Each of the others might be likened to an arm or other organ of a human body, though that is far from accurate. The warming of the Jewels as they were brought nearer was the reaching out of their mutual life forces
  • 36. to seize upon each other. But no controlling life was there until the Seventh was near. It was buried deep in the ground, but the attraction between it and the other six was enough to draw it out to reunite with them. Nathan watched the weird form as it gyrated in the air before them and lighted the way through the caverns. What does it mean? Centuries ago—in our time—the Jewel Beings of Plar left on an expedition to explore the universe and study the inhabitants of the planets they came to. They found their science and skill to be so vastly superior to any other that they contacted, that they decided to help the backward peoples they found and share their science with those who could benefit by it. They hoped to speed the evolutionary advances of these races and some day establish a congress of the worlds. To those who had no space flight they revealed the secret of the art. And so on with other arts and sciences. Do they intend to make such gifts to the Solar System? Their decision to help a race is determined by the report of one of the Envoys who is placed on a world for secret investigation. Chamar, the seven-jeweled one, was the Envoy placed to report on Earth and the Solar System. Chamar! But how did he get scattered? Wasn't that like death to him? They are nearly immortal. Chamar was left here by the expedition and the rest of them went on. My grandfather was the first to whom Chamar revealed himself. But soon after that the Envoy was blasted in a laboratory explosion. My grandfather died of the injuries received there, but first he told my father about the Envoy. My father didn't know what the reaction of the other Envoys would be when they returned, but he felt they would deny the Solar System their gifts unless Chamar were restored to them. He spent the rest of
  • 37. his life in the search. When he died he passed on the responsibility to me. He forced me to swear I'd spend my life in the search. And I have done it willingly, for Earth will receive gifts beyond man's wildest dreaming. But the myth of the Seven Jewels has been in existence for nearly two hundred years! Nathan exclaimed. Firebird was silent. They came out of the purple darkness into daylight again. The Envoy was barely visible in the light but the constant, high-pitched note told of his presence. The legend of Firebird is almost that old, too, she said. But there are supposed to have been many who called themselves Firebird. Surely you— Nathan halted and stared at her. There has been only one Firebird, she said. Chamar made one gift to my grandfather before the explosion. That was the pool of Luline. When I was only fifteen my father took me to it and I dipped in it for the first time. Besides its miraculous healing properties, the pool slows the rate of decay of animal organisms. It gives a natural life of a thousand years. It changes human tissue. You have seen the light that comes from my flesh, and you have seen me walk unharmed in the flames at Pheme, as well as witnessing my vision in the dark. All these are of the pool of Luline. But in a hundred and fifty years I have aged only ten. The end of the hidden trail brought them out onto the rocky mountainside. They walked until the sharp tinkle of bells swelled upon the air. Their eyes focused in the space ahead of them. At first they could see nothing. Even the Envoy of Plar had become lost in the sunlight. Then they caught the silken sheen of the almost invisible surface of the globe that hung in the air above the trail. The ship of Plar. They knew instinctively that its substance was no material they could identify. Rather, it was a pure field, a segment out of another time, another space that hung there. It was massive, its dimensions uncertain.
  • 38. Then a familiar sound came close to them in midair and they turned quickly. They have come, Chamar said. I have given my report and now they are debating your case. Must they debate? Firebird's voice was suddenly thin and a strange tremor was in it. Is there doubt of their granting the gifts which they have? Each world must stand upon its own merits. But you are one of them. Can you not tell us? I am not permitted to vote upon a world which I have examined. That is the law. The Envoy was suddenly motionless in the air before them, and a wild tinkling seemed to come from within the great invisible ship of Plar. An answering sound came from the Envoy. Envoy! What is it? cried Firebird. They have come to a decision. The Gifts—? Are not to be given. There was no physical change in Firebird. Only her voice seemed as if her spirit had flown. What have we done? she asked. Not you—all the races of the System, said Chamar. I have seen them all, felt their thoughts, known their actions in the century and a half that I have been here. I had to report the wars and bloodshed and thievery and hate that I have seen. I knew the Envoys would not grant their Gifts to such a System as yours. Is there only evil? said Firebird. Is there no good?
  • 39. Not all is evil. But too much is. In a world where too many men want to rule all other men, we cannot bring powers that would be only a curse to you. Your eyes are too weak to stand the brightness of their light. Your backs lack strength to carry their burden. In ten thousand you may be ready, but until then the Envoys shall not return. There was a moment of silence, then the Envoy spoke kindly. You, Firebird, what would you do? Your self-chosen mission is completed. Firebird's head came up slowly. My mission is not completed. It has not even begun. I can shorten that ten thousand years. I'll stand in the way of a thousand men who would have it long. You'll come back to this System quicker because of me. That is good, Chamar said, and they imagined he was smiling benignly upon them. That is what I hoped you would say. Because of your decision I shall stay even though my companions must go. I shall be near you all the rest of the days of your life, and when you want my help it shall be yours for the asking. Powers that I cannot give to you will be used for you. You won't see me always for I shall do my own work, but wherever you are, call upon me and I will answer. I go to arrange with my companions. The creature sped into the bubble of light and vanished from their sight. The bubble itself lifted from the surface and burst into the sky, leaving them alone. The cold wind of the desert broke upon them and whipped their cloaks about their bodies. They stood as if still in a trance, but Nathan moved slowly down the trail after a moment, drawing Firebird by the arm. They did not speak until they came to the sled. It was safe in the hiding place where they had left it. Nathan climbed behind the wheel and pointed the nose of the sled across the desert towards the far cities of Heliopolis and the Five Towns. The sled hissed over the sands, rocked between the high dunes and challenged the desert winds. And there was exultation in that challenge.
  • 40. He spoke at last. Where are you going, now? Is this the end of Firebird? She shook her head and smiled wanly at him. There'll never be an end to the Firebird. By the time I am dead the legends will be so fabulous that they will never die. I'll make the name of Firebird a name to be feared among thieves and murderers in the high and low place of society. I'll fight the cause of justice in the realms where the law can never reach. Firebird will be the name to scourge evil on the spaceways. And what of you, Nathan? Your father's murder is avenged. Will you return to Venus? She was trying to smile, but Nathan turned and saw the smile waver on her lips, and his heart beat harder because he thought he knew why it wavered. There was in her mind the vision of endless centuries with no one to share her secret, no one to love—except the cold Jewel Being from Plar. Nathan touched her hand. I suppose I'll go back to Venus now and then. But there's somewhere else I must go first. Where? To the Pool of Luline. Do you think I'm going to let you live the rest of that thousand years alone?
  • 41. *** END OF THE PROJECT GUTENBERG EBOOK THE SEVEN JEWELS OF CHAMAR *** Updated editions will replace the previous one—the old editions will be renamed. Creating the works from print editions not protected by U.S. copyright law means that no one owns a United States copyright in these works, so the Foundation (and you!) can copy and distribute it in the United States without permission and without paying copyright royalties. Special rules, set forth in the General Terms of Use part of this license, apply to copying and distributing Project Gutenberg™ electronic works to protect the PROJECT GUTENBERG™ concept and trademark. Project Gutenberg is a registered trademark, and may not be used if you charge for an eBook, except by following the terms of the trademark license, including paying royalties for use of the Project Gutenberg trademark. If you do not charge anything for copies of this eBook, complying with the trademark license is very easy. You may use this eBook for nearly any purpose such as creation of derivative works, reports, performances and research. Project Gutenberg eBooks may be modified and printed and given away—you may do practically ANYTHING in the United States with eBooks not protected by U.S. copyright law. Redistribution is subject to the trademark license, especially commercial redistribution. START: FULL LICENSE
  • 42. THE FULL PROJECT GUTENBERG LICENSE
  • 43. PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK To protect the Project Gutenberg™ mission of promoting the free distribution of electronic works, by using or distributing this work (or any other work associated in any way with the phrase “Project Gutenberg”), you agree to comply with all the terms of the Full Project Gutenberg™ License available with this file or online at www.gutenberg.org/license. Section 1. General Terms of Use and Redistributing Project Gutenberg™ electronic works 1.A. By reading or using any part of this Project Gutenberg™ electronic work, you indicate that you have read, understand, agree to and accept all the terms of this license and intellectual property (trademark/copyright) agreement. If you do not agree to abide by all the terms of this agreement, you must cease using and return or destroy all copies of Project Gutenberg™ electronic works in your possession. If you paid a fee for obtaining a copy of or access to a Project Gutenberg™ electronic work and you do not agree to be bound by the terms of this agreement, you may obtain a refund from the person or entity to whom you paid the fee as set forth in paragraph 1.E.8. 1.B. “Project Gutenberg” is a registered trademark. It may only be used on or associated in any way with an electronic work by people who agree to be bound by the terms of this agreement. There are a few things that you can do with most Project Gutenberg™ electronic works even without complying with the full terms of this agreement. See paragraph 1.C below. There are a lot of things you can do with Project Gutenberg™ electronic works if you follow the terms of this agreement and help preserve free future access to Project Gutenberg™ electronic works. See paragraph 1.E below.
  • 44. 1.C. The Project Gutenberg Literary Archive Foundation (“the Foundation” or PGLAF), owns a compilation copyright in the collection of Project Gutenberg™ electronic works. Nearly all the individual works in the collection are in the public domain in the United States. If an individual work is unprotected by copyright law in the United States and you are located in the United States, we do not claim a right to prevent you from copying, distributing, performing, displaying or creating derivative works based on the work as long as all references to Project Gutenberg are removed. Of course, we hope that you will support the Project Gutenberg™ mission of promoting free access to electronic works by freely sharing Project Gutenberg™ works in compliance with the terms of this agreement for keeping the Project Gutenberg™ name associated with the work. You can easily comply with the terms of this agreement by keeping this work in the same format with its attached full Project Gutenberg™ License when you share it without charge with others. 1.D. The copyright laws of the place where you are located also govern what you can do with this work. Copyright laws in most countries are in a constant state of change. If you are outside the United States, check the laws of your country in addition to the terms of this agreement before downloading, copying, displaying, performing, distributing or creating derivative works based on this work or any other Project Gutenberg™ work. The Foundation makes no representations concerning the copyright status of any work in any country other than the United States. 1.E. Unless you have removed all references to Project Gutenberg: 1.E.1. The following sentence, with active links to, or other immediate access to, the full Project Gutenberg™ License must appear prominently whenever any copy of a Project Gutenberg™ work (any work on which the phrase “Project Gutenberg” appears, or with which the phrase “Project Gutenberg” is associated) is accessed, displayed, performed, viewed, copied or distributed:
  • 45. 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. 1.E.2. If an individual Project Gutenberg™ electronic work is derived from texts not protected by U.S. copyright law (does not contain a notice indicating that it is posted with permission of the copyright holder), the work can be copied and distributed to anyone in the United States without paying any fees or charges. If you are redistributing or providing access to a work with the phrase “Project Gutenberg” associated with or appearing on the work, you must comply either with the requirements of paragraphs 1.E.1 through 1.E.7 or obtain permission for the use of the work and the Project Gutenberg™ trademark as set forth in paragraphs 1.E.8 or 1.E.9. 1.E.3. If an individual Project Gutenberg™ electronic work is posted with the permission of the copyright holder, your use and distribution must comply with both paragraphs 1.E.1 through 1.E.7 and any additional terms imposed by the copyright holder. Additional terms will be linked to the Project Gutenberg™ License for all works posted with the permission of the copyright holder found at the beginning of this work. 1.E.4. Do not unlink or detach or remove the full Project Gutenberg™ License terms from this work, or any files containing a part of this work or any other work associated with Project Gutenberg™. 1.E.5. Do not copy, display, perform, distribute or redistribute this electronic work, or any part of this electronic work, without prominently displaying the sentence set forth in paragraph 1.E.1
  • 46. with active links or immediate access to the full terms of the Project Gutenberg™ License. 1.E.6. You may convert to and distribute this work in any binary, compressed, marked up, nonproprietary or proprietary form, including any word processing or hypertext form. However, if you provide access to or distribute copies of a Project Gutenberg™ work in a format other than “Plain Vanilla ASCII” or other format used in the official version posted on the official Project Gutenberg™ website (www.gutenberg.org), you must, at no additional cost, fee or expense to the user, provide a copy, a means of exporting a copy, or a means of obtaining a copy upon request, of the work in its original “Plain Vanilla ASCII” or other form. Any alternate format must include the full Project Gutenberg™ License as specified in paragraph 1.E.1. 1.E.7. Do not charge a fee for access to, viewing, displaying, performing, copying or distributing any Project Gutenberg™ works unless you comply with paragraph 1.E.8 or 1.E.9. 1.E.8. You may charge a reasonable fee for copies of or providing access to or distributing Project Gutenberg™ electronic works provided that: • You pay a royalty fee of 20% of the gross profits you derive from the use of Project Gutenberg™ works calculated using the method you already use to calculate your applicable taxes. The fee is owed to the owner of the Project Gutenberg™ trademark, but he has agreed to donate royalties under this paragraph to the Project Gutenberg Literary Archive Foundation. Royalty payments must be paid within 60 days following each date on which you prepare (or are legally required to prepare) your periodic tax returns. Royalty payments should be clearly marked as such and sent to the Project Gutenberg Literary Archive Foundation at the address specified in Section 4, “Information
  • 47. about donations to the Project Gutenberg Literary Archive Foundation.” • You provide a full refund of any money paid by a user who notifies you in writing (or by e-mail) within 30 days of receipt that s/he does not agree to the terms of the full Project Gutenberg™ License. You must require such a user to return or destroy all copies of the works possessed in a physical medium and discontinue all use of and all access to other copies of Project Gutenberg™ works. • You provide, in accordance with paragraph 1.F.3, a full refund of any money paid for a work or a replacement copy, if a defect in the electronic work is discovered and reported to you within 90 days of receipt of the work. • You comply with all other terms of this agreement for free distribution of Project Gutenberg™ works. 1.E.9. If you wish to charge a fee or distribute a Project Gutenberg™ electronic work or group of works on different terms than are set forth in this agreement, you must obtain permission in writing from the Project Gutenberg Literary Archive Foundation, the manager of the Project Gutenberg™ trademark. Contact the Foundation as set forth in Section 3 below. 1.F. 1.F.1. Project Gutenberg volunteers and employees expend considerable effort to identify, do copyright research on, transcribe and proofread works not protected by U.S. copyright law in creating the Project Gutenberg™ collection. Despite these efforts, Project Gutenberg™ electronic works, and the medium on which they may be stored, may contain “Defects,” such as, but not limited to, incomplete, inaccurate or corrupt data, transcription errors, a copyright or other intellectual property infringement, a defective or
  • 48. damaged disk or other medium, a computer virus, or computer codes that damage or cannot be read by your equipment. 1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for the “Right of Replacement or Refund” described in paragraph 1.F.3, the Project Gutenberg Literary Archive Foundation, the owner of the Project Gutenberg™ trademark, and any other party distributing a Project Gutenberg™ electronic work under this agreement, disclaim all liability to you for damages, costs and expenses, including legal fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH 1.F.3. YOU AGREE THAT THE FOUNDATION, THE TRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH DAMAGE. 1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a defect in this electronic work within 90 days of receiving it, you can receive a refund of the money (if any) you paid for it by sending a written explanation to the person you received the work from. If you received the work on a physical medium, you must return the medium with your written explanation. The person or entity that provided you with the defective work may elect to provide a replacement copy in lieu of a refund. If you received the work electronically, the person or entity providing it to you may choose to give you a second opportunity to receive the work electronically in lieu of a refund. If the second copy is also defective, you may demand a refund in writing without further opportunities to fix the problem. 1.F.4. Except for the limited right of replacement or refund set forth in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
  • 49. INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PURPOSE. 1.F.5. Some states do not allow disclaimers of certain implied warranties or the exclusion or limitation of certain types of damages. If any disclaimer or limitation set forth in this agreement violates the law of the state applicable to this agreement, the agreement shall be interpreted to make the maximum disclaimer or limitation permitted by the applicable state law. The invalidity or unenforceability of any provision of this agreement shall not void the remaining provisions. 1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation, the trademark owner, any agent or employee of the Foundation, anyone providing copies of Project Gutenberg™ electronic works in accordance with this agreement, and any volunteers associated with the production, promotion and distribution of Project Gutenberg™ electronic works, harmless from all liability, costs and expenses, including legal fees, that arise directly or indirectly from any of the following which you do or cause to occur: (a) distribution of this or any Project Gutenberg™ work, (b) alteration, modification, or additions or deletions to any Project Gutenberg™ work, and (c) any Defect you cause. Section 2. Information about the Mission of Project Gutenberg™ Project Gutenberg™ is synonymous with the free distribution of electronic works in formats readable by the widest variety of computers including obsolete, old, middle-aged and new computers. It exists because of the efforts of hundreds of volunteers and donations from people in all walks of life. Volunteers and financial support to provide volunteers with the assistance they need are critical to reaching Project Gutenberg™’s goals and ensuring that the Project Gutenberg™ collection will
  • 50. remain freely available for generations to come. In 2001, the Project Gutenberg Literary Archive Foundation was created to provide a secure and permanent future for Project Gutenberg™ and future generations. To learn more about the Project Gutenberg Literary Archive Foundation and how your efforts and donations can help, see Sections 3 and 4 and the Foundation information page at www.gutenberg.org. Section 3. Information about the Project Gutenberg Literary Archive Foundation The Project Gutenberg Literary Archive Foundation is a non-profit 501(c)(3) educational corporation organized under the laws of the state of Mississippi and granted tax exempt status by the Internal Revenue Service. The Foundation’s EIN or federal tax identification number is 64-6221541. Contributions to the Project Gutenberg Literary Archive Foundation are tax deductible to the full extent permitted by U.S. federal laws and your state’s laws. The Foundation’s business office is located at 809 North 1500 West, Salt Lake City, UT 84116, (801) 596-1887. Email contact links and up to date contact information can be found at the Foundation’s website and official page at www.gutenberg.org/contact Section 4. Information about Donations to the Project Gutenberg Literary Archive Foundation Project Gutenberg™ depends upon and cannot survive without widespread public support and donations to carry out its mission of increasing the number of public domain and licensed works that can be freely distributed in machine-readable form accessible by the widest array of equipment including outdated equipment. Many
  • 51. small donations ($1 to $5,000) are particularly important to maintaining tax exempt status with the IRS. The Foundation is committed to complying with the laws regulating charities and charitable donations in all 50 states of the United States. Compliance requirements are not uniform and it takes a considerable effort, much paperwork and many fees to meet and keep up with these requirements. We do not solicit donations in locations where we have not received written confirmation of compliance. To SEND DONATIONS or determine the status of compliance for any particular state visit www.gutenberg.org/donate. While we cannot and do not solicit contributions from states where we have not met the solicitation requirements, we know of no prohibition against accepting unsolicited donations from donors in such states who approach us with offers to donate. International donations are gratefully accepted, but we cannot make any statements concerning tax treatment of donations received from outside the United States. U.S. laws alone swamp our small staff. Please check the Project Gutenberg web pages for current donation methods and addresses. Donations are accepted in a number of other ways including checks, online payments and credit card donations. To donate, please visit: www.gutenberg.org/donate. Section 5. General Information About Project Gutenberg™ electronic works Professor Michael S. Hart was the originator of the Project Gutenberg™ concept of a library of electronic works that could be freely shared with anyone. For forty years, he produced and distributed Project Gutenberg™ eBooks with only a loose network of volunteer support.
  • 52. Project Gutenberg™ eBooks are often created from several printed editions, all of which are confirmed as not protected by copyright in the U.S. unless a copyright notice is included. Thus, we do not necessarily keep eBooks in compliance with any particular paper edition. Most people start at our website which has the main PG search facility: www.gutenberg.org. This website includes information about Project Gutenberg™, including how to make donations to the Project Gutenberg Literary Archive Foundation, how to help produce our new eBooks, and how to subscribe to our email newsletter to hear about new eBooks.
  • 53. Welcome to our website – the ideal destination for book lovers and knowledge seekers. With a mission to inspire endlessly, we offer a vast collection of books, ranging from classic literary works to specialized publications, self-development books, and children's literature. Each book is a new journey of discovery, expanding knowledge and enriching the soul of the reade Our website is not just a platform for buying books, but a bridge connecting readers to the timeless values of culture and wisdom. With an elegant, user-friendly interface and an intelligent search system, we are committed to providing a quick and convenient shopping experience. Additionally, our special promotions and home delivery services ensure that you save time and fully enjoy the joy of reading. Let us accompany you on the journey of exploring knowledge and personal growth! ebookfinal.com