<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>all that jazzspring</title>
    <link>http://jazzy.id.au/default/tags/spring/</link>
    <description>james' blog about scala and all that jazz</description>
    <language>en</language>
    <copyright>James Roper</copyright>
    <pubDate>Thu, 13 Jun 2013 18:18:00 GMT</pubDate>
    <dc:creator>James Roper</dc:creator>
    <dc:date>2013-06-13T18:18:00Z</dc:date>
    <dc:language>en</dc:language>
    <dc:rights>James Roper</dc:rights>
    <image>
      <title>all that jazzspring</title>
      <url>http://jazzy.id.au/default/tags/spring/</url>
    </image>
    <item>
      <title>Facebook authentication in Java</title>
      <link>http://jazzy.id.au/default/2008/03/19/facebook_authentication_in_java.html</link>
      <content:encoded>&lt;p&gt;If you're a web developer who likes writing practical, quick, and simple utility applications for yourself and others to use, then Facebook is the dream platform.  You don't have to write any user management, sign in, password change pages etc, it comes complete with advanced user management, including friends lists.  There's a high chance that your target users already use it, which makes them more likely to adopt your application because they don't need to go and create yet another username/password on yet another website.  It already has a theme and style sheets, and will present your application surrounded in menus and title bars.  And it provides a large number of ways to publish content and send notifications when events occur.  All these features mean that you, the developer, can spend more time doing what you wanted to do, that is, writing your application.&lt;/p&gt;

&lt;p&gt;If Java is your chosen platform however, you may encounter some difficulties.  Java developers tend to like following well established design patterns.  We like to think of things as beans that have distinct purposes.  We like to use frameworks such as Spring to manage the beans that contain logic, to glue our application together.  We like our data to be stored in beans, and we access that data using getters and setters.  The Facebook client API makes this difficult, for the following reasons:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Its instantiation is dependent on parameters in an HTTP request.  This means we can't use it as a typical Spring bean.&lt;/li&gt;
&lt;li&gt;Depending on which flavour you of client you use, it returns JSON objects, or DOM documents, not the Java beans we like to use.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This article will address the first issue, and in doing so make the second issue less of a worry.&lt;/p&gt;&lt;p&gt;&lt;a href="http://jazzy.id.au/default/2008/03/19/facebook_authentication_in_java.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;</content:encoded>
      <category domain="http://jazzy.id.au/default/categories/java/">Java</category>
      <category domain="http://jazzy.id.au/default/tags/facebook/">facebook</category>
      <category domain="http://jazzy.id.au/default/tags/java/">java</category>
      <category domain="http://jazzy.id.au/default/tags/spring/">spring</category>
      <pubDate>Wed, 19 Mar 2008 11:48:43 GMT</pubDate>
      <guid isPermaLink="false">tag:jazzy.id.au,2008-03-19:default/1205927323335</guid>
      <dc:date>2008-03-19T11:48:43Z</dc:date>
    </item>
  </channel>
</rss>

