<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4436598114506323700</id><updated>2011-07-07T23:41:56.758-07:00</updated><category term='cargo loader'/><category term='javafx'/><category term='jquery'/><category term='ACID Test'/><category term='hibernate'/><category term='beechcraft 1900c'/><category term='zembly'/><category term='charts'/><category term='RIA'/><category term='spring'/><category term='social programming'/><category term='httpinvoker'/><title type='text'>The endless repaint.</title><subtitle type='html'>This is a representational state of my thoughts on technologies I have worked on or I am willing to work on or may be something that I am exploring lately!!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dukesrepaint.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4436598114506323700/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dukesrepaint.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Abhilshit</name><uri>http://www.blogger.com/profile/03156088044857733772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4436598114506323700.post-5694062363931558171</id><published>2010-05-25T13:43:00.000-07:00</published><updated>2010-09-17T14:48:26.668-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cargo loader'/><category scheme='http://www.blogger.com/atom/ns#' term='beechcraft 1900c'/><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><category scheme='http://www.blogger.com/atom/ns#' term='javafx'/><title type='text'>Yet another JavaFX App !</title><content type='html'>Being a Java EE developer,I am always attracted towards the "grass on the other side" :P . I have been working on a JavaFX app, which tries to solve a typical engineering problem of loading cargo containers to a &lt;a href="http://www.hawkerbeechcraft.com/"&gt;BeechCraft&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Beechcraft_1900"&gt;1900C&lt;/a&gt; cargo airplane. Although the aircraft data and equations are taken from the authentic &lt;a href="http://www.faa.gov/"&gt;FAA&lt;/a&gt;  &lt;a href="http://www.faa.gov/library/manuals/aircraft/media/faa-h-8083-1a.pdf"&gt;weight and balance handbook&lt;/a&gt; (see Chapter 7 , page 60) , this application is not intended to be used for realtime cargo loading as it is just for JavaFX demo purposes and does not guarantee the accuracy of data and calculations. I must say again, being a newbie to the language its fun to learn JavaFX. Although I still regret not  visiting Amy Fowlers &lt;a href="http://amyfowlersblog.wordpress.com/2010/04/30/javafx-1-3-taming-the-layout-beast/"&gt;blog post&lt;/a&gt;  during the early stages of this app .  Shown below is the screen-shot of the work done till date. Shown on the upper left side of the screen-shot are cargo containers which are supposed to be loaded on the horizontal cross section of Beechcraft main deck  shown on the center-top. The parallel red blocks denotes left and right position of sections where cargo containers can be placed. Just below the red bloc&lt;a href="http://1.bp.blogspot.com/_hj1rGjg4yMw/TJPV-UPuLSI/AAAAAAAAADU/lVKMs0Q2xGc/s1600/beechcraft-cl.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 410px; height: 291px;" src="http://1.bp.blogspot.com/_hj1rGjg4yMw/TJPV-UPuLSI/AAAAAAAAADU/lVKMs0Q2xGc/s320/beechcraft-cl.png" alt="" id="BLOGGER_PHOTO_ID_5517989235022245154" border="0" /&gt;&lt;/a&gt;ks is a scale which shows the section names and their distance in inches from a reference point referred as 'Datum' which in our case is aircraft's nose. So starting from Nose at 0 inches from datum , the tail of the aircraft  is at 533 inches. The cargo containers are of different weights which can be seen by a mouse-hover tool-tip. User can drag these containers and place it on the aircraft's deck , which recalculates the center of gravity of the aircraft. The line chart on the lower right is Weight vs CG chart.It is actually combination or 3 overlapped line charts, One is in  which the polygons are drawn, 2nd is with no data , but with X and Y axis on opposite sides, and the 3rd one contains just one yellow dot. The polygons drawn inside these charts are operational center of gravity limits defined by aircraft manufacturer. The yellow dot in the chart denotes the current center of  gravity of the aircraft  which gets updated when you place a container on the deck, The yellow dot(CG) should fall within these polygons (operational limits), otherwise the aircraft is either nose heavy or tail heavy. The data grid in the center is  the  XTableView control from &lt;a href="http://code.google.com/p/jfxtras/"&gt;JFXtras &lt;/a&gt;library (they have some nice controls and utilities for JavaFX). Parameters in this table are dynamically updated when the container is placed on the deck . The pie-chart on the lower left shows the total traffic weight of an aircraft by showing weight covered by each section of the deck. You can also click on these charts to get a larger view. Double click the dropped container to revert it back from the deck to the container panel.  Just below the Main Deck is a JavaFx Toolbar component which contains normal and toogle buttons styled using an external CSS file. A user can revert back all the placed containers by clicking on the "Reset Containers" button. The animation on drag-drop can be toggled using the "Disable Animation" button on the toolbar. By default  weight of each cargo containers can bee seen on the tool-tip displayed by the mouse-hover, optionally one can choose to quick view/hide weights on the containers by toggling the "View Weights" . Do check out the help and about buttons for more information about the application.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;                                                                    &lt;a href="https://sites.google.com/site/dukesrepaint/fxpages/cargoloader.jnlp"&gt;Launch Application&lt;/a&gt;   |   &lt;a href="http://code.google.com/p/jfxtras/source/browse/?repo=samples#hg/CargoLoader"&gt;Checkout Source code&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I am improving this application when ever I get free time and I will be updating the source code to JFxtras repository to ensure its compatibility with future releases of  JavaFx Please let me know your valuable feedback.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4436598114506323700-5694062363931558171?l=dukesrepaint.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dukesrepaint.blogspot.com/feeds/5694062363931558171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4436598114506323700&amp;postID=5694062363931558171' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4436598114506323700/posts/default/5694062363931558171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4436598114506323700/posts/default/5694062363931558171'/><link rel='alternate' type='text/html' href='http://dukesrepaint.blogspot.com/2010/05/yet-another-javafx-app.html' title='Yet another JavaFX App !'/><author><name>Abhilshit</name><uri>http://www.blogger.com/profile/03156088044857733772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_hj1rGjg4yMw/TJPV-UPuLSI/AAAAAAAAADU/lVKMs0Q2xGc/s72-c/beechcraft-cl.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4436598114506323700.post-2013871861922133590</id><published>2010-02-18T05:49:00.000-08:00</published><updated>2010-03-24T06:12:45.493-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='charts'/><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><category scheme='http://www.blogger.com/atom/ns#' term='javafx'/><title type='text'>My first experience with JavaFx Charts</title><content type='html'>In one of my previous projects I was involved in developing a 2D line chart which shows the center of gravity of large cargo aircrafts like Airbus A380 and  Boeing 747  etc .We used Java2D with more than a thousand lines of code and &lt;a href="http://docs.jboss.org/richfaces/3.3.2.GA/en/tlddoc/richfaces/paint2D.html"&gt;Richfaces paint2D&lt;/a&gt; to draw it as an image on a JSF web page .Being a newbie to the language, I was just wondering how much effort can it take to develop such a  chart in JavaFx . I finally managed some time to try it out. So this chart is a Weight vs. Index chart where weight of the aircraft is on the y-axis and change in center of gravity index is on the x-axis. The polygons drawn inside the chart reflect the structural limits of an aircraft. If your current (index,weight) point falls outside these polygons in a certain condition, than the aircraft cannot fly because it is either nose-heavy or tail-heavy so it will crash.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hj1rGjg4yMw/S36cBDzrCfI/AAAAAAAAAA8/fmvk0fOWQv0/s1600-h/envelope.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 311px;" src="http://4.bp.blogspot.com/_hj1rGjg4yMw/S36cBDzrCfI/AAAAAAAAAA8/fmvk0fOWQv0/s320/envelope.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5439956941925976562" /&gt;&lt;/a&gt;&lt;br /&gt;I  was able to create the chart shown in the image above with almost 105 lines of code excluding the data inputs,in almost 3 hours. JavaFX charting takes care of drawing axis and tickmarks, tickmark gaps, axis and axis-label gaps,  scaling factors, title, legend attributes and many more things like anti-aliasing and drop shadows. You just need to bother about configuring it and  providing the chart data.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Launch it here. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://sites.google.com/site/dukesrepaint/fxpages/Envelope.jnlp"&gt;&lt;img  src="http://sites.google.com/site/dukesrepaint/fxpages/jws-launch-button.jpg" alt="Launch Image" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sites.google.com/site/dukesrepaint/fxpages/Envelope.zip"&gt;Download source code&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4436598114506323700-2013871861922133590?l=dukesrepaint.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dukesrepaint.blogspot.com/feeds/2013871861922133590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4436598114506323700&amp;postID=2013871861922133590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4436598114506323700/posts/default/2013871861922133590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4436598114506323700/posts/default/2013871861922133590'/><link rel='alternate' type='text/html' href='http://dukesrepaint.blogspot.com/2010/02/my-first-experience-with-javafx-charts.html' title='My first experience with JavaFx Charts'/><author><name>Abhilshit</name><uri>http://www.blogger.com/profile/03156088044857733772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_hj1rGjg4yMw/S36cBDzrCfI/AAAAAAAAAA8/fmvk0fOWQv0/s72-c/envelope.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4436598114506323700.post-6184695225756893660</id><published>2009-11-21T12:55:00.000-08:00</published><updated>2009-11-21T13:37:41.658-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social programming'/><category scheme='http://www.blogger.com/atom/ns#' term='zembly'/><title type='text'>Bye Bye Zembly :(</title><content type='html'>This is in the memory of my favourite social programming platform &lt;a href="http://zembly.com/"&gt;Zembly&lt;/a&gt; which was an interesting attempt of &lt;a href="http://sun.com/"&gt;Sun Microsystems&lt;/a&gt; making easy writing the applications for social platforms such as Facebook, Orkut, Meebo, OpenSocial and the iPhone by sharing services and widgets with the developer community. One of &lt;a href="http://dukesrepaint.blogspot.com/2009/05/fxpiano.html"&gt;my blog post&lt;/a&gt; posted earlier this year, has a JavaFX Piano widget hosted on Zembly , and one of the JQuery games which I couldnt manage to finish :( . So far I dont know clearly why its being shut down, below is an excerpt from the mail which I received from Sun. &lt;br /&gt;&lt;br /&gt;"&lt;span style="color: rgb(0, 0, 102);"&gt;We regret to inform you that on November 30th, 2009 we will be suspending this service.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;More than three years ago, we started this project with the goal of making it easy to create next-generation Web apps. Our original tagline was "Build the web, using the web," and the ideas we were incubating around platform-mediated Web applications, Web API mashups, and social programming were brand new.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;&lt;br /&gt;We learned a lot along the way. Your confidence and enthusiasm helped us improve the project and do amazing things that we never imagined when we began this journey.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;Thank you to everyone who's been with us through the ups and downs. It's heartening to see that many of the best ideas pioneered in zembly have started to appear elsewhere. With your support, we're proud to have contributed to the DNA of the Web.&lt;/span&gt; "&lt;br /&gt;&lt;br /&gt;All I want to say to the Zembly team is that,hats off to you people, you guys built an incredible social programming platform. I had learned a lot by cloning widgets contributed by you guys.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4436598114506323700-6184695225756893660?l=dukesrepaint.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dukesrepaint.blogspot.com/feeds/6184695225756893660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4436598114506323700&amp;postID=6184695225756893660' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4436598114506323700/posts/default/6184695225756893660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4436598114506323700/posts/default/6184695225756893660'/><link rel='alternate' type='text/html' href='http://dukesrepaint.blogspot.com/2009/11/bye-bye-zembly.html' title='Bye Bye Zembly :('/><author><name>Abhilshit</name><uri>http://www.blogger.com/profile/03156088044857733772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4436598114506323700.post-3202670142962792553</id><published>2009-09-04T12:48:00.001-07:00</published><updated>2010-08-11T16:49:55.231-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='spring'/><category scheme='http://www.blogger.com/atom/ns#' term='httpinvoker'/><category scheme='http://www.blogger.com/atom/ns#' term='javafx'/><title type='text'>JavaFX 1.2+ Spring + Hibernate</title><content type='html'>Related to &lt;a href="http://groups.google.com/group/bojug/browse_thread/thread/def7dc8c29e099c6/a71b5b3d576bf952?show_docid=a71b5b3d576bf952&amp;amp;pli=1"&gt;discussions going on in BoJUG&lt;/a&gt;, I was tempted to develop a Proof-of-Concept for using JavaFX as view technology in a web application backed by spring and hibernate stack . Well Spring already provides remoting support for communicating to rich clients. Currently,spring supports &lt;a href="http://static.springsource.org/spring/docs/1.2.x/reference/remoting.html."&gt;four remoting technologies &lt;/a&gt;.&lt;br /&gt;In my application, I am using Spring's HTTP Invoker which allows for Java serialization via HTTP, supporting any Java interface (just like the RMI invoker). The corresponding support classes are&lt;br /&gt;&lt;br /&gt;1) org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean&lt;br /&gt;&lt;br /&gt;is a factory bean for HTTP invoker proxies. It behaves like the proxied service when used as bean reference, exposing the specified service interface. Serializes remote invocation objects and deserializes remote invocation result objects.&lt;br /&gt;&lt;br /&gt;2) org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter&lt;br /&gt;&lt;br /&gt;is an HTTP request handler that exports the specified service bean as HTTP invoker service endpoint, accessible via an HTTP invoker proxy.It deserializes remote invocation objects and serializes remote invocation result objects.&lt;br /&gt;&lt;br /&gt;I started of with developing an application that fetches and displays  employee data using JavaFX,Spring and Hibernate.&lt;br /&gt;The whole application was developed as 2 separate Netbeans projects.&lt;br /&gt;&lt;br /&gt;1)empFXClient : is a JavaFX application.&lt;br /&gt;2)empRemote: is a web application that uses empFXClient as view by embedding it as an applet inside a web page.&lt;br /&gt;&lt;br /&gt;You can browse the code for both the projects online &lt;a href="http://kenai.com/projects/fxspring/sources/svn-repository/show/trunk"&gt;here&lt;/a&gt; . If you have Netbeans 6.5 and/or an SVN client then you can check out both the netbeans projects locally from kenai using the following URL and play with it.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://kenai.com/svn/fxspring%7Esvn-repository"&gt;https://kenai.com/svn/fxspring~svn-repository&lt;/a&gt; (requires kenai registeration)&lt;br /&gt;&lt;br /&gt;We require 2 config files on the server side&lt;br /&gt;1)web.xml&lt;br /&gt;&lt;pre class="brush:xml"&gt;&lt;web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"&gt;&lt;context-param&gt;&lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;&lt;br /&gt;&lt;param-value&gt;/WEB-INF/empapp-servlet.xml&lt;/param-value&gt;&lt;br /&gt;&lt;/context-param&gt;&lt;br /&gt;&lt;listener&gt;&lt;br /&gt;&lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;&lt;br /&gt;&lt;/listener&gt;&lt;br /&gt;&lt;servlet&gt;&lt;br /&gt;&lt;servlet-name&gt;empapp&lt;/servlet-name&gt;&lt;br /&gt;&lt;servlet-class&gt;org.springframework.web.servlet.DispatcherServlet&lt;/servlet-class&gt;&lt;br /&gt;&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;&lt;br /&gt;&lt;/servlet&gt;&lt;br /&gt;&lt;servlet-mapping&gt;&lt;br /&gt;&lt;servlet-name&gt;empapp&lt;/servlet-name&gt;&lt;br /&gt;&lt;url-pattern&gt;/empapp/*&lt;/url-pattern&gt;&lt;br /&gt;&lt;/servlet-mapping&gt;&lt;br /&gt;&lt;session-config&gt;&lt;br /&gt;&lt;session-timeout&gt;30&lt;/session-timeout&gt;&lt;br /&gt;&lt;/session-config&gt;&lt;br /&gt;&lt;welcome-file-list&gt;&lt;br /&gt;&lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;&lt;br /&gt;&lt;/welcome-file-list&gt;&lt;br /&gt;&lt;/web-app&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;2)empapp-servlet.xml&lt;br /&gt;&lt;pre class="brush:xml"&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--     Document   : applicationcontext-remote.xml     Created on : June 23, 2009, 11:33 AM     Author     : Abhilshit.Soni     Description:         Purpose of the document follows. --&gt;&lt;br /&gt;&lt;beans xmlns="http://www.springframework.org/schema/beans" xsi="http://www.w3.org/2001/XMLSchema-instance" aop="http://www.springframework.org/schema/aop" tx="http://www.springframework.org/schema/tx" schemalocation="        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"&gt;&lt;br /&gt;&lt;br /&gt;  &lt;bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" method="close"&gt;&lt;br /&gt;      &lt;property name="driverClassName" value="com.mysql.jdbc.Driver"&gt;&lt;br /&gt;      &lt;property name="url" value="jdbc:mysql://localhost:3306/test"&gt;&lt;br /&gt;      &lt;property name="username" value="root"&gt;&lt;br /&gt;      &lt;property name="password" value=""&gt;&lt;br /&gt;  &lt;/property&gt;&lt;br /&gt;  &lt;bean id="myHibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"&gt;&lt;br /&gt;      &lt;property name="sessionFactory"&gt;&lt;br /&gt;          &lt;ref local="mySessionFactory"&gt;&lt;br /&gt;      &lt;/ref&gt;&lt;br /&gt;  &lt;/property&gt;&lt;br /&gt;  &lt;bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt;&lt;br /&gt;      &lt;property name="dataSource" ref="myDataSource"&gt;&lt;br /&gt;      &lt;property name="mappingResources"&gt;&lt;br /&gt;          &lt;list&gt;&lt;br /&gt;              &lt;value&gt;com/empapp/persistence/Employee.hbm.xml&lt;/value&gt;&lt;br /&gt;          &lt;/list&gt;&lt;br /&gt;      &lt;/property&gt;&lt;br /&gt;      &lt;property name="hibernateProperties"&gt;&lt;br /&gt;          &lt;value&gt;&lt;br /&gt;      hibernate.dialect=org.hibernate.dialect.MySQLDialect&lt;br /&gt;          &lt;/value&gt;&lt;br /&gt;      &lt;/property&gt;&lt;br /&gt;  &lt;/property&gt;&lt;br /&gt;&lt;br /&gt;  &lt;bean id="empFetchService" class="com.empapp.service.EmpFetchServiceImpl"&gt;&lt;br /&gt;      &lt;property name="employeeDAO"&gt;&lt;br /&gt;          &lt;ref bean="employeeDAO"&gt;&lt;br /&gt;      &lt;/ref&gt;&lt;br /&gt;  &lt;/property&gt;&lt;br /&gt;&lt;br /&gt;  &lt;bean id="employeeDAO" class="com.empapp.persistence.dao.EmployeeDaoImpl"&gt;&lt;br /&gt;      &lt;property name="hibernateTemplate"&gt;&lt;br /&gt;          &lt;ref bean="myHibernateTemplate"&gt;&lt;br /&gt;      &lt;/ref&gt;&lt;br /&gt;  &lt;/property&gt;&lt;br /&gt;&lt;br /&gt;  &lt;bean name="/EmpFetchService-httpinvoker" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter"&gt;&lt;br /&gt;      &lt;property name="service" ref="empFetchService"&gt;&lt;br /&gt;      &lt;property name="serviceInterface" value="com.empapp.service.EmpFetchService"&gt;&lt;br /&gt;  &lt;/property&gt;&lt;br /&gt;&lt;br /&gt;&lt;/property&gt;&lt;br /&gt;&lt;/bean&gt;&lt;/bean&gt;&lt;/bean&gt;&lt;/bean&gt;&lt;/bean&gt;&lt;/property&gt;&lt;/property&gt;&lt;/property&gt;&lt;/bean&gt;&lt;/beans&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Spring Http invoker uses Java serialization just like RMI, but provides the same ease of setup&lt;br /&gt;as Caucho's HTTP-based Hessian and Burlap protocols. As springs api docs says "HTTP invoker is the recommended protocol for Java-to-Java remoting.&lt;br /&gt;It is more powerful and more extensible than Hessian and Burlap, at the expense of being tied to Java. Nevertheless, it is as easy to set up as Hessian and Burlap, which is its main advantage compared to RMI".&lt;br /&gt;&lt;br /&gt;There is a nice example available which shows integrating JavaFX with JBoss Seam/spring using Flamingo DS through Hessian protocol. http://java.dzone.com/articles/javafx-and-seam-flamingo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4436598114506323700-3202670142962792553?l=dukesrepaint.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dukesrepaint.blogspot.com/feeds/3202670142962792553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4436598114506323700&amp;postID=3202670142962792553' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4436598114506323700/posts/default/3202670142962792553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4436598114506323700/posts/default/3202670142962792553'/><link rel='alternate' type='text/html' href='http://dukesrepaint.blogspot.com/2009/09/javafx-spring-hibernate.html' title='JavaFX 1.2+ Spring + Hibernate'/><author><name>Abhilshit</name><uri>http://www.blogger.com/profile/03156088044857733772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4436598114506323700.post-7507546572375340226</id><published>2009-05-15T13:26:00.001-07:00</published><updated>2009-05-17T11:26:46.324-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='javafx'/><category scheme='http://www.blogger.com/atom/ns#' term='zembly'/><title type='text'>JavaFX and JQuery Widgets with Zembly</title><content type='html'>Since, I attended the &lt;a href="http://bojug.wikispaces.com/"&gt;BOJUG &lt;/a&gt;meet on JavaFX in Dec 2008 ,I was very excited about trying it out. Finally I managed to get some time to work on it.I found it easy and fun to learn as it is almost like writing Java2D code in a more sophisticated form. I was looking out for ways to create something that can be shared across blogging and other social networking sites something like flash widgets but not in flash.Being a Java developer it looks very scary to me ;). Then almost a month and a half back I got to know about this new browser based social programming environment  &lt;a href="http://zembly.com"&gt;&lt;span style="color: rgb(153, 51, 153); font-weight: bold;"&gt;Zembly&lt;/span&gt;&lt;/a&gt; from &lt;a href="http://www.sun.com"&gt;Sun Microsystems&lt;/a&gt;. I was not fully aware of how these widgets are published simultaneously on various social networks.But after exploring Zembly I found creating these kind of widgets very easy and interesting.My interest dragged me to write these two small apps which are published on Blogger and iGoogle using Zembly.&lt;br /&gt;Added below is a JavaFX piano which can be played through keyboard(use Keys:A,W,E,D,R,T,G,Y,U,J,I,O,L to play various piano keys) or through mouse. &lt;/divs &gt;&lt;br /&gt;I will be posting the link to download the FXPiano netbeans project very soon.&lt;br /&gt;&lt;script type="text/javascript" src="http://widgets.clearspring.com/o/4a0da12d57ae555a/4a0e0a75dc804515/4a0da12d57ae555a/2c2b3d89/widget.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;                  FXPiano&lt;br /&gt;&lt;br /&gt;The (kind of) game widget added below uses jQuery for animation and effects.It is not yet fully completed.&lt;br /&gt;&lt;script type="text/javascript" src="http://widgets.clearspring.com/o/4a0e08b5e2fe426b/4a0e08de95bdc21b/4a0e08b5e2fe426b/1211d30/widget.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Game(under development)&lt;br /&gt;&lt;br /&gt;While working on both the apps I found zemblys JavaScript/CSS/(X)HTML editor support really good. It provides code completion on CTRL+Space just like netbeans . The default javascript editor also provides applet based syntax highliting. Apart from the default editor they also have Mozilla labs &lt;a href="http://labs.mozilla.com/projects/bespin/"&gt;Bespin&lt;/a&gt; editor which is also light weight and provides awesome syntax highliting. &lt;br /&gt;&lt;br /&gt;Zembly simply rocks because of some basic features like "Clone and Edit","Preview Widget" which allows you to clone ,play and preview any widget developed by somebody else. It helped beginners like me a lot. Moreover it provides many inbuilt templates like NewsTicker, FeedScroller, GoogleMapMaker,3D-PhotoCarousel,YouTube Video Player etc. which are ready to use vanilla templates ,all you need to do is just customize according to your requirement. Zembly is huge, I am yet to try developing full fledged FaceBook and Meebo Apps which I will be looking forward to do now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4436598114506323700-7507546572375340226?l=dukesrepaint.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dukesrepaint.blogspot.com/feeds/7507546572375340226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4436598114506323700&amp;postID=7507546572375340226' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4436598114506323700/posts/default/7507546572375340226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4436598114506323700/posts/default/7507546572375340226'/><link rel='alternate' type='text/html' href='http://dukesrepaint.blogspot.com/2009/05/fxpiano.html' title='JavaFX and JQuery Widgets with Zembly'/><author><name>Abhilshit</name><uri>http://www.blogger.com/profile/03156088044857733772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4436598114506323700.post-3611281299184743766</id><published>2008-11-22T03:13:00.000-08:00</published><updated>2009-07-01T15:00:04.390-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ACID Test'/><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><title type='text'>Web browsers and RIAs</title><content type='html'>&lt;span style="font-family: arial;"&gt;&lt;/span&gt;With smart and good looking AJAX sites becoming more prevalent on the web . The only restriction for Ajax developers now is browser compatibility and when it comes to Internet Explorer 5 ,6 and 7 its has became a nightmare for Ajaxians . As Web 2.0 mainly relies on Ajax and complex JS libraries the speed of a web browser's JavaScript interpretation and rendering is becoming more and more important . According to various web benchmarks for w3 standards all of them shows IE slowest browser when it comes to JavaScript and CSS interpretation and rendering(&lt;a href="http://acid3.acidtests.org"&gt;http://acid3.acidtests.org&lt;/a&gt; , &lt;a href="http://www2.webkit.org/perf/sunspider-0.9/sunspider.html"&gt;http://www2.webkit.org/perf/sunspider-0.9/sunspider.html&lt;/a&gt;&lt;/cite&gt;).  With Google and Yahoo having most of its stake with AJAX based applications these days , Microsoft has also turned a bit with AJAX implementation of Live.com and according to this post &lt;a href="http://blogs.msdn.com/ie/archive/2006/08/28/728654.aspx"&gt;http://blogs.msdn.com/ie/archive/2006/08/28/728654.aspx&lt;/a&gt; they are also trying to improve their JScript engine due to world wide criticism of the browser.  Anyways with powerful Javascript engines like Tracemonkey for  FF3 , V8 for Chrome and Safari's SquirrelFish in the market , AJAX is never  going to die.&lt;br /&gt;&lt;br /&gt;But when it comes to RIAs  I sometimes feel that web browsers like IE are not the best way to deliver the RIA experience . Also value addition of rich experience has got a bit overhead in loading these kind of applications on web browsers . But I hope that probably in future the line between web applications and desktop applications will surely vanish if we clearly understand the enormous powers of RIA platforms like Flex, Silverlight and JavaFX outside of web browsers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4436598114506323700-3611281299184743766?l=dukesrepaint.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dukesrepaint.blogspot.com/feeds/3611281299184743766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4436598114506323700&amp;postID=3611281299184743766' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4436598114506323700/posts/default/3611281299184743766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4436598114506323700/posts/default/3611281299184743766'/><link rel='alternate' type='text/html' href='http://dukesrepaint.blogspot.com/2008/11/web-browsers-and-rias.html' title='Web browsers and RIAs'/><author><name>Abhilshit</name><uri>http://www.blogger.com/profile/03156088044857733772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry></feed>
