Competing RIA Technologies Put The Emphasis on Test and Deploy
Rich Internet Applications (RIA) use modern agile software development techniques to build highly-usable and highly-functional applications for deployment over the Web. Software architects routinely accept that whatever technology consumes an information source will also have capacity to handle complex data, sophisticated user interaction, and the workflow of an application's business logic.Today's Web is a rich set of competing approaches to deliver RIA. The user community is already equipped to run your application when you choose one of these RIA techniques:

All of these approaches are viable in my experience. That puts the emphasis on which approach is easist to test and deploy.
- Web 1.0 - Everything in
the user interface is text, forms, and links. TestMaker provides fast
and easy test construction and operation through automatic record/playback
or writing unit tests in a high level language. Click
here for a tutorial. TestMaker supports Web page performance
optimization through HTTP
Archive (HAR) support.
- Ajax - Web pages with asynchronously running Javascript functions. Javascript functions change the Web page content dynamically, validate user input dynamically, presents live back-end data, and communicates with one or more backend systems as needed. The asynchronous nature of the Javascript functions makes test construction challenging. Javascript adds thousands of new Web objects that most test tools do not recognize and procedurally oriented test tools struggle to keep the test in synchronization with the application state. TestMaker providesautomatic test construction and operation through automatic record/playback or writing unit tests in a high level language, including support for Ajax Web objects and automatic synchronization. Click here to learn more.
- WebKit - Safari, Chrome,
most mobile and table devices, and Amazon Kindles use WebKit-based
browsers for user interaction. WebKit is widely used and well known in
the developer community. Wells Fargo Bank, for example, uses a
private-label package of Chrome to provide user interaction to its
employees. PushToTest designed TestMaker technology to plug-in, record,
and drive WebKit applications. Click
here to see TestMaker
Object Designer recording a test in the Chrome browser.
- Flex and Flash - Flex components provide a rich display of media (photos, video, audio, animations) within a component in a Web page or packaged as a desktop application (using Adobe Air.) Flex provides the ActionScript language for building complex workflows within Flex components. Adobe provides the Flex Automation APIs to make Flex components testable. Record/playback or build a unit test of a Flex or Flash component that appears within the Web interface of your application. Watch a screencast showing TestMaker Flex/Flash in action.
- Oracle Forms and Java Applets
- Applets provide a high degree of control and precise function
delivery. Oracle Forms uses
Java Applet technology to deliver applications that access Oracle
database contents through defined workflows. Oracle uses Forms
technology in its own Oracle
Application Suite.
PushToTest designed TestMaker Java Applet Technology (JAT) to provide
record/playback testing for Oracle Forms and other Applet based
applications. Watch
a screencast showing TestMaker JAT in action.
- Silverlight - Microsoft's
answer to HTML 5 and Adobe Flex. Build and deploy workflow based
application components for delivery across the Web using typical
Microsoft technology (Visual Studio, ASP.net, and others.) Various open
source efforts emerged to test Silverlight, including a unit
test for Silverlight with Selenium.
- Terminal Sessions -
Terminal session services like Citrix deliver
highly functional, easily
administered applications by using virtualization technology to run an
application remotely. Users see the application through a virtual
terminal server. Upgrading the application is easy - upgrade the single
centrally hosted application. There is no need to use network bandwidth
to move a component - such as a Flex or Ajax app - to the user. Of
course, the terminal server client needs to be installed for every user
or terminal device. PushToTest partners with Enteros to deliver a
functional testing and performance testing solution for Citrix based
applications. Read the
announcement.
- Message-based Applications
- The communication between a RIA client and the backend introduces
scalability challenges. Watch
a screencast I made with Greg Hoelzer of TIBCO to learn how Big
Data and NoSQL help build scalable and high performance RIA.
-Frank
Sources:
http://solacesystems.com/blog/technology/web-messaging/latency-and-rias/
http://marketshare.hitslink.com/report.aspx?qprid=0&qpcustomd=1
http://www.webkit.org/blog/188/safari-hits-622-market-share/
