Pages

Showing posts with label ria. Show all posts
Showing posts with label ria. Show all posts

Model Driven Development in Adobe RIA and Eclipse RCP new thoughts

I had a chance to attend Adobe Dev Summit 09 Hyderabad. Among the plethora of Adobe "hoo-hah" products for the new age developers, a very good demo caught my attention. Model driven development in Adobe. Adobe is investing a lot in rooting themselves in the enterprise arena by their Adobe Livecycle stack.

The product has a LiveCycle Workbench ES to integrate with Flex studio which is an Eclipse based development environment. RIA has find its way to enterprise as Web 2.0 has moved from a hype to a standard development use case.But for me, the attention grabber is the powerful Eclipse development environment.More than an IDE, it is a wonderful platform for developing powerful applications with its handy plug-in architecture and widgets.From simple RSS readers to Rational platform, eclipse has its magic hand.

RIA for desktop is AIR.If one develops app in AIR we wont be able to use native widgets, as the runtime provides them.But we can access native windows . Also from the AIR2 next api release it is possible to run native applications from AIR.

What about RCP ? It has SWT runtime component uses native widgets..We may think most of the RCP apps will look like the dry eclipse IDE look and feel... Nope !



See the look of Lotus Domino with the power of custom skinning. Lotus Software has been purchased by IBM and has put a lot of resources to continue the development of different Lotus components (such as Domino and Notes). The UX feel of applications based on Eclipse 4 would be amazing.The upcoming e4 architecture of Eclipse is a promising space for next generation eclipse based applications.User experience guidelines for IBM Lotus rich client applications and plug-ins is here


There has always been a rivalry between desktop and web applications. Both of these genre of applications fight to conquer the business space farmed across the computing world.Web apps want to be in desktop and desktop apps want be in we.Its a fame race. RCP has got a wide enterprise users.The choice of RIA or RCP depends on use case.GWT and Flex in web are good in data visualizations. But 2D and 3D will require the power of native processors. The RCP could make use of Java 2D.There are a lot of solutions in market. More choice more pain ! So I may write about them later.

In the demo (Adobe Max)




rich data model can be modelled and exposed as a crud application with a rich UI
Similar presentation was done by Sujith Reddy where the presentation slides he shared

In Eclipse the model driven development is accomplished using EMF - Eclipse Modelling Framework.It provides an API to access the models. Access models by reflection and dynamic creation are possible.As it goes with RCP,it is like an UI for domain objects.The MVC architecture is done through EMF.It can make use of hibernate, JPA or eclipse link.

As seen in the demo, Flex became the UI of the model.

But there are developments going on in eclipse RCP framework. As Flex SDK is open source these eclipse guys wrote programs to create java for flash !

E4 ?

e4 is the incubator for Eclipse 4.0, to be released 2010 built on current Eclipse and OSGi technology as a solid foundation.

Use of web styling technology (CSS), allows the presentation of user interface elements to be infinitely tweaked and reconfigured without any modification of application code.

This is bringing Eclipse runtime technology into the JavaScript world, and enabling
software written in JavaScript to be executed in the Eclipse runtime.

E4 comes with a framework for defining the design and structure of Standard Widget Toolkit (SWT) applications declarative.This eliminates writing of repetitive boilerplate SWT code, thus reducing development cost, improving UI consistency, and enabling customized application rendering. Plug-ins are coded in Java. A typical plug-in consists of Java code in a JAR library, some read-only files, and other resources such as images, web templates, message catalogs, native code libraries, etc

E4/Eclipse Application Services
-Eclipse APIs are refactored to services which should be offered as separate, independent APIs, so that clients can make use of them without having to buy into all of them. Structuring them as individual services also makes it easier to use them from other languages / environments such as e.g. JavaScript. In service programming models the consumers receive dependencies via dependency injection. This theoretically allows application code to completely eliminate its dependency on a particular container technology, thus enabling greater reuse.

Modeled UI - The E4 user interface is model based; everything that appears in the presentation is backed by a representation in the UI Model.

