What Are Rich Internet Applications ?
Macromedia themselves have written a great deal recently about the Rich Internet Application promise, so we will spend little time evangelising here. At our own consultancy, we describe Rich Internet Applications as "the best of the desktop, meets the best of the Web". A Rich Internet Application is a software application with all the behaviour, feature, responsiveness, intuitiveness and experience of a desktop software application, fused with the ease and cost of deployment and the enterprise capabalities of a web application delivered over the Internet. It's about user experience, and as Macromedia have been keen to remind us, "Experience Matters".
At iteration::two, we've coined the term "Enterprise RIA", to describe Rich Internet Applications of the scale and complexity you'd expect to find in a large, transactional web application, such as online banking, reservation systems or large commerce sites for example.
As soon as we discuss an Enterprise RIA, the gravity of our software problem weighs on us immediately. In order to deliver an application of such scale and complexity, we are clearly not going to be able to start with a blank canvas and evolve our way towards a design, adding a few frames to our application for our Actionscript code, and calling a few webservices or passing a few bits of XML back and forth.
On the contrary, if we are going to approach the development of Rich Internet Applications, or indeed Enterprise RIAs, then we can't just code them, we must engineer them.
What it means to engineer a Rich Internet Application, the challenges we must address, and the tools, technologies, methods and techniques that will allow us to solve them, will be the focus of this column.
What Things Might We Address in RIA Development ?
By definition, Enterprise Software Development embraces a number of disparate and interconnected technologies. An Enterprise RIA team may comprise Graphic Designers, User Interface Designers, Flash Developers, Software Engineers (Java Developers for instance) as well as Database Administrators. In many projects, several hats may be worn by the same person, but as we move towards enterprise RIA development, it is both unlikely and undesirable that one or two people will be wearing all those hats.
We must come to grips with the new features of Flash MX 2004, such as Web Services, Data Connectors, Data Binding, and learn how to develop software on the client using ActionScript 2.0. ActionScript 2.0 is the closest yet that ActionScript has come to a full object-oriented implementation, and this places a whole new set of challenges and possibilities for the RIA developer. It is imperative that teams learn to embrace Object Oriented development techniques, to build ever more complex applications with Flash MX.
To pass data between the client and the server, we must consider technologies such as Flash Remoting MX, as well as the new features of Flash MX 2004 Professional such as Web Service support, Web Service Connectors, XML connectors and RDBMS connectors, which allow the integration of server-side capability with a Flash presentation tier.
Building large software systems such as an Enterprise RIA, requires that we pay more attention to engineering disciplines such as source code packaging, source code control, and testing. Furthermore, we must consider embracing Software Engineering practices such as Design Patterns, Refactoring, Test Driven Development and Continuous Integration, alongside other engineering practices that ensure that no matter how complex an application becomes, it remains stable, maintainable and most importantly, has a measurable quality.
Macromedia are clearly focussed on the RIA proposition; Flash Remoting MX gave a taste of what was to come, and Flash MX 2004 Professional gives a further glimpse of the roadmap ahead, that includes forthcoming projects such as Macromedia Central and Macromedia Royale.
In this column, we'll endeavour to feature all of these tools, technologies, practices and methods.
Why Should I Read This Column
If you're excited by the prospect of Rich Internet Applications, and the technologies that make them possible, then we invite you to join us, as we explore both technical and business facets of RIA development.
We'll follow closely on the technologies and announcements in the development community, related to RIA development. Along the way, we'll also share as much of our expertise from within iteration::two, where day-in and day-out, our development teams are rolling out Enterprise RIA projects into production environments, facing up to the challenges that each of you will face in your own developments.
We'll explore the tools and the technologies, and we'll do our best to "lift one corner, so that you might lift the other three".
If you are an RIA developer, of if you are trying to migrate to RIA development either from the server-side of the fence (as most of our team did) or from the client-side of the fence, we'd like to share as much as we can to help you on your way.
If there's anything you'd like us to cover, or if you have any suggestions for future columns that you'd like either myself, or one of the iteration::two team to write, then drop us an email at engineeringRIA@iterationtwo.com, and we'll do our best to cover your suggestion.
Rich Internet Application development is an exciting route for Flash application developers. We look forward to walking that route alongside readers of Flash Magazine.
Steven Webster - Iteration 2
3dnirvana is best viewed in Mozilla Firefox 2.0!! The multi browser program for this blog is under development. Wish you all a very happy navigation.
3dnirvana doesn't take any authority over its content. Viewers are free to comment, review and analyze anything under personal right to freedom.
3dnirvana is the creative face of Roshan Kolar, who is a Creative Engineer and an Animator.
3dnirvana doesn't take any authority over its content. Viewers are free to comment, review and analyze anything under personal right to freedom.
3dnirvana is the creative face of Roshan Kolar, who is a Creative Engineer and an Animator.
0 comments:
Post a Comment