<?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>Josh Molina</title>
	<atom:link href="http://joshmolina.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://joshmolina.wordpress.com</link>
	<description>Discover. Dream. Design.</description>
	<lastBuildDate>Wed, 03 Dec 2008 00:29:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='joshmolina.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Josh Molina</title>
		<link>http://joshmolina.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://joshmolina.wordpress.com/osd.xml" title="Josh Molina" />
	<atom:link rel='hub' href='http://joshmolina.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Leveraging Legacy Systems and Modernization using SOA</title>
		<link>http://joshmolina.wordpress.com/2008/10/22/leveraging-legacy-systems-and-modernization-using-soa/</link>
		<comments>http://joshmolina.wordpress.com/2008/10/22/leveraging-legacy-systems-and-modernization-using-soa/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 22:57:20 +0000</pubDate>
		<dc:creator>joshmolina</dc:creator>
				<category><![CDATA[Enterprise Architecture]]></category>
		<category><![CDATA[cxf]]></category>
		<category><![CDATA[soa]]></category>
		<category><![CDATA[spring framework]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://joshmolina.wordpress.com/?p=56</guid>
		<description><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joshmolina.wordpress.com&amp;blog=2431023&amp;post=56&amp;subd=joshmolina&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joshmolina.wordpress.com&amp;blog=2431023&amp;post=56&amp;subd=joshmolina&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joshmolina.wordpress.com/2008/10/22/leveraging-legacy-systems-and-modernization-using-soa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c5bdd80e166a5b4b3123dfbfb3605861?s=96&#38;d=identicon" medium="image">
			<media:title type="html">joshmolina</media:title>
		</media:content>
	</item>
		<item>
		<title>Writing a facebook application using java</title>
		<link>http://joshmolina.wordpress.com/2008/10/21/facebook-development-using-j2ee/</link>
		<comments>http://joshmolina.wordpress.com/2008/10/21/facebook-development-using-j2ee/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 22:59:31 +0000</pubDate>
		<dc:creator>joshmolina</dc:creator>
				<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://joshmolina.wordpress.com/?p=20</guid>
		<description><![CDATA[AT A GLANCE First and foremost, I&#8217;m not sure why facebook decided to drop its support for java.  The community developing in the java space is so widespread and there is such movement in the Open Source world (utilizing this discipline) it boggles the mind. Rant: One thing that really pisses me off is the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joshmolina.wordpress.com&amp;blog=2431023&amp;post=20&amp;subd=joshmolina&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>AT A GLANCE</h3>
<p>First and foremost, I&#8217;m not sure why facebook decided to <a href="http://wiki.developers.facebook.com/index.php/Java" target="_blank">drop </a>its support for java.  The community developing in the java space is so widespread and there is such movement in the Open Source world (utilizing this discipline) it boggles the mind.</p>
<p><em><strong>Rant: </strong>One thing that really pisses me off is the fact that you can find how to build these applications in PHP EVERYWHERE ON THE NET!  A few handful of sites offer Java insight.  DAMN!</em></p>
<p>Before we get into the bowels of this facebook discussion, here are a few things you MUST have.</p>
<ul>
<li>A facebook application developer account
<ul>
<li>API Key</li>
<li>Secret Key</li>
</ul>
</li>
<li>A server that is reachable to the outside world.  This <span style="text-decoration:underline;"><strong>WILL NOT WORK</strong></span> from your desktop.  There is a way to test your application (using desktop development) but this is beyond the scope, as we&#8217;re developing a JEE-compliant application.</li>
<li>The willingness to get your hands dirty, coffee and some patience.</li>
</ul>
<p>Ok, now for a few clarifications:</p>
<h3><span style="text-decoration:underline;"><strong>FBML</strong></span></h3>
<p>This is a proprietary language analogous to JSTL tags.  Basically, these tags have interaction with Facebook&#8217;s  internal services that can query user information, render forms, pages, etc.  All this while keeping a uniform look and feel.</p>
<p>It doesn&#8217;t matter what you write your business logic in, your presentation code in the canvas must be a combination of HTML and FBML (Facebook Markup Language).</p>
<h3><span style="text-decoration:underline;"><strong>FBML or Facebook API</strong></span></h3>
<p>Developers have the option of manipulating and creating business objects as they would with any other web application, EXCEPT you must enclose the rendering of these objects inside FBML tags.  Confused? No problem.  I&#8217;ll give you the code and the instructions afterwards &#8230;</p>
<p><span style="text-decoration:underline;">For example:</span></p>
<p>If we have a servlet that sets the value <code>myUserID</code> value like so:<br />
<code><br />
request.setAttribute("myUserID", "your_user_id_here");</code></p>
<p>You must extract it and present it to Facebook like so:<br />
<code><br />
Hey &lt;fb:name uid="${myUserID}" useyou="false" firstnameonly="true" /&gt;, welcome back!<br />
</code><br />
This would return the following message (assuming you replaced your_user_id_here with your actual id.</p>
<p><a href="http://joshmolina.files.wordpress.com/2008/10/fb_user_screen.png"><img class="alignnone size-full wp-image-39" title="fb_user_screen" src="http://joshmolina.files.wordpress.com/2008/10/fb_user_screen.png?w=450" alt=""   /></a></p>
<h3><span style="text-decoration:underline;"><strong>Callback URL</strong></span></h3>
<p>This is something that I struggled with and something that I&#8217;ve seen to be an issue.  In short, the Callback URL is nothing more than a url to the application in your server.</p>
<p><span style="text-decoration:underline;">For example:</span></p>
<p>This is what I use as a callback url: <code>http://www.joshmolina.com/mysimpleapp</code></p>
<p>In my server I have an application named mysimpleapp.</p>
<p>You can find the source <a href="http://dc10.4shared.com/download/68147310/1c2c0751/mysimpleapp.zip?tsid=20081023-184235-503c150e" target="_blank">here</a>.  (This file is a fully-compliant Eclipse project) and the web application <a href="http://www.4shared.com/file/68153737/575e64b/mysimpleapp.html" target="_blank">here</a>.</p>
<p><span style="text-decoration:underline;">Briefly:</span></p>
<p><strong><br />
This is the directory structure</strong><em></em></p>
<p><a href="http://joshmolina.files.wordpress.com/2008/10/mysimpleapp_directory_structure.png"><img class="alignnone size-full wp-image-44" title="mysimpleapp_directory_structure" src="http://joshmolina.files.wordpress.com/2008/10/mysimpleapp_directory_structure.png?w=450" alt=""   /></a></p>
<p>As you can see, there&#8217;s NOTHING out of the ordinary here.</p>
<p>However, I&#8217;d like to call attention to the <code>web.xml</code> file in the <code>WEB-INF</code> folder:  This file forwards to a page named <code>index.jsp</code>.  This becomes the landing page of your facebook application when you call it.  (more on that later)&#8230;</p>
<p>Here&#8217;s my <code>web.xml</code> file:</p>
<p><a href="http://joshmolina.files.wordpress.com/2008/10/web_xml_screen1.png"><img class="alignnone size-large wp-image-47" title="web_xml_screen1" src="http://joshmolina.files.wordpress.com/2008/10/web_xml_screen1.png?w=468&#038;h=200" alt="" width="468" height="200" /></a></p>
<p>So, so far we&#8217;ve got an application (although basic) named mysimpleapp that does NOTHING.</p>
<p>Take a look at <code>WEB-INF/lib</code> as you&#8217;ll find all the necessary facebook API files downloaded from <a href="http://code.google.com/p/facebook-java-api/" target="_blank">here</a>.</p>
<p><span style="text-decoration:underline;">The files are:</span></p>
<ul>
<li>activation-1.1.jar</li>
<li>commons-logging-1.1.1.jar</li>
<li>facebook-java-api-2.0.1.jar</li>
<li>facebook-java-api-schema-2.0.1.jar</li>
<li>jaxb-api-2.1.jar</li>
<li>jaxb-impl-2.1.3.jar</li>
<li>json-20070829.jar</li>
<li>log4j-1.2.9.jar</li>
<li>stax-api-1.0-2.jar</li>
</ul>
<p>Ok, deploy your application as shown above and you should be able to access it like this:</p>
<p><code>http://yourserver.com/mysimpleapp</code></p>
<p>or in my case: <a title="http://joshmolina.com/mysimpleapp/" href="http://joshmolina.com/mysimpleapp/" target="_blank">http://joshmolina.com/mysimpleapp</a></p>
<p>..more to come&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joshmolina.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joshmolina.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joshmolina.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joshmolina.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/joshmolina.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/joshmolina.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/joshmolina.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/joshmolina.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joshmolina.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joshmolina.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joshmolina.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joshmolina.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joshmolina.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joshmolina.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joshmolina.wordpress.com&amp;blog=2431023&amp;post=20&amp;subd=joshmolina&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joshmolina.wordpress.com/2008/10/21/facebook-development-using-j2ee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c5bdd80e166a5b4b3123dfbfb3605861?s=96&#38;d=identicon" medium="image">
			<media:title type="html">joshmolina</media:title>
		</media:content>

		<media:content url="http://joshmolina.files.wordpress.com/2008/10/fb_user_screen.png" medium="image">
			<media:title type="html">fb_user_screen</media:title>
		</media:content>

		<media:content url="http://joshmolina.files.wordpress.com/2008/10/mysimpleapp_directory_structure.png" medium="image">
			<media:title type="html">mysimpleapp_directory_structure</media:title>
		</media:content>

		<media:content url="http://joshmolina.files.wordpress.com/2008/10/web_xml_screen1.png?w=468" medium="image">
			<media:title type="html">web_xml_screen1</media:title>
		</media:content>
	</item>
	</channel>
</rss>
