ARP: The Vision for RIAs

One of the biggest problems facing Rich Internet Application (RIA) developers today is how to architect their applications so that they are maintainable, scalable and can be efficiently developed in a team team-environment. Using the Ariaware RIA Platform (ARP) and the ARP methodology you applications will immediately benefit from the lightweight, pattern-based best-practices architecture provided by ARP. In essence, ARP answers the most difficult questions for you and provides you with a solid, tested foundation to build your applications upon.

Modern RIA teams contain an eclectic mix of developers, including UI designers, Flash and Flex developers, J2EE (or PHP, .NET, .etc.) developers, database developers, etc. In such teams, communication is a key factor in determining project success. Many Flash developers know only how to communicate in Flash-centric concepts such as the timeline and code scattered on movie clips. This makes it difficult for other members of the team, who have more traditional OOP knowledge in languages such as Java or C#, to communicate with client-side developers. The pattern-based structure of ARP makes it easy to talk about the client in standard patterns that are instantly recognizable to seasoned software engineers familiar in other OOP environments.

The pattern-based architecture of ARP also makes it possible for large teams to work effectively on the same project, allowing for the clear delegation and demarcation of responsibilities and communication through familiar patterns. It even allows server-side developers to help with certain sections of the client (for example to create the Value Objects and Business Delegates) and provides a strong contract between the client and server to make development and debugging easier across teams.

Badly structured, unmaintainable and unscalable Flash clients and lack of communication and understanding in development teams raises development risk and the risk of user rejection of your product. Implementing ARP following the guidelines in the ARP Developer's Manual, combined with adherence to an Agile development methodology such as eXtreme Programming (XP) and with elements of a User-Centered Product Development (UCPD) process will help you lower these risks and thus lower the overall risk of your project. (At Ariaware we call our combination of XP and UCPD, UCAPD or User-Centered Agile Product Development. I presented on UCAPD last year at CF-Europe and will be presenting on it again at MX-Europe in January.)

We have taken great pains to ensure that ARP is lightweight and does not impose unnecessary constraints upon the developer. Although intuitive and non-intrusive, ARP is a structural framework and proper use of ARP will ensure that the foundations of your application are solid. Built upon solid foundations, your application will be easy to maintain and scale.

ARP Version 2.0 is a fifth generation framework, having its roots in the framework originally created in Flash 5 following work on the world�s first virtual school in the year 2000. With each release, we were happy to be able to simplify ARP further, many times replacing functionality which we had built into an earlier version with built-in functionality introduced by Macromedia with each new release of Flash. Also, we took the decision to remove our utility library from ARP, thereby leaving a purely architectural framework able to interoperate with any AS2-based utility library. Subsequently, ARP has actually become less complex with each release � a trend that we hope will continue in the future.

ARP tries to capture a delicate balance in adapting current best practices to Flash in a performant manner that suits the limits of Flash while guaranteeing maintainability and scalability of the application.

ARP also supports Flex. In fact, all that is necessary to port a Flash application using ARP to Flex is to re-do your forms as Flex forms. This, of course, makes migrating between Flash and Flex a breeze (no pun intended!) :) More documentation on using ARP with Flex will be made available shortly.

ARP removes the uncertainty and risk involved in developing Rich Internet Applications. In releasing ARP as open source, we believe that we have removed the final barrier of entry into RIAs -- a move that we hope will boost this fledging industry into the mainstream of Internet applications.

We will also be maintaining, developing and supporting ARP in close collaboration with the best minds in the industry and providing commercial support and training for enterprises, development houses and individual developers. Further details of available support and training options is available in the comprehensive ARP Developer's Manual.

I will also be continuing my world tour on Best Practices Flash Development, giving talks at MMUGs around the world (next stop, South Africa). If you would like to arrange for an MMUG talk, workshop or consulting, please contact me.

Our vision for ARP is that it will become the defacto platform, a standard, for Flash and Flex-based Rich Internet Applications -- a common high-level language and methodology for RIAs allowing not just team members but disparate teams to communicate and interoperate efficiently.

The risk of developing RIAs has just been considerably lowered: What are you waiting for? Let's start the RIA Revolution! :)