<?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/"
	>

<channel>
	<title>Nils Preusker &#187; Devoxx</title>
	<atom:link href="http://www.nilspreusker.de/tag/devoxx/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nilspreusker.de</link>
	<description>Pragmatic Technologist</description>
	<lastBuildDate>Tue, 23 Mar 2010 10:44:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>&#8220;Security Patterns revealed&#8221; Talk at Devoxx08</title>
		<link>http://www.nilspreusker.de/2008/12/18/security-patterns-revealed-talk-at-devoxx08/</link>
		<comments>http://www.nilspreusker.de/2008/12/18/security-patterns-revealed-talk-at-devoxx08/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 10:51:18 +0000</pubDate>
		<dc:creator>nils</dc:creator>
				<category><![CDATA[Devoxx]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.nilspreusker.de/?p=17</guid>
		<description><![CDATA[This talk was given by Mike Wiesner, Senior Consultant at SpringSource.
Missing input validation is the root of all evil!
- Mike Wiesner, Devoxx 2008
Mike started by showing an overview of the most important security threats in web applications. The top three are cross-site scripting, SQL injection and directory traversal (Example). In other words, by paying attention [...]]]></description>
			<content:encoded><![CDATA[<p>This talk was given by <a title="Mark Wiesner" href="http://www.mwiesner.com/" target="_blank">Mike Wiesner</a>, Senior Consultant at SpringSource.</p>
<blockquote><p>Missing input validation is the root of all evil!<br />
- Mike Wiesner, Devoxx 2008</p></blockquote>
<p>Mike started by showing an overview of the most important security threats in web applications. The top three are cross-site scripting, SQL injection and directory traversal (<a href="http://www.securiteam.com/unixfocus/5JP0E1FKUK.html">Example</a>). In other words, by paying attention to proper input validation in your web application, you can prevent about 80% of potential security issues.</p>
<p>He talked in depth about the following patterns:</p>
<p><strong>Intercepting Validator</strong></p>
<ul>
<li>Client-side validation is just a way to make the application more user friendly, it can not replace server side validation</li>
<li>JSR 303 &#8211; Bean Validation -&gt; AOP can be used as Intercepting Validator</li>
</ul>
<p><strong>Single Accesss Point</strong></p>
<ul>
<li>Reference Monitor with AOP</li>
<li>security is applied by annotations on method level</li>
<li>advantage is that you can test security and functionality separately -&gt; security tests don&#8217;t execute application logic and security can be disabled for functional tests</li>
</ul>
<p>These are a few other patterns he mentioned:</p>
<ul>
<li>Role Based Access Control or Role Based Security (<a title="RBAC" href="http://en.wikipedia.org/wiki/Role-based_access_control" target="_blank">Wikipedia article</a>)</li>
<li>Role-Rights Definition</li>
<li>Controlled Object Factory</li>
<li>Data Driven Security</li>
<li>Multi-Level Security</li>
<li>Security Session</li>
</ul>
<p>An other interesting thing he mentioned is <a title="XACML" href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xacml" target="_blank">XACML</a>, a security policy management standard from OASIS that defines security policies in XML.</p>
<p>Apart from the patterns, that are definitely worth looking at, what I took home from this talk is that the most important thing when implementing security is to think. Patterns are just abstract ideas to help creating a good design for your application. They are not blue prints that can be applied blindly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nilspreusker.de/2008/12/18/security-patterns-revealed-talk-at-devoxx08/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;JAX-RS: The Java API for RESTful Web Services&#8221; Talk at Devoxx08</title>
		<link>http://www.nilspreusker.de/2008/12/15/jax-rs-the-java-api-for-restful-web-services-talk-at-devoxx/</link>
		<comments>http://www.nilspreusker.de/2008/12/15/jax-rs-the-java-api-for-restful-web-services-talk-at-devoxx/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 20:04:21 +0000</pubDate>
		<dc:creator>nils</dc:creator>
				<category><![CDATA[Devoxx]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX-RS]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://www.nilspreusker.de/?p=37</guid>
		<description><![CDATA[This talk was given by Paul Sandoz. He showed a few examples and listed the following existing implementations of JSR 311 (JAX-RS):

Jboss RESTEasy
Apache CXF
Jersey. (Reference Impl.)
Restlet
Triaxrs

He was testing the services on a command line with curl (i.e. curl -v -d x=1 -H &#8220;Accept: application/xml&#8221; http://localhost:8080/xyz or &#8220;Accept: application/json&#8221;).
The JAX-RS Overview is supposed to be a [...]]]></description>
			<content:encoded><![CDATA[<p>This talk was given by <a title="Paul Sandoz's Blog" href="http://blogs.sun.com/sandoz/entry/mvcj" target="_blank">Paul Sandoz</a>. He showed a few examples and listed the following existing implementations of <a title="JAX-RS" href="http://jcp.org/en/jsr/detail?id=311" target="_blank">JSR 311 (JAX-RS)</a>:</p>
<ul>
<li><a title="RESTEasy" href="http://www.jboss.org/resteasy/" target="_blank">Jboss RESTEasy</a></li>
<li><a title="Apache CXF" href="http://cxf.apache.org/" target="_blank">Apache CXF</a></li>
<li><a title="Jersey." href="https://jersey.dev.java.net/" target="_blank">Jersey.</a> (Reference Impl.)</li>
<li><a title="Restlet" href="http://www.restlet.org/" target="_blank">Restlet</a></li>
<li><a title="Triaxrs" href="http://trialox.org/projects/org.trialox.jaxrs/documentation/download.xhtml" target="_blank">Triaxrs</a></li>
</ul>
<p>He was testing the services on a command line with curl (i.e. curl -v -d x=1 -H &#8220;Accept: application/xml&#8221; http://localhost:8080/xyz or &#8220;Accept: application/json&#8221;).</p>
<p>The <a title="Overview of JAX-RS 1.0 Features" href="http://wikis.sun.com/display/Jersey/Overview+of+JAX-RS+1.0+Features" target="_blank">JAX-RS Overview</a> is supposed to be a good starting point to implement RESTful web services. His presentation and a zip file wih examples can be downloaded from <a title="Blog Post for Devoxx JAX-RS Talk" href="http://blogs.sun.com/sandoz/entry/devoxx_slides_and_examples_for" target="_blank">his blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nilspreusker.de/2008/12/15/jax-rs-the-java-api-for-restful-web-services-talk-at-devoxx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Easy Entity Versioning with Envers&#8221; Talk at Devoxx08</title>
		<link>http://www.nilspreusker.de/2008/12/13/easy-entity-versioning-with-envers-talk-at-devoxx/</link>
		<comments>http://www.nilspreusker.de/2008/12/13/easy-entity-versioning-with-envers-talk-at-devoxx/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 01:03:08 +0000</pubDate>
		<dc:creator>nils</dc:creator>
				<category><![CDATA[Devoxx]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[persistence]]></category>
		<category><![CDATA[versioning]]></category>

		<guid isPermaLink="false">http://www.nilspreusker.de/?p=27</guid>
		<description><![CDATA[This talk was given by Adam Warski. He is the creator of Envers, a framework that provides entity versioning for hibernate. It does this by creating additional auditing tables and inserting data to them on update/insert and delete. This creates global revisions, similar to the way it is done in Subversion. In order to activate [...]]]></description>
			<content:encoded><![CDATA[<p>This talk was given by <a title="Adam Warskis Website" href="http://www.warski.org/" target="_blank">Adam Warski</a>. He is the creator of <a title="Envers Homepage" href="http://www.jboss.org/envers/" target="_blank">Envers</a>, a framework that provides entity versioning for hibernate. It does this by creating additional auditing tables and inserting data to them on update/insert and delete. This creates global revisions, similar to the way it is done in Subversion. In order to activate versioning for a class, the @Versioned annotation is used. User information is not automatically stored with the revisions but can be added by implementing a custom RevisionListener.</p>
<p>Envers is now a hibernate core module and will be included in the next release of hibernate.</p>
<p>Here is a link to the <a title="Envers Download" href="http://www.jboss.org/envers" target="_blank">current version of Envers<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nilspreusker.de/2008/12/13/easy-entity-versioning-with-envers-talk-at-devoxx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaRebel</title>
		<link>http://www.nilspreusker.de/2008/12/10/javarebel/</link>
		<comments>http://www.nilspreusker.de/2008/12/10/javarebel/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 13:39:18 +0000</pubDate>
		<dc:creator>nils</dc:creator>
				<category><![CDATA[Devoxx]]></category>
		<category><![CDATA[hot swap]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jvm]]></category>

		<guid isPermaLink="false">http://www.nilspreusker.de/?p=25</guid>
		<description><![CDATA[Just came across this at Devoxx: JavaRebel &#8211; like JVM HotSwap but without all the limitations. And I got a 90 day free license card&#8230; Nice!
]]></description>
			<content:encoded><![CDATA[<p>Just came across this at Devoxx: <a title="JavaRebel" href="http://www.zeroturnaround.com" target="_blank">JavaRebel</a> &#8211; like JVM HotSwap but without all the limitations. And I got a 90 day free license card&#8230; Nice!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nilspreusker.de/2008/12/10/javarebel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let&#8217;s go!</title>
		<link>http://www.nilspreusker.de/2008/12/09/hello-world/</link>
		<comments>http://www.nilspreusker.de/2008/12/09/hello-world/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 18:33:21 +0000</pubDate>
		<dc:creator>nils</dc:creator>
				<category><![CDATA[Devoxx]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.nilspreusker.de/?p=1</guid>
		<description><![CDATA[Done! My new website is online&#8230; just in time for Devoxx &#8216;08. Tomorrow morning I&#8217;ll be heading over to Antwerp and hopefully arrive at around 10:30, in time to miss a boring presentation about JavaFX and instead hear what the IBM people have to say about RFID. Hope to be blogging from there, so stay [...]]]></description>
			<content:encoded><![CDATA[<p>Done! My new website is online&#8230; just in time for <a title="Devoxx08" href="http://www.devoxx.com/display/JV08/Home" target="_blank">Devoxx &#8216;08</a>. Tomorrow morning I&#8217;ll be heading over to Antwerp and hopefully arrive at around 10:30, in time to miss a <span style="text-decoration: line-through;">boring</span> presentation about JavaFX and instead hear what the IBM people have to say about RFID. Hope to be blogging from there, so stay tuned!</p>
<p><iframe width="450" height="380" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=Metropolis+Groenendaallaan+394,+2030+Antwerpen,+Belgi%C3%AB&amp;sll=37.0625,-95.677068&amp;sspn=41.139534,93.164063&amp;ie=UTF8&amp;t=h&amp;cid=51246109,4418084,17782128867516051559&amp;s=AARTsJpHAnLyl0JtDMtPj9n3ccsoWNo3tg&amp;ll=51.251924,4.420452&amp;spn=0.020414,0.038624&amp;z=14&amp;iwloc=A&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=Metropolis+Groenendaallaan+394,+2030+Antwerpen,+Belgi%C3%AB&amp;sll=37.0625,-95.677068&amp;sspn=41.139534,93.164063&amp;ie=UTF8&amp;t=h&amp;cid=51246109,4418084,17782128867516051559&amp;ll=51.251924,4.420452&amp;spn=0.020414,0.038624&amp;z=14&amp;iwloc=A&amp;source=embed" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<p>Cheers, Nils</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nilspreusker.de/2008/12/09/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
