Friday, October 20, 2006

Rich Internet App - My Ass!

There's been quite a number of stories in the past week about RIA's - their definition and why people should/should not use them. For those of you that aren't "hip" to all the crazy acronyms floating around these days - RIA stands for Rich Internet Applications.

RIA is an acronym that Macromedia (now owned by Abobe) came up with in 2003 as a way to basically sell Flash as a way to create "highly interactive" web-based applications. They later developed Flex - an application framework (based on the concept of remote flash), and have added a bunch of connectors to databases, and even a very basic IDE (Integrated Development Environment) that is a plug-in to the venerable Eclipse development environment.

Flex is an XML-based language and application server that are used (allegedly) to create scalable business application on web sites. The way it works is you write a bunch of XML files that contain code (with or without the IDE) - save it as a .swf (Flash) file, and upload it to the server. Then, on your page - you make reference to the .swf file - and when the page loads, the Flash plug-in the browser takes over and renders everything.

Flash itself is a very "sexy", graphics-based technology that allows developers to build "pretty" interfaces that run in a web browser. Flash has cool effects like wipes, dissolves , etc. Traditionally, Flash has been used for web site animations, banner animations, etc. because it is very compact (files are small), and the installation of the Flash plug-in into a browser is very straight forward and easy.

The problem, in my view - is that there are LOTS of moving parts involved. There are LOTS of physical files that make up a final solution. There isn't any automatic data binding - in fact, there's very little "automatic" anything! Just for fun - check out this "simple" application of showing contact records from a database.

YIKES! I can build AND DEPLOY that solution in 15 seconds in Servoy - with ZERO code.

Besides being difficult to develop (and maintain) code - and the fact you have to have connectors and a messaging server, installing and configuring a J2EE application server (JRun, IBM Websphere, or BEA Weblogic) and all the rest of the requirements (at least deployment isn't that hard) - there are a few other points that are a bit disconcerting:

  • Data connections to back end databases? Ummm... yeah, but licensed separately - and good luck figuring out the messaging model.
  • Mac Version? Ummm... yeah, sure, sometime.
  • Cost? $1,000 per developer + Data Services (price TBD)
  • 1 GB of memory (Flex Builder)
  • Your application’s compiled SWF file is in the same domain as the remote data source. OR, if you use a proxy and your SWF is on the same server as the proxy.
  • Loads, and loads and LOADS of code! In little files. LOTS of little files - all over the place.


Yeah, but is Servoy a "true" Rich Internet Application tool? In a word: YES. You can launch via a browser a 2K .jnlp file (Java WebStart config file - auto-generated by Servoy for you). Everything else happens outside the browser, but across the Internet (or LAN or WAN or VPN). Compiled methods are executed on the client. Data access, data connections, data change broadcasting, finding data, editing data, creating new rows, duplicating data, embedded JavaBeans, embedded JavaApplets, enhanced plug-in functions (get/post http; platform-specific dialogs, UDP calls, pop/smtp email, etc) are handled automatically by the Servoy application server (servlet) and Smart Client.

Servoy will do virtually all the same stuff (except the pretty transition effects) BUT:

With NO coding to setup all the "plumbing" behind the scenes.
With NO code to make data connections.
With NO code to bind data objects to "grids" for display.
With NO code to create relationships between tables.
With NO code to query the correct columns.
With NO code to query tables across different databases.
With NO code to broadcast data changes to other clients.
With NO need to "compile"/run to test changes to functionality.
With NO need to replace HTML code to roll out newer versions.

Servoy is THE easy way to a truly Rich Internet Application.

No comments:

Web Analytics