C6. RIA - Rich Internet Applications
The term RIA (Rich Internet Application) designates a web application
that behave close to a desktop application. Indeed, the objective of RIA
technologies is to overcome the significant differences in responsiveness and in
variety of interface components.
Rich Internet Applications combine
state of the art technologies with innovative business processes to provide
cost-effective business solutions for all sized enterprises and government
entities. Various technologies are involved in developing such applications like
SSC, Ajax, browser plug-ins, or virtual machines. Ajax APIs, Adobe
Flash, Java, and Microsoft Silverlight are currently the most common platforms
for RIA Applications.
Nowadays, RIAs have become the de-facto technology
choice to simplify complex processes like registration, information
searching, online shopping and data analysis. RIAs can be used with
existing web application infrastructure and can be deployed even as part of
normal HTML pages.
Google Ajax
API
Google Ajax API provides useful widgets for web pages
content enhancement (Google Web
Elements):
- Calendar - a small calendar with events
highlighting
- Checkout - create an online
store using a Google Docs spreadsheet
- Presentations - provides
a slideshow embedded into a HTML page
- Reader - displays most recent Shared
Items on Google Reader
Spreadsheets - show a table of
information (edited in Google
Docs)
- Virtual Keyboard - attach a
Virtual Keyboard to page inputs
- Wave - collaborative environment
through Google Wave
- News - show the latest Google News headlines
- Translate - allow visitors to translate
your page into their preferred language with a single click
- Youtube News - display the
latest YouTube videos from a
news source
- Custom Search - let visitors
search your site and other sites you choose using the power of Google Custom
Search
Maps - add the Maps element
using Google Maps
- Sidewiki - add a Google Sidewiki element
- Conversation - add the
Conversation element so visitors can post comments and links on your site or
participate in global Google Friend Connect
conversations
- Orkut Share - let visitors share
pages from your site on Orkut
Web
ServicesW3C defines a
web service as "a software system designed to support interoperable
machine-to-machine interaction over a network. It has an interface described in
a machine-processable format (specifically Web Services Description Language
WSDL).
Other systems interact with the web service in a manner prescribed by its
description using SOAP messages, typically conveyed using HTTP with an XML
serialization in conjunction with other Web-related standards. We can identify
two major classes of Web services, REST-compliant Web services, in which the
primary purpose of the service is to manipulate XML representations of Web
resources using a uniform set of
stateless operations; and arbitrary
Web services, in which the service may expose an arbitrary set of operations". A
web service is typically an Web API that is accessed via HTTP and executed on a
remote system, hosting the requested service (
Wiki). Web Services can be created using
almost any programming language.
Web
MashupsAccording to D. Nations a web mashup is a web application
that takes information from one or more sources and presents it in a new way or
with a unique layout. The external data are glued together in a
"monster-of-Frankenstein-like manner" (Duane Merrill, Freelance):
<<So,
what might a mashup look like? The ChicagoCrime.org Web site is a great
intuitive example of what's called a mapping mashup. One of the first mashups to
gain widespread popularity in the press, the Web site mashes crime data from the
Chicago Police Department's online database with cartography from Google Maps.
Users can interact with the mashup site, such as instructing it to graphically
display a map containing pushpins that reveal the details of all recent burglary
crimes in South Chicago. The concept and the presentation are simple, and the
composition of crime and map data is visually powerful.>>
Web mashups
examples:
WindmillWindmill
is a web testing tool created to automate the testing and debugging
processes for web applications.
The command line to start windmill
is:
windmill [-cdelptmxs] action [optionh1. value]
[firefox|ie|safari] [http://www.example.com]
The available
actions denote that available environments windmill can start up:
The "shell"
environment will start windmill and drop in to a python shell. The shell has
various objects and functions in the local scope to help you with debugging and
running tests.
The "run_service" environment just runs windmill in the
foreground until it gets a proper signal to end. This is good for continuous
integration and for someone who wishes to just run tests without the need for
debugging.
The "wx" environment will launch an experimental wxPython UI for
the service. This UI is still under heavy development and have some limitations
and rough edges.
Some demo videos on Windmill features could be found at:
Windmill Demo
Videos page.
Slides:
C6. RIA.