270 likes | 413 Views
Rich Internet Applications. An 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.
E N D
Rich Internet Applications An 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
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 Classification
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 Ajax Source:http://www.adaptivepath.com/publications/essays/archives/000385.php
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 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 - Features
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
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_Page (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 minutesCost: 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!! vikas.bhatia@gmail.com