Mark Gibbs' Web site tips, plus network applications news headlines
Developing Rich Internet Applications (RIA) is a technological minefield because choosing the right platform can make your project effective and efficient, while the wrong choice can easily produce a disaster.
But choosing a platform is tricky because what you choose depends on what the RIA is for. Complexity is one issue: How the RIA is to interact with the Web application host; the client; and what kind of communications and storage are needed are all crucial factors.
Another factor is your audience’s expectations. At one extreme are casual users such as consumers who require speed of installation and maximum client platform compatibility. At the other end are paying customers and corporate users who will judge your RIA in terms of stability and features.
The consumer end is the province of technologies such as AJAX and Flash while today’s focus, Curl, from Curl Inc., is very much a serious SaaS and enterprise RIA platform.
Curl development actually predates the Web as we know it. The origins of Curl lie in development work conducted at MIT in 1995, and for various reasons Curl took off in Japan and was acquired by Japan-based Sumisho Computer Systems in 2004.
The company now has more than 300 customers (mostly in Japan) supported by over 45 independent software vendors. In the U.S., Curl’s major business partner is Paisley, a provider of governance, risk and compliance (GRC) software solutions.
Curl is a client-side run time environment or RTE and the latest release, Curl RTE Version 5.0.2, supports all versions of Windows running MSIE 5.0+, Netscape 4.7x and 7.2, and Firefox 1.0+ (note that even if you aren’t using MSIE it must be installed for Curl to run); and Linux (Red Hat 9, SUSE 9, Turbolinux 10+) with Mozilla 1.2+, Konqueror 3.1.x+, Firefox 1.0+. There’s also a beta release of the Curl RTE for Mac OS X 10.3+ with Safari and Firefox 1.5 on both PowerPC and Intel processors.
Curl doesn’t provide server-side tools or services but supports a range of communications protocols such as HTTP/HTTPS, XML, XDM, SOAP, WSDL, and even raw TCP sockets so that integration with pretty much any host-based application is possible.
Curl RIAs are created using the Curl IDE in what the company calls pcurl format – essentially a byte code representation – that is downloaded to the RTE from a Web server using a Web browser. The pcurl code is compiled on the fly by the RTE’s just-in-time compiler and the result executed as well as being cached for future use. This latter feature means that Curl RIAs can be run even when there is no server connection. The RTE also caches data retrieved from the server making it possible to optimize access to very large data sets.
The language underlying the Curl system is also called Curl (the name comes from its use of curly braces to define its code blocks). Curl is described by a Wikibooks article as “a replacement Web page … It can also be embedded. The difference is that Curl is HTML, JavaScript AND Java - all rolled into one. I know you are thinking ‘that is the mess we have now - why do something different?’ The reason is that Curl combines these things in a unified environment. The semantics of the Declarative, Procedural and Object Orientated are unified.” The article continues, “Question - So it is HTML on steroids? / Yes. HTML (the text file Web pages language that displays most pages on the WWW) is getting messy - bits of javascript - a dash of flash, sparkle is on the horizon, XML and all sorts complicating what is very simple. Curl was designed to allow people to simply create dynamic content in a connected world.”
Mark Gibbs is a consultant, author, journalist, columnist and blogger.