This is a question that I hear more and more these days. What could you replace it with ?
Lets assume your a large microsoft customer. So it has to come off the MS prayer sheet. Not even Flex (which is excellent at generating RIA's) can be considered.
Lets assume that its a windows platform, MS SQL back end. So far so very mediocre. We need some sort of service running on the windows platform, performing scheduled agent style tasks, and servicing user requests. Lets assume there's a nice rich internet application front end, and they communicate using some zippy Web service style calls.
The MS Language of choice these days is C# - something I've had some experience in developing in. Windows services - very simple. And it has web service consumers as well as servers, so it can spider off into the enterprise, collecting back-end data on demand (and perhaps caching it).
I'm not a huge fan, it must be said. But our customers out there have little choice. Its MS's RIA and we're stuck with it. Rather like an MS guy being stuck with a Domino Designer 4.6 client to work on Unilevers intranet. Lets hold our noses and wade on through. Hell, we managed to use a designer client without proper typeahead for years - I'm sure we'll survive.
Our clients will authenticate to a web site using IE (god) and AD, load up silverlight, and it'll make web service calls back to our server(s). Lets assume enterprise means 'scalable', and in MS land, that means multiple servers. Because were using an RIA, we can have it intelligently decide which server to use, and switch between them should it be required. Automagic failover.
Now this is starting to sound interesting.
Authentication between the RIA and the web service will be some sort of AD token being passed back - lets assume the MS chaps got that bit right. And of course the back end can make AD calls to the directory for other bits and pieces. It'll also send out reminder messages using SMTP to whatever mail infrastructure is in place.
Um. RIA. That means that the URL for each of our documents will have to be something like:
http://<server>/<webpage with app>&Ref=<magic number of document>
Okay. So everything in there will have some sort of UNID/Magic number system so we can easily find and reference documents using URL's that wont actually kill us. (The Domino UNID is fantastic at this)
Lets think about how responsible we want this RIA to be. Well. I want it to be data-driven. This is something we've done before in FirM - we pass down a description of the form, all the fields (and relevant lookups), validation, and the RIA just paints the form. So we don't have to muck around with all that UI stuff, hardcoding it to fit our application.
Interesting times. I'll keep you folks updated with other thoughts around this when they occur.