<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Satya Aravind Kopparthi Weblog</title>
	<atom:link href="http://akopparthi.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://akopparthi.wordpress.com</link>
	<description>Software Architect: This site discusses new trends in Java/JEE design and development</description>
	<lastBuildDate>Thu, 06 Oct 2011 11:44:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='akopparthi.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/445ae30cd3b5bf13b038a3a98115d36b?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Satya Aravind Kopparthi Weblog</title>
		<link>http://akopparthi.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://akopparthi.wordpress.com/osd.xml" title="Satya Aravind Kopparthi Weblog" />
	<atom:link rel='hub' href='http://akopparthi.wordpress.com/?pushpress=hub'/>
		<item>
		<title>EJB 3.1 and TimerService challenges Quartz Framework</title>
		<link>http://akopparthi.wordpress.com/2010/12/05/ejb-3-1-timerservice-challenges-quartz-framework/</link>
		<comments>http://akopparthi.wordpress.com/2010/12/05/ejb-3-1-timerservice-challenges-quartz-framework/#comments</comments>
		<pubDate>Sun, 05 Dec 2010 17:42:23 +0000</pubDate>
		<dc:creator>akopparthi</dc:creator>
				<category><![CDATA[EJB 3.1]]></category>

		<guid isPermaLink="false">http://akopparthi.wordpress.com/?p=426</guid>
		<description><![CDATA[A significant number of enterprise applications have some sort of time-driven requirements. For a long time the spec has ignored such needs, forcing developers to find non-standard solutions like Quartz or Flux. EJB 2.1 introduced the Timer Service, consisting of a service provided by the container that allows EJBs to have timer callbacks being invoked at specified [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=426&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A significant number of enterprise applications have some sort of time-driven requirements. For a long time the spec has ignored such needs, forcing developers to find non-standard solutions like <em>Quartz</em> or <em>Flux</em>. EJB 2.1 introduced the Timer Service, consisting of a service provided by the container that allows EJBs to have timer callbacks being invoked at specified times. Moreover, such invocations can be done in a transactional context.</p>
<p>Even though the Timer Service was able to bridge some of the necessities, there were considerable limitations, like for example:</p>
<ul>
<li>All timers have to be created programatically.</li>
<li>Lack of flexibility in the scheduling of timers.</li>
<li>Missing support for the use of timers in environments with multiple JVMs like clustering.</li>
</ul>
<p>With EJB 3.1 there are two ways to create timers:</p>
<ul>
<li>Programatically, using the already existing <em>TimerService</em> interfaces. This interface has been greatly enhanced in order to provide more flexibility while creating timers.</li>
<li>Declaratively, using annotations or the deployment descriptor. This way a timer can be statically defined so it is automatically created during application startup.</li>
</ul>
<p>A method can be annotated with more than one timer, like shown below, where two timers are defined for the method <em>mealTime</em>, one which will expire every day at 1pm and another expiring at 8pm.</p>
<pre>@Stateless
public class MealEJB { 

    @Schedules(
    {    @Schedule(hour="13"),
         @Schedule(hour="20")
    }
    public void mealTime(Timer timer) { (...) }

}</pre>
<div>
<p>In terms of timer scheduling there were major improvements. The callback schedule can be expressed using a calendar-based syntax modeled after the UNIX <em>cron</em>. There are eight attributes which can be used in such expressions:</p>
<table border="1" cellspacing="0" cellpadding="4" width="644">
<col width="128"></col>
<col width="319"></col>
<col width="171"></col>
<tbody>
<tr valign="TOP">
<td width="128"><strong>Attribute</strong></td>
<td width="319"><strong>Allowable Values</strong></td>
<td width="171"><strong>Example</strong></td>
</tr>
<tr valign="TOP">
<td width="128">second</td>
<td width="319">[0, 59]</td>
<td width="171">second = &#8220;10&#8243;</td>
</tr>
<tr valign="TOP">
<td width="128">minute</td>
<td width="319">[0, 59]</td>
<td width="171">minute = &#8220;30&#8243;</td>
</tr>
<tr valign="TOP">
<td width="128">hour</td>
<td width="319">[0, 23]</td>
<td width="171">hour = &#8220;10&#8243;</td>
</tr>
<tr valign="TOP">
<td width="128">dayOfMonth</td>
<td width="319">- [1, 31] &#8211; day of the month&nbsp;</p>
<p>- Last &#8211; last day of the month</p>
<p>- -[1, 7] &#8211; number of days before end of month</p>
<p>- {&#8220;1st&#8221;, &#8220;2nd&#8221;, &#8220;3rd&#8221;, &#8220;4th&#8221;, &#8220;5th&#8221;, &#8230;, &#8220;Last&#8221;} {&#8220;Sun&#8221;, &#8220;Mon&#8221;, &#8220;Tue&#8221;, &#8220;Wed&#8221;, &#8220;Thu&#8221;, &#8220;Fri&#8221;, &#8220;Sat&#8221;}- identifies a single occurrence of a day of the month</td>
<td width="171">dayOfMonth = &#8220;3&#8243;&nbsp;</p>
<p>dayOfMonth = &#8220;Last&#8221;</p>
<p>dayOfMonth = &#8220;-5&#8243;</p>
<p>dayOfMonth = &#8220;1st Tue&#8221;</td>
</tr>
<tr valign="TOP">
<td width="128">month</td>
<td width="319">- [1, 12] &#8211; month of the year&nbsp;</p>
<p>- {&#8220;Jan&#8221;, &#8220;Feb&#8221;, &#8220;Mar&#8221;, &#8220;Apr&#8221;, &#8220;May&#8221;, &#8220;Jun&#8221;, &#8220;Jul&#8221;, &#8220;Aug&#8221;, &#8220;Sep&#8221;, &#8220;Oct&#8221;, &#8220;Nov&#8221;, &#8220;Dec&#8221;}- month name</td>
<td width="171">month = &#8220;7&#8243;&nbsp;</p>
<p>month = &#8220;Jan&#8221;</td>
</tr>
<tr valign="TOP">
<td width="128">dayOfWeek</td>
<td width="319">- [0, 7]- day of the week where both 0 and 7 refer to Sunday&nbsp;</p>
<p>- {&#8220;Sun&#8221;, &#8220;Mon&#8221;, &#8220;Tue&#8221;, &#8220;Wed&#8221;, &#8220;Thu&#8221;, &#8220;Fri&#8221;, &#8220;Sat&#8221;}- day&#8217;s name</td>
<td width="171">dayOfWeek = &#8220;5&#8243;&nbsp;</p>
<p>dayOfWeek = &#8220;Wed&#8221;</td>
</tr>
<tr valign="TOP">
<td width="128">year</td>
<td width="319">Four digit calendar year</td>
<td width="171">year = &#8220;1978&#8243;</td>
</tr>
<tr valign="TOP">
<td width="128">timezone</td>
<td width="319">Id of the related timezone</td>
<td width="171">timezone = &#8220;America/New_York&#8221;</td>
</tr>
</tbody>
</table>
<p>The values provided for each attribute can be expressed in different forms<br />
Note any of the attributes support the cron-style &#8220;*&#8221; wildcard to represent all values, a comma separated list (such as &#8220;Jan, Feb, Mar&#8221; for the month attribute) or a dash-separated range (such as &#8220;Mon-Fri&#8221; for the day of week attribute).</p>
</div>
<p>There are two different types of @Schedule:</p>
<ol>
<li><strong>Persistent</strong> &#8211; specified by persistent=true in @Schedule annotation<br />
This is the default type of any @Schedule.</li>
<li><strong>Non-persistent &#8211; </strong>specified by persistene=false in @Schedule annotation</li>
</ol>
<p>Both persistent and non-persistent timers can exist simultaneously, and the persistent and non-persistent configurations are not mutually exclusive. Your application might use both persistent and non-persistent timers.</p>
<p>Use persistent timers when the timer must persist through server shutdowns and restarts. Otherwise, use non-persistent timers when a server shutdown must cancel the timer.</p>
<p>When a persistent timer does not fire because the server is unavailable, then the missed attempt is recovered when the server restarts. When a non-persistent timer does not fire because the server is unavailable, the missed attempt is not recovered, because the server shutdown cancels the non-persistent timer.</p>
<p>Rerferences:</p>
<pre>O'Reilly Enterprise JavaBeans 3.1</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/akopparthi.wordpress.com/426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/akopparthi.wordpress.com/426/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/akopparthi.wordpress.com/426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/akopparthi.wordpress.com/426/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/akopparthi.wordpress.com/426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/akopparthi.wordpress.com/426/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/akopparthi.wordpress.com/426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/akopparthi.wordpress.com/426/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/akopparthi.wordpress.com/426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/akopparthi.wordpress.com/426/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/akopparthi.wordpress.com/426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/akopparthi.wordpress.com/426/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/akopparthi.wordpress.com/426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/akopparthi.wordpress.com/426/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=426&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://akopparthi.wordpress.com/2010/12/05/ejb-3-1-timerservice-challenges-quartz-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd759061383931d8dd98882cdcdd378b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">akopparthi</media:title>
		</media:content>
	</item>
		<item>
		<title>Flex 4: Asynchronous Token</title>
		<link>http://akopparthi.wordpress.com/2010/07/05/flex-4-know-your-asynchronous-token/</link>
		<comments>http://akopparthi.wordpress.com/2010/07/05/flex-4-know-your-asynchronous-token/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 15:19:48 +0000</pubDate>
		<dc:creator>akopparthi</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://akopparthi.wordpress.com/?p=367</guid>
		<description><![CDATA[﻿Flex is all about Event Driven Development Consider an enterprise application in which a user can place purchase orders for some parts and request price quotes from various suppliers. In this case, the user may click several buttons, resulting in server-side calls to one or more destinations. On each click event of the button, a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=367&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>﻿Flex is all about Event Driven Development</strong></p>
<div id="_mcePaste">Consider an enterprise application in which a user can place purchase orders for some</div>
<div id="_mcePaste">parts and request price quotes from various suppliers. In this case, the user may click</div>
<div id="_mcePaste">several buttons, resulting in server-side calls to one or more destinations. On each click</div>
<div id="_mcePaste">event of the button, a RemoteObject sends a new request to the server.</div>
<div></div>
<p></p>
<div id="_mcePaste">Here’s the million-dollar question: how can the application code map arriving result</div>
<div id="_mcePaste">objects back to the initial requesters if they can come back to the client in an arbitrary</div>
<div id="_mcePaste">order?.</div>
<p></p>
<div>Ans: Asynchronous Token Pattern</div>
<div>
<div>The goal of the Asynchronous Token pattern is to properly route the processing on the</div>
<div>client in response to the data arriving asynchronously from the server.</div>
<p></p>
<div><strong>OK, How do i design using it:</strong></div>
</div>
<div>Flash 4 Builder can generate CallResponders for your service calls and what you all have</div>
<div>to do is write your business logic.</div>
<div>
<div>&lt;fx:Script&gt;</div>
<div><span style="white-space:pre;"> </span>&lt;![CDATA[</div>
<div><span style="white-space:pre;"> </span>import mx.controls.Alert;</div>
<div><span style="white-space:pre;"> </span>import mx.rpc.events.ResultEvent;</div>
<div><span style="white-space:pre;"> </span></div>
<div><span style="white-space:pre;"> </span>protected function getHelloString():void</div>
<div><span style="white-space:pre;"> </span>{</div>
<div><span style="white-space:pre;"> </span>getHelloStringResult.token = excelDbService.getHelloString();</div>
<div><span style="white-space:pre;"> </span>}</div>
<div><span style="white-space:pre;"> </span></div>
<div><span style="white-space:pre;"> </span>protected function getHelloStringResult_resultHandler(event:ResultEvent):void</div>
<div><span style="white-space:pre;"> </span>{</div>
<div><span style="white-space:pre;"> Alert.show(<span style="white-space:normal;"> getHelloStringResul</span>t.lastResult);</span></div>
<div><span style="white-space:pre;"> </span>}</div>
<div><span style="white-space:pre;"> </span>]]&gt;</div>
<div><span style="white-space:pre;"> </span>&lt;/fx:Script&gt;</div>
<div><span style="white-space:pre;"> </span>&lt;fx:Declarations&gt;</div>
<div><span style="white-space:pre;"> </span>&lt;s:CallResponder id=&#8221;getHelloStringResult&#8221; result=&#8221;getHelloStringResult_resultHandler(event)&#8221;/&gt;</div>
<div><span style="white-space:pre;"> </span>&lt;services:ExcelDbService id=&#8221;excelDbService&#8221; fault=&#8221;Alert.show(event.fault.faultString + &#8216;\n&#8217; + event.fault.faultDetail)&#8221; showBusyCursor=&#8221;true&#8221;/&gt;</div>
<div><span style="white-space:pre;"> </span><span style="white-space:pre;"> </span>&lt;/fx:Declarations&gt;</div>
</div>
<div>reference: Enterprise Development with Flex and Flash 4 tutorials</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/akopparthi.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/akopparthi.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/akopparthi.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/akopparthi.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/akopparthi.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/akopparthi.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/akopparthi.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/akopparthi.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/akopparthi.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/akopparthi.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/akopparthi.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/akopparthi.wordpress.com/367/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/akopparthi.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/akopparthi.wordpress.com/367/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=367&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://akopparthi.wordpress.com/2010/07/05/flex-4-know-your-asynchronous-token/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd759061383931d8dd98882cdcdd378b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">akopparthi</media:title>
		</media:content>
	</item>
		<item>
		<title>Java Code findings DashBoard using Flex on AppEngine</title>
		<link>http://akopparthi.wordpress.com/2010/07/05/java-code-findings-dashboard-using-flex-on-appengine/</link>
		<comments>http://akopparthi.wordpress.com/2010/07/05/java-code-findings-dashboard-using-flex-on-appengine/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 14:54:26 +0000</pubDate>
		<dc:creator>akopparthi</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://akopparthi.wordpress.com/?p=363</guid>
		<description><![CDATA[Experience the Java Architectural/Code findings at glance. This Application uses simple Flex XML features and Flex Charts Feel the Experience at: demo<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=363&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Experience the Java Architectural/Code findings at glance.<br />
This Application uses simple Flex XML features and Flex Charts<br />
Feel the Experience at: <a href="http://akopparthi.appspot.com/DrJava.html">demo</a><br />
<a href="http://akopparthi.appspot.com/DrJava.html"><img src="http://akopparthi.files.wordpress.com/2010/07/java_diagnostics.jpg?w=300&#038;h=168" alt="" title="java_diagnostics" width="300" height="168" class="alignnone size-medium wp-image-364" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/akopparthi.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/akopparthi.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/akopparthi.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/akopparthi.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/akopparthi.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/akopparthi.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/akopparthi.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/akopparthi.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/akopparthi.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/akopparthi.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/akopparthi.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/akopparthi.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/akopparthi.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/akopparthi.wordpress.com/363/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=363&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://akopparthi.wordpress.com/2010/07/05/java-code-findings-dashboard-using-flex-on-appengine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd759061383931d8dd98882cdcdd378b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">akopparthi</media:title>
		</media:content>

		<media:content url="http://akopparthi.files.wordpress.com/2010/07/java_diagnostics.jpg?w=300" medium="image">
			<media:title type="html">java_diagnostics</media:title>
		</media:content>
	</item>
		<item>
		<title>Export Excel data into Google&#8217;s BigTable using JPA, Flex</title>
		<link>http://akopparthi.wordpress.com/2010/07/05/export-excel-data-into-googles-bigtable-using-jpa-flex/</link>
		<comments>http://akopparthi.wordpress.com/2010/07/05/export-excel-data-into-googles-bigtable-using-jpa-flex/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 14:30:36 +0000</pubDate>
		<dc:creator>akopparthi</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://akopparthi.wordpress.com/?p=358</guid>
		<description><![CDATA[This is a Simple Flex Application that manages your Excel data and exports into Google&#8217;s BigTable on Google&#8217;s App Engine. Presentation Layer: Flex 4 Communication Layer: AMF Blazeds 4 Integration Layer: Spring 3 Persistence Layer: JPA Infrastructure:  Google&#8217;s App Engine Click here to experience the demo<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=358&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is a Simple Flex Application that manages your Excel data and exports into Google&#8217;s BigTable on Google&#8217;s App Engine.</p>
<p>Presentation Layer: Flex 4</p>
<p>Communication Layer: AMF Blazeds 4</p>
<p>Integration Layer: Spring 3</p>
<p>Persistence Layer: JPA</p>
<p>Infrastructure:  Google&#8217;s App Engine</p>
<p>Click here to experience the <a href="http://ask4app.appspot.com/Excel2Db.html">demo</a></p>
<p><a href="http://ask4app.appspot.com/Excel2Db.html"><img class="alignnone size-medium wp-image-359" title="excel2db" src="http://akopparthi.files.wordpress.com/2010/07/excel2db.jpg?w=300&#038;h=109" alt="" width="300" height="109" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/akopparthi.wordpress.com/358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/akopparthi.wordpress.com/358/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/akopparthi.wordpress.com/358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/akopparthi.wordpress.com/358/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/akopparthi.wordpress.com/358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/akopparthi.wordpress.com/358/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/akopparthi.wordpress.com/358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/akopparthi.wordpress.com/358/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/akopparthi.wordpress.com/358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/akopparthi.wordpress.com/358/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/akopparthi.wordpress.com/358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/akopparthi.wordpress.com/358/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/akopparthi.wordpress.com/358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/akopparthi.wordpress.com/358/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=358&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://akopparthi.wordpress.com/2010/07/05/export-excel-data-into-googles-bigtable-using-jpa-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd759061383931d8dd98882cdcdd378b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">akopparthi</media:title>
		</media:content>

		<media:content url="http://akopparthi.files.wordpress.com/2010/07/excel2db.jpg?w=300" medium="image">
			<media:title type="html">excel2db</media:title>
		</media:content>
	</item>
		<item>
		<title>Flex 4</title>
		<link>http://akopparthi.wordpress.com/2010/07/05/flex-4/</link>
		<comments>http://akopparthi.wordpress.com/2010/07/05/flex-4/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 14:23:34 +0000</pubDate>
		<dc:creator>akopparthi</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://akopparthi.wordpress.com/?p=262</guid>
		<description><![CDATA[Familiar with Flex? Make the most of what&#8217;s new in Flash Builder 4 and Flex 4. A Flex 4 application is just a Flash movie (SWF), which lives inside a web page loaded by a web browser that has Flash 10 installed. Flex 4 applications typically use three XML namespaces, since Flex 4 is introducing an [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=262&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Familiar with Flex? Make the most of what&#8217;s new in Flash Builder 4 and Flex 4.</p>
<div id="_mcePaste">A Flex 4 application is just a Flash movie (SWF), which lives inside a web</div>
<div id="_mcePaste">page loaded by a web browser that has Flash 10 installed.</div>
<div>
<blockquote>
<div>
<div>Flex 4 applications typically use three XML namespaces, since Flex</div>
<div>4 is introducing an entirely new set of components (the Spark components).</div>
<div>The old school Halo components are what were used in Flex 1-3.</div>
<div>They have the mx prefix by convention, since that’s what was used in</div>
<div>Flex 1 through 3. The namespace for the Halo components is</div>
<div>library://ns.adobe.com/flex/halo. You still need to use the Halo components</div>
<div>where there are no Spark equivalents yet, such as DataGrid.</div>
<div>The new Spark components use, by convention, an s prefix for the</div>
<div>new namespace of library://ns.adobe.com/flex/spark. These components</div>
<div>have “Design in Mind,” which will allow designers and developers</div>
<div>to work together in a more harmonious way.</div>
<div>The fx prefix is for the core Flex namespace (http://ns.adobe.com/</div>
<div>mxml/2009). This is for things like declarations, metadata, and script</div>
<div>blocks—basically, for nonvisual language elements.</div>
</div>
</blockquote>
</div>
<h4>Flash Builder 4</h4>
<p>Data-centric development with <strong>Flash Builder 4</strong></p>
<p>Flash Builder 4 beta has built-in support for services created with ColdFusion, PHP, and Java. Other kinds of services can be used as SOAP web services or HTTP services.</p>
<p>In Flash Builder 4 beta, the new Data/Services panel is the central location for managing and interacting with all of the servers and services used in your application.</p>
<p>Select a DataGrid (grouped under Data Controls in the Components panel) and drag it out onto the page. You&#8217;ll notice that the grid isn&#8217;t bound to any data; if you run the application now it will just be an empty grid                         with three columns. To have the grid display data that comes back from one of your service operations, simply drag the operation from the Data/Services panel and drop it on the grid.</p>
<h4>Flex 4</h4>
<ul>
<li><a href="http://www.adobe.com/devnet/flex/articles/flex3and4_differences.html" target="_blank">Differences between Flex 3 SDK and Flex 4 SDK</a></li>
<li><a href="http://www.adobe.com/devnet/flex/articles/flex4_skinning.html" target="_blank">Introducing skinning in Flex 4 beta</a></li>
<li><a href="http://www.adobe.com/devnet/flex/articles/spark_layouts.html" target="_blank">Spark layouts with Flex 4 beta</a></li>
</ul>
<p>References: flexblog.com, adobe, Hello! Flex 4.</p>
<p>A Flex 4 application is just a Flash movie (SWF), which lives inside a webpage loaded by a web browser that has Flash 10 installed.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/akopparthi.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/akopparthi.wordpress.com/262/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/akopparthi.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/akopparthi.wordpress.com/262/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/akopparthi.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/akopparthi.wordpress.com/262/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/akopparthi.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/akopparthi.wordpress.com/262/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/akopparthi.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/akopparthi.wordpress.com/262/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/akopparthi.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/akopparthi.wordpress.com/262/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/akopparthi.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/akopparthi.wordpress.com/262/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=262&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://akopparthi.wordpress.com/2010/07/05/flex-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd759061383931d8dd98882cdcdd378b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">akopparthi</media:title>
		</media:content>
	</item>
		<item>
		<title>Grails and Flex nothing simple than this for Rich Web App on GAE</title>
		<link>http://akopparthi.wordpress.com/2010/01/08/grails-and-flex-nothing-simple-than-this-for-rich-ui/</link>
		<comments>http://akopparthi.wordpress.com/2010/01/08/grails-and-flex-nothing-simple-than-this-for-rich-ui/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 02:06:48 +0000</pubDate>
		<dc:creator>akopparthi</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[grails]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://akopparthi.wordpress.com/?p=271</guid>
		<description><![CDATA[Most of us know by now just how easy it is to write Flex applications backed by Java and Java using GraniteDS. Adobe have done a lot of work to ensure that integration with ColdFusion is seamless. It&#8217;s very impressive. Browsing through the Grails site, I noticed they have a plugin for Flex so I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=271&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="color:#0000ff;"><strong><br />
</strong></span></p>
<p>Most of us know by now just how easy it is to write Flex applications backed by Java and Java using GraniteDS. Adobe have done a lot of work to ensure that integration with ColdFusion is seamless. It&#8217;s very impressive.</p>
<p>Browsing through the <a href="http://grails.org/">Grails</a> site, I noticed they have a <a href="http://docs.codehaus.org/display/GRAILS/Flex+Plugin">plugin for Flex</a> so I figured I&#8217;d try it out.</p>
<p>Following the instructions, I installed the plugin (<tt>grails install-plugin gdsflex</tt>) which took a fair while to fetch the plugin from the codehaus.org site and build it and install it into my project. Then I created a service class &#8211; a regular Groovy class &#8211; with just this one additional line:</p>
<div>static expose = [ 'flex-remoting' ]</div>
<p>It had a method, <tt>hello()</tt>, that returned a string.</p>
<p>Then I put my <tt>main.mxml</tt> file in the web-app directory of my Grails project with these lines inside the mx:Application tag:</p>
<div>
<p><span style="color:navy;">&lt;mx:RemoteObject id=<span style="color:blue;">&#8220;ro&#8221;</span> destination=<span style="color:blue;">&#8220;homeService&#8221;</span>/&gt;</span></p>
<p><span style="color:navy;">&lt;mx:Button label=<span style="color:blue;">&#8220;get Address!&#8221;</span> click=<span style="color:blue;">&#8220;ro.homeAddress()&#8221;</span>/&gt;</span><br />
<span style="color:navy;">&lt;mx:TextInput text=<span style="color:blue;">&#8220;{ro.homeAddress.lastResult}&#8221;</span>/&gt;</span></p>
</div>
<p>You don&#8217;t need to build the project. You don&#8217;t need to set any paths in FlexBuilder. Just create the MXML file.</p>
<p>Then I hit the MXML file in my Grails app:</p>
<p><strong>what i had to code is:</strong></p>
<div id="_mcePaste">package app</div>
<div id="_mcePaste">class HomeService {</div>
<div id="_mcePaste">static expose = ['flex-remoting']</div>
<div id="_mcePaste">boolean transactional = true</div>
<div id="_mcePaste">def hello() {</div>
<div id="_mcePaste">return &#8220;Hello World!!!&#8221;</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">def getHomeAddress() {</div>
<div id="_mcePaste">return &#8220;3924 Hillstead ln&#8221;</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">def getHomePhone(){</div>
<div id="_mcePaste">return 3344433</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">}</div>
<p><strong>what i had to type :</strong></p>
<p>&gt;grails create-app home</p>
<p>&gt;grails install-plugin gdsflex</p>
<p>&gt;grails create-service app.Home</p>
<p>&gt;grails run-app</p>
<p>&gt;grails install-plugin app-engine</p>
<p>&gt;grails app-engine package</p>
<p>&gt;%<span style="font-family:monospace;line-height:13px;font-size:12px;white-space:pre;">APPENGINE_HOME%/bin/appcfg.cmd update ./target/war</span></p>
<p><span style="font-family:monospace;line-height:13px;font-size:12px;white-space:pre;">&gt;grails app-engine deploy</span></p>
<p><span style="font-family:monospace;font-size:small;"><span style="line-height:13px;white-space:pre;"> </span></span></p>
<p><span style="font-family:monospace;line-height:13px;font-size:12px;white-space:pre;"> </span></p>
<p>reference: corfield.org, http://grails.org/Flex+Plugin</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/akopparthi.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/akopparthi.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/akopparthi.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/akopparthi.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/akopparthi.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/akopparthi.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/akopparthi.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/akopparthi.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/akopparthi.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/akopparthi.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/akopparthi.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/akopparthi.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/akopparthi.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/akopparthi.wordpress.com/271/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=271&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://akopparthi.wordpress.com/2010/01/08/grails-and-flex-nothing-simple-than-this-for-rich-ui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd759061383931d8dd98882cdcdd378b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">akopparthi</media:title>
		</media:content>
	</item>
		<item>
		<title>Ride your RIA Vehicle using Google App Engine in a Cloud</title>
		<link>http://akopparthi.wordpress.com/2009/06/28/ride-with-google-app-engine-on-your-ria-vehical-in-a-cloud/</link>
		<comments>http://akopparthi.wordpress.com/2009/06/28/ride-with-google-app-engine-on-your-ria-vehical-in-a-cloud/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 16:32:59 +0000</pubDate>
		<dc:creator>akopparthi</dc:creator>
				<category><![CDATA[Google App Engine]]></category>

		<guid isPermaLink="false">http://akopparthi.wordpress.com/?p=231</guid>
		<description><![CDATA[Know your Engine: GAE is running Java 6. However, there are  number of limitations that have been imposed to constrain Java to fit the GAE model. GAE Java is based on the Java 2.4 Servlet API: Once a request is sent to the client no further processing can be done. This includes data streaming. A [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=231&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Know your Engine:</strong></p>
<p>GAE is running Java 6. However, there are  number of limitations that have been imposed to constrain Java to fit the GAE model. GAE Java is based on the Java 2.4 Servlet API:</p>
<ul>
<li>Once a request is sent to the client no further processing can be done.  This includes data streaming.</li>
<li>A request will be terminated if it has taken around 30 seconds without completing. At this point an exception is thrown. If not caught a 500 error is returned to the user.</li>
</ul>
<p>Moving up the stack are several sandbox restrictions:</p>
<ul>
<li>Applications can not write to the file system and must use the App Engine datastore instead.</li>
<li>Applications may not open sockets</li>
<li>Applications can not create their own threads or use related utilities such as timer.</li>
</ul>
<p>java.lang.System has been restricted as follows:</p>
<ul>
<li>exit(), gc(), runFinalization(), and runFinalizersOnExit() do nothing.</li>
<li>JNI access is not allowed.</li>
</ul>
<p><strong>Choose your RIA Vehicle(FLEX/BLAZEDS/JAVA):</strong></p>
<ul>
<li>Eclipse &#8211; <a title="http://www.eclipse.org/galileo/" href="http://www.eclipse.org/galileo/" target="_blank">http://www.eclipse.org/<span style="font-size:xx-small;"><span>galileo</span></span>/</a> (FREE)</li>
<li>Google App Engine Developer Account &#8211; <a title="http://appengine.google.com/" href="http://appengine.google.com/" target="_blank">http://appengine.google.com/</a> (FREE)</li>
<li>Install the Google App Engine Java plug-in for Eclipse &#8211; <a title="http://code.google.com/appengine/docs/java/tools/eclipse.html" href="http://code.google.com/appengine/docs/java/tools/eclipse.html" target="_blank">http://code.google.com/appengine/docs/java/tools/eclipse.html</a> (FREE)</li>
<li>Flex Builder plug-in for Eclipse &#8211; <a title="http://www.adobe.com/products/flex/features/flex_builder/" href="http://www.adobe.com/products/flex/features/flex_builder/" target="_blank">http://www.adobe.com/products/flex/features/flex_builder/</a> ($$$)</li>
<li>The BlazeDS Binary Distribution- <a title="http://opensource.adobe.com/wiki/display/blazeds/Release+Builds" href="http://opensource.adobe.com/wiki/display/blazeds/Release+Builds" target="_blank">http://opensource.adobe.com/wiki/display/blazeds/Release+Builds</a> (FREE)</li>
</ul>
<p><strong> <span style="font-weight:normal;">Aravind Kopparthi.</span></strong></p>
<p><strong><br />
</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/akopparthi.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/akopparthi.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/akopparthi.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/akopparthi.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/akopparthi.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/akopparthi.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/akopparthi.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/akopparthi.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/akopparthi.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/akopparthi.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/akopparthi.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/akopparthi.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/akopparthi.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/akopparthi.wordpress.com/231/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=231&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://akopparthi.wordpress.com/2009/06/28/ride-with-google-app-engine-on-your-ria-vehical-in-a-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd759061383931d8dd98882cdcdd378b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">akopparthi</media:title>
		</media:content>
	</item>
		<item>
		<title>Flex using BlazeDS with Java. Do you care about security?</title>
		<link>http://akopparthi.wordpress.com/2009/05/23/flex-using-blazeds-with-java-do-you-care-about-security/</link>
		<comments>http://akopparthi.wordpress.com/2009/05/23/flex-using-blazeds-with-java-do-you-care-about-security/#comments</comments>
		<pubDate>Sun, 24 May 2009 00:47:30 +0000</pubDate>
		<dc:creator>akopparthi</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://akopparthi.wordpress.com/?p=221</guid>
		<description><![CDATA[1. Secure the primary keys - Store at least the primary key in Session on the way out from java to flex. When you get the request from flex to java, check to make sure the user has access to the primary key they are trying to change. 2. Secure the foreign keys -Other classes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=221&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>1. Secure the primary keys<br />
- Store at least the primary key in Session on the way out from java to flex.  When you get the request from flex to java, check to make sure the user has access to the primary key they are trying to change.<br />
2.  Secure the foreign keys<br />
-Other classes will probably have your customer.id as a foreign key in their class.  Make sure these are secure from tampering as well.<br />
3. Secure your remote methods that flex will be calling<br />
-Use remoting-config.xml to exclude methods that the user should not have access to.  One way to this:</p>
<pre>  &lt;destination id=”customerService”&gt;<br style="outline-style:none;outline-width:initial;outline-color:initial;border-color:initial;border-width:initial;" />        &lt;properties&gt;<br style="outline-style:none;outline-width:initial;outline-color:initial;border-color:initial;border-width:initial;" />            &lt;source&gt;customerService&lt;/source&gt;<br style="outline-style:none;outline-width:initial;outline-color:initial;border-color:initial;border-width:initial;" />        &lt;/properties&gt;<br style="outline-style:none;outline-width:initial;outline-color:initial;border-color:initial;border-width:initial;" />  &lt;exclude-methods&gt;<br style="outline-style:none;outline-width:initial;outline-color:initial;border-color:initial;border-width:initial;" />  &lt;method name=”updateCustomer” security-constraint=”admin-users”/&gt;<br style="outline-style:none;outline-width:initial;outline-color:initial;border-color:initial;border-width:initial;" />  &lt;/exclude-methods&gt;<br style="outline-style:none;outline-width:initial;outline-color:initial;border-color:initial;border-width:initial;" />&lt;/destination&gt;</pre>
<p>You can read more about this in the BlazeDS dev guide.<br />
4. Secure any other fields that are sensistive and should not be able to be changed by the end user.</p>
<p>references: flexpasta.com</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/akopparthi.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/akopparthi.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/akopparthi.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/akopparthi.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/akopparthi.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/akopparthi.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/akopparthi.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/akopparthi.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/akopparthi.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/akopparthi.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/akopparthi.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/akopparthi.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/akopparthi.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/akopparthi.wordpress.com/221/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=221&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://akopparthi.wordpress.com/2009/05/23/flex-using-blazeds-with-java-do-you-care-about-security/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd759061383931d8dd98882cdcdd378b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">akopparthi</media:title>
		</media:content>
	</item>
		<item>
		<title>Flex AMF DS comparisons</title>
		<link>http://akopparthi.wordpress.com/2009/05/19/flex-amf-ds-comparisons/</link>
		<comments>http://akopparthi.wordpress.com/2009/05/19/flex-amf-ds-comparisons/#comments</comments>
		<pubDate>Wed, 20 May 2009 00:44:45 +0000</pubDate>
		<dc:creator>akopparthi</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://akopparthi.wordpress.com/?p=214</guid>
		<description><![CDATA[GDS over BlazeDS: If you are a software provider using Java EE persistent technologies such as Hibernate, you will certainly feel the importance of a framework that takes great care of your lazy fetching strategy. One of the most important features of GDS (and one of the main reasons of its creation) was the possibility [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=214&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>GDS over BlazeDS:</p>
<blockquote><p>If you are a software provider using Java EE persistent technologies such as Hibernate, you will certainly feel the importance of a framework that takes great care of your lazy fetching strategy. One of the most important features of GDS (and one of the main reasons of its creation) was the possibility to use exact ActionScript3 copies of Hibernate detached objects on the client side, just like if we were in the web layer of a classical Java EE application. This does not seem to be possible at all with BlazeDS, and that means that you cannot just replace GDS with BlazeDS. Additionally, you&#8217;ll be able to use Gas3 code generation features which are real time savers.</p></blockquote>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<table border="0">
<tbody>
<tr>
<th>Feature</th>
<th>BlazeDS</th>
<th>GraniteDS</th>
<th>WebORB</th>
<th>LifeCycleDS</th>
</tr>
<tr>
<td><strong>Data management Services</strong></td>
</tr>
<tr>
<td>Client-Server synchronization</td>
<td>-</td>
<td>+</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>Conflict resolution</td>
<td>-</td>
<td>-</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>Data paging</td>
<td>-</td>
<td>+</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>SQL adapter</td>
<td>-</td>
<td>-</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>Hibernate adapter</td>
<td>-</td>
<td>+</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td><strong>Document Services</strong></td>
</tr>
<tr>
<td>LiveCycle remoting</td>
<td>-</td>
<td>-</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>RIA-to-PDF conversion</td>
<td>-</td>
<td>-</td>
<td>+(plugin)</td>
<td>+</td>
</tr>
<tr>
<td><strong>Enterprise-Class Flex application services</strong></td>
</tr>
<tr>
<td>Data access/remoting</td>
<td>+</td>
<td>+</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>Proxy service</td>
<td>+</td>
<td>+</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>Automated testing support</td>
<td>-</td>
<td>-</td>
<td>+(through RIA AppPuncher –coming soon)</td>
<td>+</td>
</tr>
<tr>
<td>Software clustering</td>
<td>+</td>
<td>+</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>Web tier compiler</td>
<td>-</td>
<td>+</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>Flex code generation</td>
<td>-</td>
<td>+</td>
<td>+</td>
<td>-</td>
</tr>
<tr>
<td><strong>Enterprise Integration</strong></td>
</tr>
<tr>
<td>WSRP generation</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>+</td>
</tr>
<tr>
<td>Ajax data services</td>
<td>+</td>
<td>-</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>Flex-Ajax bridge</td>
<td>+</td>
<td>-</td>
<td>-</td>
<td>+</td>
</tr>
<tr>
<td>Runtime configuration</td>
<td>+</td>
<td>-</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>Open adapter architecture</td>
<td>+</td>
<td>-</td>
<td>-</td>
<td>+</td>
</tr>
<tr>
<td>JMS adapter</td>
<td>+</td>
<td>+</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>Server-side component framework integration</td>
<td>+</td>
<td>+</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>Stateful services (session scope for Java objects)</td>
<td>-</td>
<td>+</td>
<td>+</td>
<td>?</td>
</tr>
<tr>
<td>Singleton services (application scope for Java objects)</td>
<td>-</td>
<td>+</td>
<td>+</td>
<td>?</td>
</tr>
<tr>
<td>Server-to-client method invocation</td>
<td>-</td>
<td>-</td>
<td>+</td>
<td>?</td>
</tr>
<tr>
<td>ColdFusion integration</td>
<td>-</td>
<td>-</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>Service browser<br />
displaying POJOs,<br />
Spring beans, EJBs and<br />
a list of deployed JAR<br />
files</td>
<td>-</td>
<td>-</td>
<td>+</td>
<td>-</td>
</tr>
<tr>
<td><strong>Offline Application Support</strong></td>
</tr>
<tr>
<td>Offline data cache</td>
<td>-</td>
<td>-</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>Local message queuing</td>
<td>-</td>
<td>-</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td><strong>Real &#8211; Time Data</strong></td>
</tr>
<tr>
<td>Publish and Subscribe messaging</td>
<td>+</td>
<td>-</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>Real -time data quality of service</td>
<td>-</td>
<td>+</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td>RTMP tunneling</td>
<td>-</td>
<td>-</td>
<td>+</td>
<td>+</td>
</tr>
<tr>
<td><strong>Frameworks build-in integration</strong></td>
</tr>
<tr>
<td>Spring</td>
<td>-</td>
<td>+</td>
<td>+</td>
<td>-</td>
</tr>
<tr>
<td>EJB3</td>
<td>-</td>
<td>+</td>
<td>?</td>
<td>-</td>
</tr>
</tbody>
</table>
<p> </p>
<p style="font-size:1.05em;">I used the following articles:</p>
<p style="font-size:1.05em;"><a href="http://sujitreddyg.wordpress.com/2008/01/31/blazeds-and-lcds-feature-difference/">http://sujitreddyg.wordpress.com/2008/01/31/blazeds-and-lcds-feature-difference/</a></p>
<p style="font-size:1.05em;"><a href="http://www.infoq.com/news/2008/02/granite-data-services"> http://www.infoq.com/news/2008/02/granite-data-services</a></p>
<p style="font-size:1.05em;"><a href="http://www.themidnightcoders.com/weborb/java/product_editions.shtm">http://www.themidnightcoders.com/weborb/java/product_editions.shtm</a></p>
<p style="font-size:1.05em;"><a href="http://www.graniteds.org/confluence/display/DOC/1.1.+What+is+Granite+Data+Services">http://www.graniteds.org/confluence/display/DOC/1.1.+What+is+Granite+Data+Services</a></p>
<p style="font-size:1.05em;"><a href="http://www.adobe.com/products/livecycle/dataservices/features.html"></p>
<p>http://www.adobe.com/products/livecycle/dataservices/features.html</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/akopparthi.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/akopparthi.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/akopparthi.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/akopparthi.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/akopparthi.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/akopparthi.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/akopparthi.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/akopparthi.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/akopparthi.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/akopparthi.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/akopparthi.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/akopparthi.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/akopparthi.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/akopparthi.wordpress.com/214/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=214&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://akopparthi.wordpress.com/2009/05/19/flex-amf-ds-comparisons/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd759061383931d8dd98882cdcdd378b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">akopparthi</media:title>
		</media:content>
	</item>
		<item>
		<title>Building Flex Applications using Cairngorm with Maven 2.</title>
		<link>http://akopparthi.wordpress.com/2009/03/08/building-flex-applications-using-cairngorm-with-maven-2/</link>
		<comments>http://akopparthi.wordpress.com/2009/03/08/building-flex-applications-using-cairngorm-with-maven-2/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 21:20:18 +0000</pubDate>
		<dc:creator>akopparthi</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://akopparthi.wordpress.com/?p=183</guid>
		<description><![CDATA[There is a lot of documentation already out there for Cairngorm but many of the basic examples on the web (and especially on labs.adobe.com) are now slightly out of date, and use deprecated methods. I expect it can be a little frustrating for someone coming in to Cairngorm for the first time, especially if you [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=183&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There is a lot of documentation already out there for Cairngorm but many of the basic examples on the web (and especially on labs.adobe.com) are now slightly out of date, and use deprecated methods. I expect it can be a little frustrating for someone coming in to Cairngorm for the first time, especially if you have not used anything similar before, so this should be a good next step for you if you have already read the docs, understand the basic concepts and want an aid to help speed up your understanding</p>
<p><strong><br />
</strong></p>
<h3><strong>Step 1: Download Cairngorm swc component</strong></h3>
<p>The first thing to do is download the Cairngorm binary and a Cairngorm example application. I’m currently using FlexBuilder3 beta (Moxie), and so I decided to go with the latest version of Cairngorm which is 2.2. Due to issues with a recent FlexBuilder hotfix I’ve downloaded a beta version called 2.2.1_beta. The best thing to do is look at the Cairngorm wiki on Adobe.labs to ensure you get the correct version for you:</p>
<p><a title="Cairngorm wiki page" href="http://labs.adobe.com/wiki/index.php/Cairngorm" target="_blank">http://opensource.adobe.com/wiki/display/cairngorm/Downloads</a><br />
<strong><br />
</strong></p>
<h3><strong>Step 2: Install using mvn</strong></h3>
<p>mvn install:install-file -DgroupId=com.adobe.flex.framework -DartifactId=cairngorm-framework-Dversion=2.2.1 -Dpackaging=jar -Dfile=c:\cairngorm.swc</p>
<h3><strong>Step 3: Reference the installed component in pom</strong></h3>
<p><strong> &lt;dependency&gt;<br />
&lt;groupId&gt;  com.adobe.flex.framework &lt;/groupId&gt;<br />
&lt;artifactId&gt;cairngorm-framework &lt;/artifactId&gt;<br />
&lt;version&gt;2.2.1&lt;/version&gt;<br />
&lt;type&gt;swc&lt;/type&gt;</strong></p>
<p><strong>&lt;/dependency&gt;</strong></p>
<h3><strong><strong>Step 4: Download the example<br />
</strong></strong></h3>
<p style="text-align:left;">You can view the Diagram Explorer <a href="http://www.cairngormdocs.org/tools/CairngormDiagramExplorer.swf" target="_blank">here</a>, view the example app <a href="http://www.cairngormdocs.org/exampleApps/CairngormDiagram/index.html" target="_blank">here</a> and download the example app <a href="http://www.cairngormdocs.org/exampleApps/CairngormDiagram.zip" target="_blank">here</a>.</p>
<p style="text-align:left;">
<p style="text-align:left;">Good luck.</p>
<p style="text-align:left;">
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/akopparthi.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/akopparthi.wordpress.com/183/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/akopparthi.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/akopparthi.wordpress.com/183/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/akopparthi.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/akopparthi.wordpress.com/183/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/akopparthi.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/akopparthi.wordpress.com/183/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/akopparthi.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/akopparthi.wordpress.com/183/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/akopparthi.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/akopparthi.wordpress.com/183/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/akopparthi.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/akopparthi.wordpress.com/183/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akopparthi.wordpress.com&amp;blog=3430681&amp;post=183&amp;subd=akopparthi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://akopparthi.wordpress.com/2009/03/08/building-flex-applications-using-cairngorm-with-maven-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd759061383931d8dd98882cdcdd378b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">akopparthi</media:title>
		</media:content>
	</item>
	</channel>
</rss>
