Deepak Patil (Technical Director) pdeepak@iasys.co.in iasys Technologies Pvt. Ltd.
The term rich Internet application (RIA) combines the flexibility, responsiveness, and ease of use of desktop applications with the broad reach of the web. Using the broad reach of the Internet, RIAs can be deployed across browsers and desktops.
Examples of RIA technologies includes Curl, GWT, Adobe Flash/Adobe Flex/AIR, Java/JavaFX, unipaas, Mozilla's XUL Microsoft Silverlight.
Among the RIA technologies Adobe Flash Platform is the leading solution for building rich Internet applications, offering a complete set of integrated technologies supported by an established ecosystem. The Adobe Flash Platform offers businesses and developers a set of proven, flexible technologies for rapidly building effective enterprise applications that run across operating systems and browsers and integrate easily with existing infrastructure.
Comparison Ajax Cross Browser and Cross Platform dependency No Default Validation Supports No Drag Drop Facility Available Does not supports animations, transparency, layering, audio and video streaming Has to provide code security by code Session has to managed by code Most of the Ajax frameworks depends on an IDE Less efficient at passing large amounts of data Compiled css file does not support. Flex Cross Browser and Cross Platform independency Default Validation Support Drag Drop Facility Available Supports animations, transparency, layering, audio and video streaming Provided code security internally Session are managed internally Flex application can build and compile without Flex Builder using the SDK. More efficient at passing large amounts of data Compiled css file support.
These additional technologies can be used in combination with the Adobe Flash Platform to build RIAs. Adobe Flash Player Adobe Flex Builder The open source Adobe Flex framework
Adobe Flash Player software is installed on over 98% of clients in enterprises (according to analyst reports), making the Flash Platform the most consistent platform for deploying enterprise applications. Macromedia s Flash 6+ is a multi-platform plug-in installed in most Web browsers as well as an application for developing content, interfaces, and applications. Flash 6+ supports rich vector-graphics, animation, and the ability to build advanced web applications using scripting, forms, XML, and server socket connections. Flash 5 has limited support for some of these feature Sets.
2 languages MXML (actually a library of ActionScript) ActionScript 3 Compilers Debuggers Rich Component Library Flex Builder IDE Flex SDK MXML ActionScript Flex Class Library Debugger Flex Builder IDE Eclipse Plug-in or turn-key install Accelerates Design Design view and code view
Flex Builder IDE Browser Flex SDK MXML ActionScript Flash Player Flex Class Library SOAP HTTP/S AMF/S RTMP/S Compile Web Server XML/HTTP Remote Object Web Services LC Data Services J2EE Application Server Existing Applications & Infrastructure
Flex SDK provides features for accessing server-side data. We can use Flex data access components to work with three types of services: HTTP (REST-style) Services Web Services Remote Object Services Flex data access components are created in MXML or ActionScript. These components are based on service oriented architecture (SOA). These components use remote procedure calls to interact with server environments, such as PHP, Adobe ColdFusion, Java, and Microsoft ASP.NET, to provide data to Flex applications and send data to back-end data sources.
Platform Microsoft Windows 98 Windows Me Windows 2000 Windows XP Windows Server 2003 Mac OS X v.10.1.x, 10.2.x, 10.3.x, or 10.4.x Browser Microsoft Internet Explorer 5.5, Firefox 1.x, Mozilla 1.x, Netscape 7.x or later, AOL 9, Opera 7.11 or later Microsoft Internet Explorer 5.5, Firefox 1.x, Mozilla 1.x, Netscape 7.x or later, AOL 9, Opera 7.11 or later Microsoft Internet Explorer 5.x, Firefox 1.x, Mozilla 1.x, Netscape 7.x or later, CompuServe 7, AOL 9, Opera 7.11 or later Microsoft Internet Explorer 6.0, Firefox 1.x, Mozilla 1.x, Netscape 7.x or later, CompuServe 7, AOL 9, Opera 7.11 or later Microsoft Internet Explorer 6.0, Firefox 1.x, Mozilla 1.x, Netscape 7.x or later, CompuServe 7, AOL 9, Opera 7.11or later Internet Explorer 5.2, Firefox 1.x, Mozilla 1.x, Netscape 7.x or later, AOL for Mac OS X, Opera 6, Safari 1.x or later
Platform Browser Microsoft Windows Vista Microsoft Internet Explorer 7, Firefox 2.0, AOL 9, Safari 3.x or later Microsoft Windows XP Microsoft Windows Server 2003 Microsoft Windows 2000 Microsoft Windows Millennium Edition Red Hat Enterprise Linux (RHEL) 3 update 8, RHEL 4 update 4 (AS/ES/WS) Novell SUSE 9.x or 10.1 Microsoft Internet Explorer 6.0 or later, Firefox 1.x, Firefox 2.x, Mozilla 1.x or later, Netscape 7.x or later, AOL 9, Opera 7.11 or later, Safari 3.x or later Microsoft Internet Explorer 6.0 or later, Firefox 1.x, Firefox 2.x Microsoft Internet Explorer 5.x, Firefox 1.x, Firefox 2.x, Mozilla 1.x, Netscape 7.x or later, AOL 9, Opera 7.11 or later Microsoft Internet Explorer 5.5, Firefox 1.x, Mozilla 1.x, Netscape 7.x or later, AOL 9, Opera 7.11 or later Firefox 1.5.0.7 or later, Mozilla 1.7.x or later, SeaMonkey 1.0.5 or later Firefox 1.5.0.7 or later, Mozilla 1.7.x or later, SeaMonkey 1.0.5 or later
Platform Microsoft Windows Vista Microsoft Windows XP Microsoft Windows Server 2003 Browser Microsoft Internet Explorer 7.0 or later, Firefox 2.x, Firefox 3.x, AOL 9, Opera 9.5 or later, Safari 3.x, Chrome 2.0 or higher Microsoft Internet Explorer 6.0 or later, Firefox 2.x, Firefox 3.x, AOL 9, Opera 9.5 or later, Safari 3.x, Chrome 2.0 or higher Microsoft Internet Explorer 6.0 or later, Firefox 2.x, Firefox 3.x Microsoft Windows 2000 Microsoft Internet Explorer 6.0, Firefox 2.x, Firefox 3.x, AOL 9, Opera 9.5 Microsoft Windows Server 2008 Microsoft Internet Explorer 7.0 or later, Firefox 3.x Red Hat Enterprise Linux (RHEL) 5 Firefox 2.x, Firefox 3.x, SeaMonkey 1.11 Novell SUSE 9.x or 10.1 Firefox 2.x, Firefox 3.x, SeaMonkey 1.11 Ubuntu 7.10 or later or 8.04 or later Firefox 2.x, Firefox 3.x, SeaMonkey 1.11
Flex Builder IDE Desktop Files SQLite Notifications Clipboard Flex SDK MXML ActionScript AIR Client Runtime Flex Class Library SOAP HTTP/S AMF/S RTMP/S Compile & Package Web Server XML/HTTP REST SOAP Web Services LC Data Services J2EE Application Server Existing Applications & Infrastructure
There are various Flex development frameworks Cairngorm PureMVC Mate Flight
Cairngorm (pronounced \kern-gorm\) is a lightweight micro-architecture for Rich Internet Applications for Flex or AIR applications. It is not only a framework, but also an approach to organizing and packaging code, components, and a method to achieve separation of concerns (i.e. Model-view-controller). Compared to other frameworks, Cairngorm requires the most components, but it is the most straightforward.
View/Gesture Event Controller Model Command Delegate Service Server Side Java Classes
There are two ways to integrate flex in AJAX application 1. AJAX Bridge The Flex Ajax Bridge (FABridge) is a small code library that you can insert into an Flex application, a Flex component, or an empty SWF file to expose it to scripting in the browser. Rather than having to define new, simplified APIs to expose a graph of ActionScript objects to JavaScript, with FABridge you can make your ActionScript classes available to JavaScript without any additional coding. After you insert the library, essentially anything you can do with ActionScript, you can do with JavaScript.
2. External Interface The ExternalInterface class enables communication between ActionScript and Flash Player containers such as an HTML page containing JavaScript and an embedded SWF file, or an application that has the Flash Player embedded in it. The communication is available in both directions. An HTTP/JavaScript page can call an ActionScript function which can return data that the JavaScript can use or ActionScript can call JavaScript. ActionScript can call any JavaScript function passing arguments and receiving a return value from the JavaScript function. JavaScript on the HTML page can easily call an ActionScript function complete with arguments and return values.
Flex Builder IDE Browser Flex SDK MXML ActionScript Flash Player Flex Class Library HTTP/S Compile Web Server XML/HTTP J2EE Application Server
Browser Flash Player ASAM ODS - API
DEMOS ODS BROWSER Automotive Certification Testing Workflow Flex Integration into existing AJAX website