Welcome!

Java IoT Authors: Zakia Bouachraoui, Pat Romanski, Elizabeth White, Liz McMillan, Yeshim Deniz

Related Topics: Machine Learning , ColdFusion, Silverlight

Machine Learning : Article

How to Choose an RIA Solution

A software architect and manager's guide

There are currently more than 200 RIA solutions available, and this number grows daily. Each RIA solution has its strengths and weaknesses, and the levels of security, accessibility, and integration vary. Choosing a suitable RIA solution for creating or enhancing Web applications becomes more difficult for both software architects and software project managers. Since it's easy to select the wrong RIA solution, the following is a guide covering both perspectives that will help you evaluate RIA solutions and choose the right one.

Top 10 Criteria for Both Architects and Managers
The following figure outlines the top 10 criteria that software architects and software project managers should consider when choosing which RIA solution best suits their requirements.

From the Software Architect's Perspective
Due to the variety of RIA solutions, architects should validate these solutions with the following criteria to determine which solution best suits their requirement.

  • Complete widget set: An RIA solution with a comprehensive widget set, such as editor, sorting ability, modal dialogue, and drag-and-drop features, will generally allow more options when dealing with complex application requirements.
  • Ease of development: For web application development, UI designers tend to find markup languages easier to use. An RIA solution that offers a markup language can enhance ease of development.
  • Enterprise integration: Ability to integrate with other development frameworks, server-side or client-side technologies, is very important when choosing an RIA solution. With more integration, an RIA solution can close unexpected integration gaps.
  • Security and scalability: Security and scalability concerns the solution's ability to protect Web applications from malicious attacks, and whether it could be applied for large-scale user productivity applications. A good solution protects applications from cross-site scripting, malicious JavaScript injection, and the danger of exposure of business logic to the client. For large-scale applications, the solution should be compatible with a clustering, load-balancing mechanism.
  • Cross-browser/client support: According to Forrester Research, 88% of enterprise users chose Internet Explorer, and Firefox gets the rest. Cross-browser/client compatibility of an RIA solution ensures that a Web application can run properly in different browsers or clients, e.g., mobile and Flash.

From the Manager's Perspective
In addition to the architect's point of view, a manager is also concerned with ensuring that the RIA solution is the most appropriate one from the perspective of future, cost, development tool, plug-in, and background.

  • Future proof: Is the solution fully compliant with standards and whether it is an open source project? Does it adopt any vendor lock-in technology? This could affect the portability of current applications to future infrastructure.
  • Low training cost: Introducing a new technology could increase the cost of an application development project because training for the development team may be necessary; moreover, the learning curve depends on the complexity of the solution's technology. Whether you are completely transforming an entire Web application, or enriching an existing application, introducing new technology can create some risks.
  • Development tool support: Development tool support shortens the development lifecycle by simplifying the development process, and more precise project management, especially a visual editor of a UI design.
  • Plug-in dependency: Does the RIA solution require users to install new software or a new plug-in on their computers? Users tend to be unwilling to learn new software or plug-ins; this could result in unexpected user response.
  • Solid background: Who or what is behind the RIA solution? That could determine the nature of the technical support a user's development team could expect. How active is the solution's development community? What is the frequency of bug fixes, new releases, response to feature requests, etc.? These can give a clue to the quality and longevity of the RIA solution.

Categories of RIA Solutions
RIA solutions can be grouped into four categories as shown below.

  • Snippet framework: The snippet framework allows a developer to enhance an existing Web application with a snippet of code in order to deliver limited improvement by introducing more animations. Neither architectural nor design changes are required. A major benefit is that a snippet framework can be integrated with any server-side technologies.
    •  Representative:
    Prototype, Scriptaculous, jQuery
  • Widget framework: The widget framework enables developers to deliver a better user experience with off-the-shelf widgets, for example, grid, tabbox, and context menu. No dramatic change is required for developers to add new widgets into existing Web applications. One of its drawbacks is that its users take time to download its fat library.
    •  Representative:
    Dojo, Ext-JS, YUI
  • Client framework: The client framework requires creating a new user interface and rebuilding existing applications; as a result, the user experience will be much improved for increased productivity and responsiveness. However, it introduces risks at the same time because developers have to rewrite the application.
    •  Representative:
    Flash, Java FX, GWT
  • Full framework: The full framework is the most complete solution, providing rich widgets and also supporting data access and back-end service integration. It delivers a responsive user experience as well as enterprise values. One of its major benefits is that it usually introduces a simplified programming model without the baggage of client-side technologies. However, each solution requires its own specific server-side platform.
    •  Representative:
    Backbase, ZK , Wicket, Richfaces, Flex, Silverlight, Struts