To that end, e4 is investigating bringing both the benefits of Eclipse to the JavaScript world (modularity, extensibility, and tooling), and JavaScript components into the Eclipse desktop environment.OSGi modularity makes integration of JavaScript Bundles easier.

Use of CSS and declarative styling a pluggable styling engine is used to customize the fonts, colors, and other aspects of widget presentation.

SWT Browser Edition- zero install widgets like RAP in which a JavaScript library (qooxdoo) is running on the client, rendering widgets that are manipulated from Java running on the server or Java is cross-compiled to Flex (ActionScript), Dojo (JavaScript) and Silverlight (.NET) technologies which is a "GWT-like" (Google Web Toolkit) approach.

This shows E4 SWT Java for Flash




More demos

Workbench - perspectives, toolbars, menus, parts. The e4 workbench greatly increases flexibility for application designers by providing a formal model of the elements that comprise an instance of the workbench.

XML UI for SWT (XWT), is a framework for writing SWT widgets declaratively in XML. In XWT, the complete structure of an application or widget hierarchy is expressed declaratively, along with bindings of the widgets to some underlying application model or to Java-based call-backs implementing the widget behavior.

More RCP apps

Few videos i liked from Mix 09

I have worked on some .NET RIA projects before.I saw some videos from Mix09, and sharing some I liked.

Building a Rich Social Network Application


Learn how to build a social networking site using Microsoft Silverlight.Also explains how to mash up existing services, how to tag and store data in back-end services,and how to build a rich and engaging experience.






Get Microsoft Silverlight











Get Microsoft Silverlight


Visit this website for different ux patterns



http://quince.infragistics.com




There are different patterns for designing an application .See this video for how to enable rich communication patterns between your AJAX Web pages and Web server using existing and new features in WCF, Windows Communication Foundation.






Get Microsoft Silverlight





I have written about RESTful services before.In this video, look for ADO.NET Data Services matching REST.






Get Microsoft Silverlight


For Three Tier RIA Pattern

Curl : curling the new future of RIA


We now hear the tolling bells of rich internet applications.Market is pacing towards the immense possibilities bred by the new technologies to develop rich applications in desktop.Past was client server computing.Now the door opens to web services and desktop internet applications.We do feel comfortable with desktop applications than internet pages.So the convergence of the possibilites opened by these innovations are harnessed effectively for marketing new products.
The technologies like Ajax, Mozilla Prism, Google Gears Adobe AIR,Microsoft Silverlight are racing in this field.Along comes Dekoh , an indgenous platform from Pramati,India.Another one Curl, web oriented language and platform from Curl Inc popular in Japan.

Curl is taking on Adobe AIR for the rich Internet application (RIA) Web/desktop application development market with a project named Nitro.The Curl Nitro package is delivered in the form of the client run time environement and an IDE for developing the apps with the Curl language. All the components are downloadable and free at here

Nitro provides the essential capabilities of the Fit Client such as support for rich user interfaces, complex application logic, and agile development.Important thing is that it is a platform that supports Curl, Ajax, and Flex applications on-line or off-line, browser based or desktop based.
So this is an all in one solution.Curl is a prominent choice for mission-critical applications that use large data sets and require 3D and 2D rendering, sophisticated data input and visualization.Yep,the applet technolgy is back.

Curl, started off as an research project for MIT's Laboratory for Computer Science, under the direction of Professor Steve Ward in 1998.. Curl was purchased by Sumisho Computer Systems of Japan, which migrated the company to Tokyo.

Curl looks like a markup language but is an object-oriented programming language supporting multiple inheritance, strong typing, and just-in-time compilation. Like so many other Web systems, it requires a run-time engine that is downloaded to client computers.Curl has a good formatting functionality which is extendable.It comes with an interface toolkit which makes easy to develop web pages.Recently they came up with a benchmark test results showing that the language is faster than actionscript.Performance test was done as taking a snapshot of a dashboard and displayed in user desktop.Results shows shows that a large image of 2560 x 1920 resolution with 4.92 Mpx is encoded within 2 seconds while Flex took more than 11 seconds.
Therefore Curl can be good soultion for developing interfaces for visualization industry.Let us watch new applications born out of Curl.