Download - Rich Internet Applications An alternative in web application development with Java - Vikas Bhatia
Rich Internet ApplicationsAn alternative in web application development with Java
- Vikas Bhatia
A few points before we start
RIAs are early-adopter stuff This way of thinking is still new
and not generally accepted Its not perfect, are DTML based
apps perfect? You decide. Hold on to your preconceived
preferences Give RIA a chance
Part 1
Why do we need RIAs?
RIA – A need The limitations of the platform frustrate
users Mainly the user experience – currently, its
about a serialized, step-by-step experience Not sure its about user experience?
If its free, would you pick a no-name brand over an Apple iPod
Users will pay more for a better experience and isn't making money the bottom line
Is the end-user experience important for your application? Depends…. Are you running a scheduling system seen only by
sysadmins, once a day – maybe not so much Are you running a book store, a shopping cart, a
stock picking application, a supply chain application, an executive Dashboard – maybe so
More on RIAs Remember, its not about what the
developer wants, its always about the customer
Anyone been to home depot? Remember the Behr color chooser, it is built with OpenLaszlo
98% of all computers are supposed to have flash, even on mobile phones and ps2
source Macromedia website
RIAs can be everywhere your html app can be and more
So the question is how do we provide a better experience?
What are the options (All client side) Ajax – Asynchronous JavaScript and XML Java Web Start Canoo ULC – webstart, applets Nexaweb – xul (loosely) and applets Thinlet - applet XTT – XML Tunneling Technology – webstart?? Echo Framework Droplets – C++ client install?? OpenLaszlo – flash, xml Flex – flash, xml, action script XForms – next generation of HTML forms Isomorphic – DHTML, XML, tag-based, JavaScript XUL from Mozilla – XML tag-based Probably many more that I do not know about
Classification Java on the front
end JNLP Nexaweb (applet) Thinlet (applet) Canoo ULC (webstart
+ applet)
Non-java on the front end Ajax Flex OpenLaszlo Droplets? Echo Framework XForms – to
create forms Isomorphic –
DHTML, xml, tag-based
XUL Mozilla
Ajax Something that I
have wanted to look up for a long time
Example: Gmail, Google Maps, Google Suggest, Backbase, Ta-Da Lists, new examples everyday
Very intriguing Supposed to be for
experienced web programmers
Source:http://www.adaptivepath.com/publications/essays/archives/000385.php
Why to use RIA
What! Another new technology?
This is bound to happen Have you looked at java lately,
hibernate, webservices, countless xml specifications, EJB, etc..
Does it ever stop?
Costs Learning curve involved You have to change the way you have been
brought up to think about web applications You can go hybrid
HTML + RIA possible Development costs, licensing costs, training
costs, SQA costs Acceptance by the customer
If you believe it, you can sell it The customer (end user) will look for a better user
experience (besides the actual functionality) The customer (sys admin) will look for
performance, which is comparable in my view to HTML apps, if not better
Part 2
Open OpenLaszlo
What is OpenLaszlo The OpenLaszlo platform allows developers
to create rich user interface capabilities of desktop client software and the instantaneous no-download web deployment of HTML source OpenLaszlo Wiki
Open Source (Java, JavaScript, XML, action script)
OpenLaszlo isn’t Flash – just uses Flash 6.0+ as runtime; could change
Clients: Earthlink, Yahoo, Behr Paint, La Quinta, many more…
Demo time Contacts, Amazon, Dashboard, Calendar,
LaszloLucene Photoblox, WeatherBlox, Laszlo systems front
page
Do I have to learn a new language with OpenLaszlo? Language – no, its XML and
JavaScript Syntax - yes
Why Flash over Java applets
Unfortunately, applets still have a stigma associated with them
Even after all these years, still clunky Little industry momentum towards
Java applets My opinion: Java rocks on the server
side, not so much on the client side The runtime environment for lzx could
be changed later on to applets, C++, C#, SVG (see the OpenLaszlo wiki)
OpenLaszlo Architecture
Source: OpenLaszlo
OpenLaszlo Data Flow
Source: Laszlo Systems
OpenLaszlo Development Cycle
Source: OpenLaszlo
OpenLaszlo - Features OpenLaszlo in 10
minutes Proxied and SOLO
Deployment Data Management
XPath support Objects and Classes Event Management
Delegates State management
Animations Components
Custom components
Scripting support Font support Mouse and
keyboard click management
Drag and drop Browser integration KRANK Feature Persistent
Connections Cache Management Import vs. Include
OpenLaszlo Data Binding Data in LZX
Embed data directly in the application Directly XML file
Sending/receiving data at runtime to a remote data source
Sending/receiving data at runtime to a remote web service
OpenLaszlo RPC Java RPC SOAP XML RPC
OpenLaszlo Caching Bandwidth used with OpenLaszlo is normally
less than that used for HTML based applications since only data is passed back and forth once the application has been downloaded on the client
Client side caching Server side caching Gzip compression
IBM IDE for OpenLaszlo
Limitations of OpenLaszlo
No graphs/charts yet Coming very soon
Lack of i18n Unicode support in 3.0 Work in progress
Performance needs work, on a daily basis (not detrimental) Takes time to get used to the rules
Learn more http://www.openlaszlo.org/wiki/Main_P
age (wiki, mailing lists)
http://www.laszlosystems.com/ (Laszlo Systems)
http://www.laszlosystems.com/developers/community/forums/ (Forums)
http://alphaworks.ibm.com/tech/ide4laszlo (IBM IDE4Laszlo)
Free Webinar Going SOLO Thursday, June 2, 2005 2:00 p.m. EDT / 11:00
a.m. PDT Duration: 30 minutes
Cost: Free
Conclusion – Part 1
Rich Internet Applications Here to stay User experience is important, there
is no denying it Will not supplant HTML based apps Needs work and acceptance by
developers Production ready
Conclusion – Part 2 OpenLaszlo
Enthusiastic developer community Has lots of potential Performance can certainly be
improved by the developer, but it takes work the first time, not so much the next time
Has good community support It IS open source It does what it says Production ready
Thanks, I appreciate your time!!