Which RIA Solution Is Best for You?
The answer depends on the specific requirements of each organization or user. No one RIA solution satisfies all of the wide variety of user requirements. A user could, however, evaluate each RIA solution by scoring that solution on how well, in the context of the user's requirements, it meets the criteria outlined here. The RIA solution with the highest total score would perhaps be the best fit for the user organization.

More Stories By Robbie Cheng

Robbie Cheng is an Evangelist of the ZK framework. He is the principal developer of ZK Mobile for Android and ZK Forum. He is the co-author of the book "ZK: Ajax without the Javascript Framework" and has published many articles on AJAXWorld Mgazine, TheServerSide, and Javalobby. He has also spoken at various events, Google Developer Day, Mobile Monday, and OSDC 2009.

Comments (2)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
Moroccanoil®, the global leader in oil-infused beauty, is thrilled to announce the NEW Moroccanoil Color Depositing Masks, a collection of dual-benefit hair masks that deposit pure pigments while providing the treatment benefits of a deep conditioning mask. The collection consists of seven curated shades for commitment-free, beautifully-colored hair that looks and feels healthy.
The textured-hair category is inarguably the hottest in the haircare space today. This has been driven by the proliferation of founder brands started by curly and coily consumers and savvy consumers who increasingly want products specifically for their texture type. This trend is underscored by the latest insights from NaturallyCurly's 2018 TextureTrends report, released today. According to the 2018 TextureTrends Report, more than 80 percent of women with curly and coily hair say they purcha...
The textured-hair category is inarguably the hottest in the haircare space today. This has been driven by the proliferation of founder brands started by curly and coily consumers and savvy consumers who increasingly want products specifically for their texture type. This trend is underscored by the latest insights from NaturallyCurly's 2018 TextureTrends report, released today. According to the 2018 TextureTrends Report, more than 80 percent of women with curly and coily hair say they purcha...
We all love the many benefits of natural plant oils, used as a deap treatment before shampooing, at home or at the beach, but is there an all-in-one solution for everyday intensive nutrition and modern styling?I am passionate about the benefits of natural extracts with tried-and-tested results, which I have used to develop my own brand (lemon for its acid ph, wheat germ for its fortifying action…). I wanted a product which combined caring and styling effects, and which could be used after shampo...
The platform combines the strengths of Singtel's extensive, intelligent network capabilities with Microsoft's cloud expertise to create a unique solution that sets new standards for IoT applications," said Mr Diomedes Kastanis, Head of IoT at Singtel. "Our solution provides speed, transparency and flexibility, paving the way for a more pervasive use of IoT to accelerate enterprises' digitalisation efforts. AI-powered intelligent connectivity over Microsoft Azure will be the fastest connected pat...
There are many examples of disruption in consumer space – Uber disrupting the cab industry, Airbnb disrupting the hospitality industry and so on; but have you wondered who is disrupting support and operations? AISERA helps make businesses and customers successful by offering consumer-like user experience for support and operations. We have built the world’s first AI-driven IT / HR / Cloud / Customer Support and Operations solution.
Codete accelerates their clients growth through technological expertise and experience. Codite team works with organizations to meet the challenges that digitalization presents. Their clients include digital start-ups as well as established enterprises in the IT industry. To stay competitive in a highly innovative IT industry, strong R&D departments and bold spin-off initiatives is a must. Codete Data Science and Software Architects teams help corporate clients to stay up to date with the mod...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
Druva is the global leader in Cloud Data Protection and Management, delivering the industry's first data management-as-a-service solution that aggregates data from endpoints, servers and cloud applications and leverages the public cloud to offer a single pane of glass to enable data protection, governance and intelligence-dramatically increasing the availability and visibility of business critical information, while reducing the risk, cost and complexity of managing and protecting it. Druva's...
BMC has unmatched experience in IT management, supporting 92 of the Forbes Global 100, and earning recognition as an ITSM Gartner Magic Quadrant Leader for five years running. Our solutions offer speed, agility, and efficiency to tackle business challenges in the areas of service management, automation, operations, and the mainframe.