<?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-14570545</id><updated>2012-01-17T09:46:21.675+01:00</updated><category term='Scarlet'/><category term='Life'/><category term='Terrastore'/><category term='Scala'/><category term='Spring-Modules'/><category term='clojure'/><category term='Spring-Framework'/><category term='Sourcesense'/><category term='Clustering'/><category term='Concurrent-Programming'/><category term='Programming-Tips'/><category term='Rant'/><category term='Domain-Driven-Design'/><category term='Terracotta'/><category term='Grid-Computing'/><category term='Java'/><category term='Ajax'/><category term='Rest'/><category term='Object-Oriented-Programming'/><category term='Design-Patterns'/><category term='Grid-Gain'/><category term='Scalability'/><category term='Jira'/><title type='text'>Thoughts and Fragments</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>94</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-14570545.post-970633075147658638</id><published>2010-09-28T20:28:00.015+02:00</published><updated>2010-09-29T18:31:07.166+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Domain-Driven-Design'/><category scheme='http://www.blogger.com/atom/ns#' term='clojure'/><title type='text'>Dynamic mixins in Clojure: an experiment.</title><summary type='text'>My web-friend Debasish Ghosh recently come up with an excellent post about modeling the same domain with Scala and Clojure, focusing in particular on how to implement dynamic behavior through Scala mixins and Clojure combinators.Now, while the post is excellent as always, and Clojure combinators are pretty cool, I think a domain model is better represented with Clojure records and protocols, so </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/970633075147658638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=970633075147658638' title='19 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/970633075147658638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/970633075147658638'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2010/09/dynamic-mixins-in-clojure-experiment.html' title='Dynamic mixins in Clojure: an experiment.'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-5163644940868106636</id><published>2009-12-19T12:21:00.005+01:00</published><updated>2010-07-27T14:39:42.440+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scalability'/><category scheme='http://www.blogger.com/atom/ns#' term='Clustering'/><category scheme='http://www.blogger.com/atom/ns#' term='Terracotta'/><category scheme='http://www.blogger.com/atom/ns#' term='Terrastore'/><title type='text'>Terrastore and the Cap Theorem</title><summary type='text'>This is an edited version of the original "Terrastore and the Cap Theorem" article, updated to reflect latest Terrastore developments.Terrastore is a new born document store based on the wonderful Terracotta technology, focused on providing a feature-rich, scalable, yet consistent, data store.Data stores today are often classified depending on how they deal with availability, partition-tolerance </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/5163644940868106636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=5163644940868106636' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/5163644940868106636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/5163644940868106636'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2009/12/terrastore-and-cap-theorem.html' title='Terrastore and the Cap Theorem'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-501847153970613007</id><published>2009-11-04T08:52:00.015+01:00</published><updated>2009-11-04T18:56:18.268+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scalability'/><category scheme='http://www.blogger.com/atom/ns#' term='Clustering'/><title type='text'>Eventual Consistency by Example</title><summary type='text'>Recently, there has been a lot of chitchat about the eventual consistency model as illustrated in the famous Amazon Dynamo paper, and today employed by several non-relational databases such as Voldemort or Cassandra.Everything starts with this blog post by the Facebook Infrastructure Lead, claiming: "Dynamo: A flawed architecture", where he makes a few points against the eventual consistency </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/501847153970613007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=501847153970613007' title='19 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/501847153970613007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/501847153970613007'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2009/11/eventual-consistency-by-example.html' title='Eventual Consistency by Example'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-8988865472666359987</id><published>2009-04-08T11:20:00.005+02:00</published><updated>2009-04-08T20:18:26.992+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Domain-Driven-Design'/><category scheme='http://www.blogger.com/atom/ns#' term='Terracotta'/><title type='text'>Terracotta, Domain Driven Design and Anti-Patterns</title><summary type='text'>Yesterday I was going to participate at a technical meeting, when the following statement suddenly appeared on my Twitter timeline:One interesting reflection is that the "super static" property of Terracotta roots helps us with Domain Driven Design.Finally we have (what I feel a nice) way of using Repositories in our Entities without Aspects or Register style coding.My immediate reaction was to </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/8988865472666359987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=8988865472666359987' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/8988865472666359987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/8988865472666359987'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2009/04/terracotta-and-domain-driven-design.html' title='Terracotta, Domain Driven Design and Anti-Patterns'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-4379409148496082431</id><published>2009-02-03T15:42:00.004+01:00</published><updated>2009-02-03T16:03:23.339+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Concurrent-Programming'/><title type='text'>Actor concurrency model in a nutshell</title><summary type='text'>While the necessity of writing software applications capable of exploiting the multi-processor architecture of today computers is more and more common, concurrent programming is often perceived as an hard task.No wonder, so, if many languages come to our rescue by supporting concurrent programming through first-class syntax support, or through higher level user libraries.Two well-known languages </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/4379409148496082431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=4379409148496082431' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/4379409148496082431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/4379409148496082431'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2009/02/actor-concurrency-model-in-nutshell.html' title='Actor concurrency model in a nutshell'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-2745650868656716997</id><published>2009-01-31T19:15:00.006+01:00</published><updated>2009-01-31T19:50:31.802+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming-Tips'/><title type='text'>Against the viral Commons-Logging</title><summary type='text'>Years ago I wrote a blog post about how to make your application Commons-Logging (JCL) free by using SLF4J.However, there is still a problem if you're writing a Maven2 based application: even if you're using SLF4J, you will probably end up with a viral JCL jar in your classpath! That's because JCL is still used by a lot of projects, and Maven places it in your classpath as a transitive </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/2745650868656716997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=2745650868656716997' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/2745650868656716997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/2745650868656716997'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2009/01/against-viral-commons-logging.html' title='Against the viral Commons-Logging'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-8259882751901558146</id><published>2009-01-24T18:25:00.003+01:00</published><updated>2009-01-24T18:30:17.718+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scalability'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Clustering'/><category scheme='http://www.blogger.com/atom/ns#' term='Terracotta'/><title type='text'>Real Terracotta @ Rome JavaDay 2009</title><summary type='text'>I'm just back from the Rome JavaDay 2009, and here is the presentation I gave: Real Terracotta - Real-world scalability patterns with Terracotta.Real TerracottaView more presentations or upload your own. (tags: terracotta scalability)I hope you enjoyed it!I'd be very glad to hear your feedback, so feel free to comment on with any question/thought you may have!</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/8259882751901558146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=8259882751901558146' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/8259882751901558146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/8259882751901558146'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2009/01/real-terracotta-rome-javaday-2009.html' title='Real Terracotta @ Rome JavaDay 2009'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-8988307557627775454</id><published>2009-01-22T14:10:00.002+01:00</published><updated>2009-01-22T14:15:31.769+01:00</updated><title type='text'>Follow me on Twitter</title><summary type='text'>Just subscribed to Twitter: http://twitter.com/sbtouristFeel free to follow me, hoping to tweet interesting stuff at an higher rate than my blogging one ;)</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/8988307557627775454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=8988307557627775454' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/8988307557627775454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/8988307557627775454'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2009/01/follow-me-on-twitter.html' title='Follow me on Twitter'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-2957025866532152250</id><published>2009-01-09T17:59:00.004+01:00</published><updated>2009-01-09T18:49:27.887+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rest'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>JAX-RS: A proposal for resource URI identification and resolution</title><summary type='text'>In my latest two posts I talked about the problem of clearly defining and resolving the URI of a REST resource in JAX-RS, and then described a possible solution.I discussed this topic in the Resteasy dev mailing list (here is the thread), and Solomon Duskis suggested to identify resources with a unique logical name rather than with a class name, in order to support multiple REST resources in the </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/2957025866532152250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=2957025866532152250' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/2957025866532152250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/2957025866532152250'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2009/01/jax-rs-proposal-for-resource-uri.html' title='JAX-RS: A proposal for resource URI identification and resolution'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-3313437026327537314</id><published>2009-01-05T12:02:00.006+01:00</published><updated>2009-01-05T13:03:21.061+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rest'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>JAX-RS and HATEOAS : A Proposal</title><summary type='text'>This is a follow-up to my latest post: JAX-RS and HATEOAS, AKA "JAX-RS should provide a way to identify and resolve resource URLs".I'd like to outline a possible solution, but first, let me recap the problem with a simple example.The Problem.JAX-RS let you define web resources out of simple POJOs by properly placing simple, meaningful, annotations.Let's say we have a Library resource, containing </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/3313437026327537314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=3313437026327537314' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/3313437026327537314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/3313437026327537314'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2009/01/jax-rs-and-hateoas-proposal.html' title='JAX-RS and HATEOAS : A Proposal'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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><entry><id>tag:blogger.com,1999:blog-14570545.post-8310096732361439291</id><published>2009-01-04T18:15:00.004+01:00</published><updated>2009-01-04T19:37:13.392+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rest'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>JAX-RS and HATEOAS</title><summary type='text'>This post should have been named something like: "JAX-RS should provide a way to identify and resolve resource URLs".However, it was too long, so I opted for some buzzy acronyms: let me explain them.JAX-RS is the official Java API for building Restful Web Services: also known as JSR-311, it went final a few months ago, and is, IMHO, a very good specification, providing an easy and effective way </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/8310096732361439291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=8310096732361439291' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/8310096732361439291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/8310096732361439291'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2009/01/jax-rs-and-hateoas.html' title='JAX-RS and HATEOAS'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-767245081218656570</id><published>2009-01-03T15:21:00.005+01:00</published><updated>2009-01-04T18:15:38.764+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Best of 2008</title><summary type='text'>Here is my personal list, just for fun ...Best of MusicThe Decemberists - Always the BridesmaidShearwater - RookOkkervil River - The Stand InsBest of Movies/TVZohan (Movie)The Dark Knight (Movie)Dexter (TV)Best of Tech/Non-Tech ReadingClean Code, Martin (Tech)The Road, McCarthy (Non-Tech)InfoQ.com (Tech)Now, let the 2009 begin ...</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/767245081218656570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=767245081218656570' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/767245081218656570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/767245081218656570'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2009/01/best-of-2008.html' title='Best of 2008'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-3337545713879860802</id><published>2008-12-13T16:33:00.012+01:00</published><updated>2008-12-13T17:07:07.868+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><category scheme='http://www.blogger.com/atom/ns#' term='Terracotta'/><title type='text'>Presenting at the Rome JavaDay 2009</title><summary type='text'>I'm more than happy to announce that I will present at the third edition of the Rome JavaDay on the 24th of January 2009!I will host a session entitled Real Terracotta, where I will talk about Terracotta, the most famous open source clustering solution, and how to effectively use it in some real world uses cases.In particular, these are the use cases I have in mind right now:Data affinity </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/3337545713879860802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=3337545713879860802' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/3337545713879860802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/3337545713879860802'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2008/12/presenting-at-rome-javaday-2009.html' title='Presenting at the Rome JavaDay 2009'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-2266481023848492654</id><published>2008-12-01T10:57:00.004+01:00</published><updated>2008-12-01T11:31:16.924+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Weekly Digest Ep. 1</title><summary type='text'>I read a number of blogs, and when I see that some of my favorite bloggers don't post anything for a long time, I generally feel disappointed.So, yesterday I was wondering: how the hell did my readers (if any) feel, given that I generally write one or two posts every two or three months? That should be terrible!!!!Jokes aside, I decided to write at least a weekly digest about what happened to me </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/2266481023848492654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=2266481023848492654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/2266481023848492654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/2266481023848492654'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2008/12/weekly-digest-ep-1.html' title='Weekly Digest Ep. 1'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-3189814484409997717</id><published>2008-06-16T11:34:00.001+02:00</published><updated>2008-06-16T16:28:16.639+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sourcesense'/><category scheme='http://www.blogger.com/atom/ns#' term='Scalability'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring-Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Grid-Computing'/><category scheme='http://www.blogger.com/atom/ns#' term='Grid-Gain'/><title type='text'>Gridify your Spring application with Grid Gain @ Spring Italian Meeting 2008</title><summary type='text'>Last Saturday I've been at the Spring Italian Meeting in Cagliari, for an enjoyable meet-up with colleagues, friends, and Spring-passionate users.First of all, thanks to Massimiliano Dessi', the man behind this event ;)Then, if you lose my presentation about Grid Computing, Grid Gain, and the Spring Framework, here it is: | View | Upload your ownI really enjoyed presenting it, and I think </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/3189814484409997717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=3189814484409997717' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/3189814484409997717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/3189814484409997717'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2008/06/gridify-your-spring-application-with.html' title='Gridify your Spring application with Grid Gain @ Spring Italian Meeting 2008'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-1945473196501542693</id><published>2008-06-03T16:50:00.001+02:00</published><updated>2008-06-16T12:36:14.973+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scalability'/><category scheme='http://www.blogger.com/atom/ns#' term='Clustering'/><category scheme='http://www.blogger.com/atom/ns#' term='Jira'/><category scheme='http://www.blogger.com/atom/ns#' term='Terracotta'/><category scheme='http://www.blogger.com/atom/ns#' term='Scarlet'/><title type='text'>On the road from Scarlet 1.0 to 1.1</title><summary type='text'>Two months ago, Scarlet 1.0 GA was released: it was a very important milestone in the Scarlet life, completely covering all Jira clustering aspects.However, there still was one major problem: Jira limited scalability caused by the existent Lucene indexing infrastructure, which was affected mainly by two problems:Synchronous execution of CPU-intensive operations, causing "standard" operations like</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/1945473196501542693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=1945473196501542693' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/1945473196501542693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/1945473196501542693'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2008/06/on-road-from-scarlet-10-to-11.html' title='On the road from Scarlet 1.0 to 1.1'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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><entry><id>tag:blogger.com,1999:blog-14570545.post-5137550252572981364</id><published>2008-03-15T19:12:00.000+01:00</published><updated>2008-06-16T12:36:14.974+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scalability'/><category scheme='http://www.blogger.com/atom/ns#' term='Clustering'/><category scheme='http://www.blogger.com/atom/ns#' term='Jira'/><category scheme='http://www.blogger.com/atom/ns#' term='Terracotta'/><category scheme='http://www.blogger.com/atom/ns#' term='Scarlet'/><title type='text'>Scarlet 1.0 RC2 is out!</title><summary type='text'>Short news just to let you know that the Scarlet second release candidate is officially out!This is your last chance for submitting bugs, suggestions and feedback about Scarlet, prior to its final release, scheduled for the end of this month.So don't hesitate to contribute to the unique Open Source clustering solution for your preferred enterprise issue tracking software!Enjoy it!</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/5137550252572981364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=5137550252572981364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/5137550252572981364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/5137550252572981364'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2008/03/scarlet-10-rc2-is-out.html' title='Scarlet 1.0 RC2 is out!'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-4598555170051662279</id><published>2008-02-11T10:27:00.000+01:00</published><updated>2008-06-16T12:36:14.974+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scalability'/><category scheme='http://www.blogger.com/atom/ns#' term='Clustering'/><category scheme='http://www.blogger.com/atom/ns#' term='Jira'/><category scheme='http://www.blogger.com/atom/ns#' term='Terracotta'/><category scheme='http://www.blogger.com/atom/ns#' term='Scarlet'/><title type='text'>Scarlet first release candidate is out!</title><summary type='text'>Exciting news about Scarlet are coming!The new Scarlet 1.0 Release Candidate 1 is officially out, with new features, several enhancements and fixes, and a brand new web site!Can't wait for it?Take a look at: http://scarlet.sf.net!Talking about the technical side of this new release, the most important changes concern the upgrade to Atlassian Jira 3.12, improved APIs for plugin development and a </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/4598555170051662279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=4598555170051662279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/4598555170051662279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/4598555170051662279'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2008/02/scarlet-first-release-candidate-is-out.html' title='Scarlet first release candidate is out!'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-1870217292138314826</id><published>2007-12-11T06:40:00.000+01:00</published><updated>2007-12-11T06:44:58.604+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>See you at Javapolis!</title><summary type='text'>I'm going to leave Rome and catch my flight for Antwerp.Actual destination : Javapolis!I will hold a BOF, so don't miss it.See you there!</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/1870217292138314826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=1870217292138314826' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/1870217292138314826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/1870217292138314826'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2007/12/see-you-at-javapolis.html' title='See you at Javapolis!'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-8746491266065088727</id><published>2007-12-08T16:07:00.000+01:00</published><updated>2007-12-08T18:29:45.376+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Clustering'/><category scheme='http://www.blogger.com/atom/ns#' term='Jira'/><category scheme='http://www.blogger.com/atom/ns#' term='Scarlet'/><category scheme='http://www.blogger.com/atom/ns#' term='Concurrent-Programming'/><title type='text'>Owner Based Locking explained</title><summary type='text'>If you attended my presentation at the Rome JavaDay about my real world experience in clustering Atlassian Jira, or if you took a look at my slides, you may already know that one of the challenges was the rewriting of the Jira caching system.The hardest part of this challenge was to define the cache locking strategy.That was because of two requirements, due to the Jira code and the way it has </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/8746491266065088727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=8746491266065088727' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/8746491266065088727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/8746491266065088727'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2007/12/owner-based-locking-explained.html' title='Owner Based Locking explained'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-2568023138666059029</id><published>2007-12-05T14:48:00.000+01:00</published><updated>2008-06-16T12:36:14.975+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scalability'/><category scheme='http://www.blogger.com/atom/ns#' term='Clustering'/><category scheme='http://www.blogger.com/atom/ns#' term='Jira'/><category scheme='http://www.blogger.com/atom/ns#' term='Terracotta'/><category scheme='http://www.blogger.com/atom/ns#' term='Scarlet'/><title type='text'>News about Scarlet</title><summary type='text'>One month has passed since my last post, due to the fact that I've been very busy working at the hottest (well, maybe I'm a bit biased here...) Jira extension around : Scarlet.Here are some news about it:Me and my colleague and friend Ugo talked about our experience in clustering Jira with Terracotta at the Rome JavaDay: people really appreciated it, and if you weren't there (or if you liked us </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/2568023138666059029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=2568023138666059029' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/2568023138666059029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/2568023138666059029'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2007/12/news-about-scarlet.html' title='News about Scarlet'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-9095515039418485057</id><published>2007-11-06T14:46:00.000+01:00</published><updated>2008-06-16T12:36:14.976+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sourcesense'/><category scheme='http://www.blogger.com/atom/ns#' term='Scalability'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Clustering'/><category scheme='http://www.blogger.com/atom/ns#' term='Jira'/><category scheme='http://www.blogger.com/atom/ns#' term='Terracotta'/><category scheme='http://www.blogger.com/atom/ns#' term='Scarlet'/><title type='text'>Scarlet is out!</title><summary type='text'>As I said some weeks ago, in the past two months I've been deeply involved in clustering one of the most important Open Source enterprise applications around.Now, it is time to unveil the amazing work done here in Sourcesense, because the first public beta release of Scarlet is officially out!Scarlet is a free, open source, clustering extension to Atlassian Jira, providing scalability and high </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/9095515039418485057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=9095515039418485057' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/9095515039418485057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/9095515039418485057'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2007/11/scarlet-is-out.html' title='Scarlet is out!'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-7493802623401186353</id><published>2007-11-03T15:34:00.000+01:00</published><updated>2007-11-03T15:43:52.769+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scala'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Introducing the Scala Language</title><summary type='text'>It is both a pure Object Oriented and fully featured Functional language.It is both a scripting language and a compiled one.It is a stable, solid, well designed language.It has been very well received by a lot of people and has thousands of downloads per month.It runs on the Java Virtual Machine and fully interoperates with the Java environment.It has been called the "next next Java".It is the </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/7493802623401186353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=7493802623401186353' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/7493802623401186353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/7493802623401186353'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2007/11/introducing-scala-language.html' title='Introducing the Scala Language'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-6819138887404122445</id><published>2007-10-26T18:07:00.000+02:00</published><updated>2007-10-26T19:09:32.555+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming-Tips'/><title type='text'>The Fail Fast Rule</title><summary type='text'>Every time you're writing a piece of code and you have to deal with unknown corner cases ...Every time you're implementing some kind of logic and you don't know what to do when things go bad ...Every time you think: this can never happen, I don't have to check for it ...Every time you don't know what to do or what would happen ...Please ...Fail fast.This is the Fail Fast Rule, as I call it, a </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/6819138887404122445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=6819138887404122445' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/6819138887404122445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/6819138887404122445'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2007/10/fail-fast-rule.html' title='The Fail Fast Rule'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-3182789053583827602</id><published>2007-10-23T10:27:00.000+02:00</published><updated>2007-11-05T15:01:04.502+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming-Tips'/><title type='text'>JavaMail and GMail : it's all about configuration</title><summary type='text'>Yesterday I spent a couple of hours trying to send emails with JavaMail APIs via my GMail account.It wasn't easy: the standard JavaMail configuration didn't work, while Google gave me a lot of wrong and/or outdated information.Moreover, JavaMail FAQs provide a sample about sending emails via GMail, but it has some problems too.So I think these bits of information will be helpful to someone trying</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/3182789053583827602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=3182789053583827602' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/3182789053583827602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/3182789053583827602'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2007/10/javamail-and-gmail-its-all-about.html' title='JavaMail and GMail : it&apos;s all about configuration'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-3520233434910617800</id><published>2007-10-19T15:07:00.000+02:00</published><updated>2008-12-09T06:38:28.164+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object-Oriented-Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Design-Patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='Domain-Driven-Design'/><title type='text'>Avoid your getters and setters, Part 2</title><summary type='text'>More than one year ago we've talked about how to avoid getters and setters by using the most fundamental object oriented programming principle: programming to an interface.Well, it was just the beginning ...I know we're a bit late, but let's go now with the second part of my How to avoid getters and setters series ... I hope you'll enjoy it!Avoid your getters and setters : The Expert, the </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/3520233434910617800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=3520233434910617800' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/3520233434910617800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/3520233434910617800'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2007/10/avoid-your-getters-and-setters-part-2.html' title='Avoid your getters and setters, Part 2'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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/_dECCGaiqukc/Rxi1FYa0awI/AAAAAAAAAAU/qtObiNB7auo/s72-c/avoidp2.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-451553920929068138</id><published>2007-10-13T15:58:00.000+02:00</published><updated>2007-10-13T17:58:30.136+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Alive</title><summary type='text'>Hi all.I'm not going to talk about the great Pearl Jam song.I'm going to talk about me, because (very) long time has passed since my last post, and yes ... I'm still alive.I don't want to bother you too much, just let me jumble a few bullet points about the most important things happened to me during these months:I finished working at that big project for RAI, the Italian State Television, </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/451553920929068138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=451553920929068138' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/451553920929068138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/451553920929068138'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2007/10/alive.html' title='Alive'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-6694359482444610129</id><published>2007-01-21T16:48:00.000+01:00</published><updated>2007-11-05T15:07:31.617+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Join Us: Be Commons-Logging Free!</title><summary type='text'>Johannes invited his readers to revise their code in order to remove all dependencies on Jakarta Commons-Logging (JCL).Why?It is simple: JCL gives you a lot of class loading problems, often driving you mad.If you've never had class loading problems while deploying your Simple Servlet / Complex JEE application which makes use of JCL, if you've never struggled for making JCL use that damn Log4j </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/6694359482444610129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=6694359482444610129' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/6694359482444610129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/6694359482444610129'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2007/01/join-us-be-commons-logging-free.html' title='Join Us: Be Commons-Logging Free!'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-148118334640150694</id><published>2007-01-16T09:16:00.000+01:00</published><updated>2007-01-16T09:17:21.524+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Five things you don't know about me</title><summary type='text'>Some weeks ago I've been tagged by Daniele  , but I'm very busy to do anything other than working at a big project for RAI  .So, now, let me start the new year with five things you don't know about me:I used to practice martial arts: more specifically, Shorinji Kempo.I used to play guitar in a Rock band called Voodoo Economics.I used to write short novels, and I also won a prize.I have very </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/148118334640150694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=148118334640150694' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/148118334640150694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/148118334640150694'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2007/01/five-things-you-dont-know-about-me.html' title='Five things you don&apos;t know about me'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-116575546430226454</id><published>2006-12-10T13:55:00.000+01:00</published><updated>2007-11-05T15:08:01.674+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring-Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring-Modules'/><title type='text'>Spring Modules 0.7 and XT Framework Highlights</title><summary type='text'>Hi guys,I'm pleased to announce here the new Spring Modules 0.7 release.We have made several changes (you can find the general changelog here), so I suggest you to update to the new release.Talking about the XT Framework, here is a short list of the most important changes:XT Modeling Framework :   New annotations for better controlling the DynamicBeanIntroductor behaviour.  XT Ajax Framework :  </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/116575546430226454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=116575546430226454' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/116575546430226454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/116575546430226454'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/12/spring-modules-07-and-xt-framework.html' title='Spring Modules 0.7 and XT Framework Highlights'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-116558963815278304</id><published>2006-12-08T15:50:00.000+01:00</published><updated>2007-11-05T15:08:01.675+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring-Framework'/><title type='text'>Spring 2.0 and the P-Namespace</title><summary type='text'>Some days ago Rod Johnson blogged about an undocumented feature of Spring 2.0: the so-called P-Namespace, which permits you to shorten the XML configuration.This feature has been very well welcomed by the developers community, because it clearly makes the Spring XML configuration easier to manage and read, without running into the burden of writing a custom namespace handler.I strongly suggest </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/116558963815278304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=116558963815278304' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/116558963815278304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/116558963815278304'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/12/spring-20-and-p-namespace.html' title='Spring 2.0 and the P-Namespace'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-116437818229055658</id><published>2006-11-24T15:21:00.000+01:00</published><updated>2007-11-05T15:09:50.094+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><title type='text'>Maven2 : Evil or Not?</title><summary type='text'>Guys, I have very little time to blog these days, too much work, but let me do a complaint.Since my colleague Gianugo talked me about it, I've always been a strong supporter of Maven2.It is true that it is a kind of black magic.It is true that it has a (very) poor dependencies conflict resolver.But hey, it let you manage your build process with very little configuration effort, has a good </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/116437818229055658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=116437818229055658' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/116437818229055658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/116437818229055658'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/11/maven2-evil-or-not.html' title='Maven2 : Evil or Not?'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-116229062964915029</id><published>2006-10-31T10:42:00.000+01:00</published><updated>2007-11-05T15:01:58.856+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object-Oriented-Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Domain-Driven-Design'/><title type='text'>Java Interfaces or Abstract Classes?</title><summary type='text'>These days there's a very interesting discussion on the Domain-Driven Design mailing list about the use of "pure" Java interfaces (the one expressed by the interface keyword) or classic abstract classes for modeling and implementing domain objects.I strongly suggest you to read the whole thread.But for now, let me summarise a bit.I'm a strong supporter of the use of interfaces in domain model.As </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/116229062964915029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=116229062964915029' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/116229062964915029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/116229062964915029'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/10/java-interfaces-or-abstract-classes.html' title='Java Interfaces or Abstract Classes?'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-116117551878274468</id><published>2006-10-18T14:42:00.000+02:00</published><updated>2007-11-05T15:00:46.167+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring-Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring-Modules'/><title type='text'>Integrating Prevayler into Spring: ease your persistence with Prevayler-Template.</title><summary type='text'>System prevalence is a term coined by Klaus Wuestefeld, denoting a transparent persistence solution.Let me give some more details for understanding what that means. A prevalent system is a system made of business objects which obey the following rules:They must be serializable.The must be deterministic, that is, given some input to a business method, it must always return the same output.A </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/116117551878274468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=116117551878274468' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/116117551878274468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/116117551878274468'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/10/integrating-prevayler-into-spring-ease.html' title='Integrating Prevayler into Spring: ease your persistence with Prevayler-Template.'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-116003683982224029</id><published>2006-10-05T10:17:00.000+02:00</published><updated>2007-11-05T15:09:50.094+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring-Framework'/><title type='text'>Spring 2.0 and Maven 2</title><summary type='text'>And finally, the happy ending: Spring 2.0 is in the Maven 2 repository! This is a great gift for the whole (rich) Maven 2 community.My best congratulations to Ben Hale and the whole Spring team!</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/116003683982224029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=116003683982224029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/116003683982224029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/116003683982224029'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/10/spring-20-and-maven-2.html' title='Spring 2.0 and Maven 2'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-115995110353235134</id><published>2006-10-04T10:21:00.000+02:00</published><updated>2007-11-05T14:59:58.570+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring-Framework'/><title type='text'>Great news about Spring</title><summary type='text'>Hi all,there are great news in the air about the Spring Framework.I think all of you know that the final 2.0 version has been released yesterday, but you may not know that Spring 2.0 will be published into the official Maven2 repository in the next days: take a look here.That's great!In the meantime, Spring Modules 0.6 has been also published yesterday into Maven2 repository: that's great, too!</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/115995110353235134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=115995110353235134' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/115995110353235134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/115995110353235134'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/10/great-news-about-spring.html' title='Great news about Spring'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-115753420846180761</id><published>2006-09-06T11:06:00.000+02:00</published><updated>2007-11-05T14:54:30.690+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>I'm back</title><summary type='text'>Hello guys,I'm finally back.I've been very busy at work.Then, I've been on vacations for three weeks.Now?Well ... what a question ... I'm busy, busy, busy!I have, as usual, a lot of work, and I'm applying myself in fixing the last issues prior to the upcoming Spring Modules release.However, I'll try to blog as much as possible, obviously trying to write something interesting ... at least by my </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/115753420846180761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=115753420846180761' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/115753420846180761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/115753420846180761'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/09/im-back.html' title='I&apos;m back'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-115350336786368555</id><published>2006-07-21T19:32:00.000+02:00</published><updated>2007-11-05T15:02:22.374+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object-Oriented-Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Design-Patterns'/><title type='text'>Constructing View objects with the Builder pattern</title><summary type='text'>Domain-Driven Design gives us important concepts like Entities, Value objects, Factories, Repositories, Aggregates, Services, but doesn't talk about View objects and how to construct them.View objects, as I see them, are a kind of DTOs without the burden of DTOs.While DTOs represent and duplicate domain objects data, View objects simply represent data requested by a view and extracted from one or</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/115350336786368555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=115350336786368555' title='27 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/115350336786368555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/115350336786368555'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/07/constructing-view-objects-with-builder.html' title='Constructing View objects with the Builder pattern'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>27</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-115288875969593578</id><published>2006-07-14T16:47:00.000+02:00</published><updated>2007-11-05T15:00:46.168+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring-Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring-Modules'/><title type='text'>Spring Modules 0.5 and the XT Framework</title><summary type='text'>Today, Spring Modules 0.5 has been released.It contains a lot of improvements, as you can read from the announcement, among which you can find my main contribution to the project: the brand new Spring Modules XT Framework.Born toward the end of the last year as SpringXT, you can find its old (never publicly announced) home page here, I'm proud and happy to say it is now a top level module of </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/115288875969593578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=115288875969593578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/115288875969593578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/115288875969593578'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/07/spring-modules-05-and-xt-framework.html' title='Spring Modules 0.5 and the XT Framework'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-115260767642860952</id><published>2006-07-11T10:42:00.000+02:00</published><updated>2007-10-19T17:23:34.495+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object-Oriented-Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Design-Patterns'/><title type='text'>Avoid your getters and setters, Part 1</title><summary type='text'>In the Java world, getters and setters are one of those things everyone says to hate but everyone actually uses.I think this is mainly because:They are procedural, heritage of C-style (or even older) programming.They are a practice embedded by JavaBeans conventions.Many ORM and Web frameworks heavily use getters and setters.In a series of blog posts called Avoid your getters and setters, I'll try</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/115260767642860952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=115260767642860952' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/115260767642860952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/115260767642860952'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/07/avoid-your-getters-and-setters-part-1.html' title='Avoid your getters and setters, Part 1'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-115237933168509371</id><published>2006-07-08T19:20:00.000+02:00</published><updated>2007-11-05T14:52:05.411+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Java should provide interface level equality</title><summary type='text'>While working to a business domain model in a pure Object Oriented approach, one thing I miss in Java is the concept, hence the implementation, of type equality, where for type I mean interface.Let me explain with a simple example.Say you have a Customer entity, that in your domain model is an interface, that is, a type:public interface Customer {    public String getCustomerCode();  public </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/115237933168509371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=115237933168509371' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/115237933168509371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/115237933168509371'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/07/java-should-provide-interface-level.html' title='Java should provide interface level equality'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-115200345194524909</id><published>2006-07-04T10:56:00.000+02:00</published><updated>2007-11-05T14:54:30.691+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>A great day</title><summary type='text'>About one month has passed since the last time I've made a post.I'm very busy at the moment, but today is a great day.I'd like to say I'm very proud of being, from now on, a Spring Modules committer!Thank you very much to Costin Leau, the Spring Modules Lead, and the whole team: I'll try to do my best!What will be my involvement in Spring Modules?Stay tuned, I'll let you know in another post.</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/115200345194524909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=115200345194524909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/115200345194524909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/115200345194524909'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/07/great-day.html' title='A great day'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-115005073996668177</id><published>2006-06-11T20:28:00.000+02:00</published><updated>2007-11-05T14:53:16.256+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object-Oriented-Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Solving Method Contract Problems</title><summary type='text'>In these last days an interesting discussion about the final Java keyword took place in many sites and blogs: take a look here and here.I don't want to add my opinion about that because everything has been already discussed.What caught my attention was the following statement in this very interesting blog post by Elliotte Rusty Harold:It is a general principle of object oriented programming that </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/115005073996668177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=115005073996668177' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/115005073996668177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/115005073996668177'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/06/solving-method-contract-problems.html' title='Solving Method Contract Problems'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-114995893989670108</id><published>2006-06-10T19:00:00.000+02:00</published><updated>2007-11-05T15:00:46.168+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring-Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring-Modules'/><title type='text'>Spring Modules 0.4 released</title><summary type='text'>The Spring Modules project has released today the 0.4 version: you can find the announcement here.It is still under deep development and maybe not ready for certain production environments, but the modules I played with (or I read of) seem to be stable, and it contains a lot of interesting stuff.In particular, I'm very interested in the Valang Validator, because writing Spring Validators in Java </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114995893989670108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114995893989670108' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114995893989670108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114995893989670108'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/06/spring-modules-04-released.html' title='Spring Modules 0.4 released'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-114892391174601525</id><published>2006-05-29T19:05:00.000+02:00</published><updated>2007-11-05T14:54:30.691+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Caught by an iPod Nano</title><summary type='text'>Ok, it finally happened some days ago: I bought a black Apple iPod Nano.I don't generally fall in love with all those fashionable things (mmmhhhh ... maybe sometimes ...), but this time Apple caught me with its iPod Nano, and I have to say it's worth one's while.   You may know I'm a proud Linux user, so here are some tools you may want to use for making your iPod talking with your good Penguin:</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114892391174601525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114892391174601525' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114892391174601525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114892391174601525'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/05/caught-by-ipod-nano.html' title='Caught by an iPod Nano'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-114848672389343779</id><published>2006-05-24T17:55:00.000+02:00</published><updated>2007-11-05T14:56:46.684+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><title type='text'>Google Web Toolkit: The Next Big Hype</title><summary type='text'>Let me say something about Google (I don't put links here because everyone knows).I love Google Search Engine.I love Google Mail.I love Google Chat.I think all those people at Google are great in creating advanced (and cool) applications.This is what I think, and this is what a lot of people also think.Now, too bad, thanks to this kind of leadership, everything Google produces gets acclaimed by </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114848672389343779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114848672389343779' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114848672389343779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114848672389343779'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/05/google-web-toolkit-next-big-hype.html' title='Google Web Toolkit: The Next Big Hype'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-114787947695927313</id><published>2006-05-17T17:17:00.000+02:00</published><updated>2007-11-05T14:59:58.571+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring-Framework'/><title type='text'>Spring Hacks :  Reflection Based Property Editors.</title><summary type='text'>Property Editors are a J2SE feature used for editing JavaBeans properties from user interfaces, typically representing these properties as text values.They are used in SpringMVC for similar purposes: representing and binding complex objects in web interfaces as they were simple, plain, properties. A short example will clarify.Say you have an Order owning a collection of Orders, each with its </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114787947695927313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114787947695927313' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114787947695927313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114787947695927313'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/05/spring-hacks-reflection-based-property.html' title='Spring Hacks :  Reflection Based Property Editors.'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-114736852882102407</id><published>2006-05-11T19:16:00.000+02:00</published><updated>2007-11-05T15:03:48.097+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Domain-Driven-Design'/><title type='text'>Enhancing Composite Specifications with Message Notifications</title><summary type='text'>In this blog entry we'll enhance our previous Composite Specifications implementation, in order to sending message notifications at evaluation time.We'll take back some ideas from A notification strategy for business errors and related comments by Johannes Brodwall.We'll use the same concept of Notification object, but intended as a carrier of generic messages (not only errors).So, let's start </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114736852882102407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114736852882102407' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114736852882102407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114736852882102407'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/05/enhancing-composite-specifications.html' title='Enhancing Composite Specifications with Message Notifications'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-114709824206713253</id><published>2006-05-08T16:16:00.000+02:00</published><updated>2007-11-05T15:03:48.098+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Domain-Driven-Design'/><title type='text'>Implementing Composite Specifications</title><summary type='text'>In my previous post, An idea for Composite Specifications, we took a look at how a composite specification could be structured and designed.Now, we'll see how to concretely implement it, using (as always here in my blog, where not specified) the Java language.Let us rewrite the composite specification interfaces:public interface Specification&lt;O&gt; {        public boolean evaluate(O o);}public </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114709824206713253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114709824206713253' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114709824206713253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114709824206713253'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/05/implementing-composite-specifications.html' title='Implementing Composite Specifications'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-114658254695986693</id><published>2006-05-02T16:05:00.000+02:00</published><updated>2007-11-05T15:03:48.099+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Domain-Driven-Design'/><title type='text'>An idea for Composite Specifications</title><summary type='text'>Several days ago I've written some blog posts about how to work with and implement Specifications.In particular, I've written one article about how to implement Specifications with Apache Commons Collections.For a short recalling, we implemented Specifications using Commons Predicate as base interface, which let us combine those specifications using Commons PredicateUtils class.This approach has </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114658254695986693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114658254695986693' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114658254695986693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114658254695986693'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/05/idea-for-composite-specifications.html' title='An idea for Composite Specifications'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-114580943196805608</id><published>2006-04-23T18:12:00.000+02:00</published><updated>2007-11-05T14:52:05.413+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Code that is worth reading</title><summary type='text'>I must suggest you to read the following blog entry by Gregor Hohpe: March is Not a Number.It well emphasises the importance of a well written, expressive, code, showing also another example of how fluent interfaces can help you write such a code. Obviously, it is also related to Domain Driven Design!Have a nice reading!</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114580943196805608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114580943196805608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114580943196805608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114580943196805608'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/04/code-that-is-worth-reading.html' title='Code that is worth reading'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-114474699355453378</id><published>2006-04-11T11:15:00.000+02:00</published><updated>2007-11-05T14:58:15.411+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><title type='text'>Is there some hope in Italy?</title><summary type='text'>My blog friend Roni Burd recently blogged about his difficulties in founding money funds for going in United States and attending a Master in Software Engineering in the Carnegie Mellon college.Roni comes from Argentina: its recent economic collapse left people savings very devaluated, and lowered people salaries to a mean, as Roni said, of about $ 18.000 per year for a good salary.Italy </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114474699355453378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114474699355453378' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114474699355453378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114474699355453378'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/04/is-there-some-hope-in-italy.html' title='Is there some hope in Italy?'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-114448942959557488</id><published>2006-04-08T11:42:00.000+02:00</published><updated>2007-11-05T14:54:30.691+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>New look, again</title><summary type='text'>As you can notice, I've changed my blog look again.I hope this new layout and colours will enhance your reading, in particular making it more relaxing ... I must admit old colours were not so eye-relaxing, in particular for long posts ... but now they are a lot more readable and I also love this new look and feel!The only thing I have to define is how to write long code snippets in a reasonable </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114448942959557488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114448942959557488' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114448942959557488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114448942959557488'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/04/new-look-again.html' title='New look, again'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-114443136288171339</id><published>2006-04-07T19:35:00.000+02:00</published><updated>2007-11-05T14:54:30.692+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Very busy ...</title><summary type='text'>Hello all,too bad, in these past weeks I've been very busy and I wasn't able to post anything.I spent most of my time in refactoring a legacy corporate banking application, in order to make its core components using the Spring Framework for configuration and dependencies management.However, I also spent a lot of time working on a brand new open source project aimed at extending the beautiful </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114443136288171339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114443136288171339' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114443136288171339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114443136288171339'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/04/very-busy.html' title='Very busy ...'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-114244193513665152</id><published>2006-03-15T17:57:00.000+01:00</published><updated>2007-11-05T15:03:48.099+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Domain-Driven-Design'/><title type='text'>A notification strategy for business errors</title><summary type='text'>In one of my past posts we talked about implementing specifications with Apache Commons Collections.Recall: we used specifications for validating a requestGraduationThesis method of a Student object.One common need, as emerged here, is to communicate the result of this validation in case something goes wrong.That is, we need to transfer errors resulted from business methods to the layers above, </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114244193513665152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114244193513665152' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114244193513665152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114244193513665152'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/03/notification-strategy-for-business.html' title='A notification strategy for business errors'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-114122417980941622</id><published>2006-03-01T15:41:00.000+01:00</published><updated>2007-11-05T14:54:30.692+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Blog improvements</title><summary type='text'>During these days I've spent some time in improving my blog.Despite of how much difficult is to customize Blogger blogs, I've got very good results!Here are the improvements:A new three columns layout (found here), with two sidebars.A "Categories" section in the left sidebar, for browsing my posts per categories, supported by the great del.icio.us service: it took me some hours to make this work,</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114122417980941622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114122417980941622' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114122417980941622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114122417980941622'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/03/blog-improvements.html' title='Blog improvements'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-114097302154481328</id><published>2006-02-26T17:47:00.000+01:00</published><updated>2007-11-05T15:08:49.368+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Design-Patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='Domain-Driven-Design'/><title type='text'>Protecting domain objects with protection proxies</title><summary type='text'>I write this blog entry in response to this mail in the Domain-Driven Design discussion group, regarding how to protect access to certain properties of domain objects.Here is a snippet of the problem as described by the author of the mail, Pascal:I'm in a situation where we are redesigning a large core business system using domain driven techniques (which we've come to love, BTW). The resulting </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114097302154481328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114097302154481328' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114097302154481328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114097302154481328'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/02/protecting-domain-objects-with.html' title='Protecting domain objects with protection proxies'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-114094483498629779</id><published>2006-02-26T09:52:00.000+01:00</published><updated>2006-02-26T10:07:15.210+01:00</updated><title type='text'>SourceForge meets Subversion</title><summary type='text'>From my SourceForge.net subscription update :The SourceForge.net team is pleased to announce the General Availability of Subversion service to SourceForge.net-hosted projects, effective 2006-02-21. This service offering is in addition to our existing CVS service; as with all of our services, projects may select (and enable in the project admin pages) the portion of our offering that best meets </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114094483498629779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114094483498629779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114094483498629779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114094483498629779'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/02/sourceforge-meets-subversion.html' title='SourceForge meets Subversion'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-114071808367317320</id><published>2006-02-23T19:07:00.000+01:00</published><updated>2006-02-23T19:13:03.643+01:00</updated><title type='text'>Toward a Semantic Blog</title><summary type='text'>As you can see in the sidebar, I've just added some blog links in the Links section and, that's more important, I've created a FOAF file of mine.What is, in short, a FOAF file?FOAF (Friend-Of-A-Friend) is an RDF vocabulary describing information about people, their interest and relationships.You could say that this is already done by a simple web page ... the answer is that FOAF, being an RDF </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114071808367317320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114071808367317320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114071808367317320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114071808367317320'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/02/toward-semantic-blog.html' title='Toward a Semantic Blog'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-114053267353164953</id><published>2006-02-21T13:38:00.000+01:00</published><updated>2007-11-05T15:03:48.100+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Domain-Driven-Design'/><title type='text'>Implementing Specifications with Apache Commons Collections</title><summary type='text'>Some days ago I read a blog entry by Roni Burd, commenting on my A case for specifications post, where he mentioned the possible use of Apache Commons Collections facilities for implementing and combining Specifications.I think this a very good idea.Let us play a bit.First of all, we need to download Apache Commons Collections and put its jar in our classpath.Then, we need a little domain for our</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/114053267353164953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=114053267353164953' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114053267353164953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/114053267353164953'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/02/implementing-specifications-with.html' title='Implementing Specifications with Apache Commons Collections'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-113994102776454459</id><published>2006-02-14T19:13:00.000+01:00</published><updated>2007-11-05T15:03:48.101+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Domain-Driven-Design'/><title type='text'>Another case for Specifications</title><summary type='text'>Yesterday I've started to hold my third week of courses, introducing people to Enterprise Application Design and Development using the wonderful Hibernate and Spring.Using, as a reference, the well known Patterns Of Enterprise Application Architecture book, I've came across this sentences:One of the hardest parts of working with domain logic seems to be that people often find it difficult to </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113994102776454459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113994102776454459' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113994102776454459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113994102776454459'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/02/another-case-for-specifications.html' title='Another case for Specifications'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-113985207462049179</id><published>2006-02-13T18:33:00.000+01:00</published><updated>2007-11-06T15:51:02.783+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sourcesense'/><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>SourceSense : Logo Challenge</title><summary type='text'>My (should I say "ex", Gianugo?) colleague Gianugo Rabellino is starting a new, very promising, open source based company : SourceSense.If you feel comfortable with graphics, you can submit a fancy logo for SourceSense here and try to win a new MacBook Pro laptop (if you are reading, Mario, you should REALLY REALLY try)!So, good luck for your logo! ... and a shiny future for your company, Gianugo!</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113985207462049179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113985207462049179' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113985207462049179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113985207462049179'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/02/sourcesense-logo-challenge.html' title='SourceSense : Logo Challenge'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-113878786602894004</id><published>2006-02-01T10:52:00.000+01:00</published><updated>2007-11-05T14:52:05.414+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Rome JUG : First Meeting</title><summary type='text'>Since December 2005, Rome has its first, official, Java User Group. On 25th January 2006 there was its first meeting, with two interesting talks regarding:  Neural networks and the Joone framework, by Paolo Morrone. Alternative persistence frameworks, by Ugo Landini (yes, the OO guru!).   If you crunch Italian language, you can download presentations and audio podcasts of the two talks here.  </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113878786602894004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113878786602894004' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113878786602894004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113878786602894004'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/02/rome-jug-first-meeting.html' title='Rome JUG : First Meeting'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-113862244924667014</id><published>2006-01-30T10:52:00.000+01:00</published><updated>2007-11-05T15:03:48.101+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Domain-Driven-Design'/><title type='text'>A case for Specifications</title><summary type='text'>It has been a long time since I wanted to post about this, and now, finally, here I am.In this post I want to talk a bit about Specification, a Domain-Driven Design pattern I think very interesting and useful in a lot of situations.What is, so, a Specification?Domain models are not only about entities, relations and collaborations. Domain models must also host a lot of implicit concepts and rules</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113862244924667014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113862244924667014' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113862244924667014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113862244924667014'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/01/case-for-specifications.html' title='A case for Specifications'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-113775655085513375</id><published>2006-01-20T12:17:00.000+01:00</published><updated>2007-11-05T14:54:30.692+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Google, finally!</title><summary type='text'>Google finally hit the target, again.Now, if you search for "sergio bossa blog" you'll get my personal blog (yes, this site) as its first result.I'm very well-satisfied ... don't you see?</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113775655085513375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113775655085513375' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113775655085513375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113775655085513375'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/01/google-finally.html' title='Google, finally!'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-113769397249840038</id><published>2006-01-19T18:58:00.000+01:00</published><updated>2007-11-05T14:58:15.411+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>A funny quote ...</title><summary type='text'>I can't help but laughing about this:The March of Progress1980: C  printf("%10.2f", x);1988: C++cout &lt;&lt; setw(10) &lt;&lt; setprecision(2) &lt;&lt; showpoint &lt;&lt; x; 1996: Java java.text.NumberFormat formatter = java.text.NumberFormat.getNumberInstance();formatter.setMinimumFractionDigits(2);  formatter.setMaximumFractionDigits(2);String s = formatter.format(x);  for (int i = s.length(); i &lt; 10; i++) </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113769397249840038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113769397249840038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113769397249840038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113769397249840038'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/01/funny-quote.html' title='A funny quote ...'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-113751058231480508</id><published>2006-01-17T16:06:00.000+01:00</published><updated>2007-11-05T15:04:47.219+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object-Oriented-Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Teaching Object Oriented-ness</title><summary type='text'>OK, new year, old life, and very poor free time for posting or enjoying a lot of new technologies waiting for me and requesting my attention!!!!I should find more time .... no, correct myself .... I MUST find more time!!!!Repeat, please : more time, more time, more time ..... !!!!However, I don't want to talk about this, but rather about what happened to me some days ago: in fact, last week I </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113751058231480508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113751058231480508' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113751058231480508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113751058231480508'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/01/teaching-object-oriented-ness.html' title='Teaching Object Oriented-ness'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-113619392691849778</id><published>2006-01-02T10:17:00.000+01:00</published><updated>2007-11-05T14:54:30.692+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>A New Year</title><summary type='text'>Another year passed fast.Another year starts to pass.For our memories.Shantih shantih shantih.(T.S. Eliot, The Waste Land, verse 433)</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113619392691849778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113619392691849778' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113619392691849778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113619392691849778'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2006/01/new-year.html' title='A New Year'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-113474120094988176</id><published>2005-12-16T14:48:00.000+01:00</published><updated>2007-11-05T15:04:47.220+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object-Oriented-Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>The beauty of the State (Pattern)</title><summary type='text'>Ok, let's talk about design, please.First, recall what said in my previous post:Say the boost() method, depending on the GearType, must do the following:Decreasing Car fuelQuantity and oilQuantity.Calling changeGear() on TransmissionGearHow would you do this?For a moment, I'll talk about the straightforward way: if you have a boost() method on the Car object, which must behave differently </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113474120094988176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113474120094988176' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113474120094988176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113474120094988176'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/12/beauty-of-state-pattern.html' title='The beauty of the State (Pattern)'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-113294169869218514</id><published>2005-11-25T18:50:00.001+01:00</published><updated>2007-11-05T15:04:47.220+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object-Oriented-Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Object Challenge</title><summary type='text'>Challenges are always something people love to face ..... if you want an example, think to Sudoku success!!!So, I want to submit you a challenge based on some object oriented crunches.Give me your attention for some minutes, if you care, or if you don't have something better to do.Say you have a Car object in your business domain. It has state and behaviour, so no, it is not an anemic business </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113294169869218514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113294169869218514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113294169869218514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113294169869218514'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/11/object-challenge.html' title='Object Challenge'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-113266568973663212</id><published>2005-11-22T14:14:00.000+01:00</published><updated>2007-11-05T14:59:58.571+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring-Framework'/><title type='text'>Unit testing with the Spring Framework, Part 2</title><summary type='text'>In one of my old posts,  Unit testing DAO classes in the Spring Framework, I talked about how to test Hibernate based DAO classes implemented with the HibernateDAOSupport Spring template.However, inspired by a Matt Raible blog post, I've recently started to use the AbstractTransactionalDataSourceSpringContextTests Spring class.It's a long time since I want to post about this very interesting </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113266568973663212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113266568973663212' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113266568973663212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113266568973663212'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/11/unit-testing-with-spring-framework.html' title='Unit testing with the Spring Framework, Part 2'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-113207522402651216</id><published>2005-11-15T18:15:00.000+01:00</published><updated>2007-11-05T14:54:30.693+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Strange side effects of White Phosphorus (WP)</title><summary type='text'>From an interview to Lieutenant Colonel Steve Boylan, spokesperson for the U.S. military in Iraq, Jeff Englehart, former army Specialist in Iraq, and Maurizio Torrealta, News Editor for the Italian television RAI and co-producer of the film "Fallujah: The Hidden Massacre":LT. COL. STEVE BOYLAN: We have used it in the past. It is a perfectly legal weapon to use.AMY GOODMAN: Maurizio Torrealta, </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113207522402651216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113207522402651216' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113207522402651216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113207522402651216'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/11/strange-side-effects-of-white.html' title='Strange side effects of White Phosphorus (WP)'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-113207475697565131</id><published>2005-11-15T18:07:00.000+01:00</published><updated>2007-11-05T14:54:30.693+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>How good is White Phosphorus (WP)</title><summary type='text'>From an interview to Lieutenant Colonel Steve Boylan, spokesperson for the U.S. military in Iraq:AMY GOODMAN: So are you confirming that you used white phosphorus in Fallujah, but saying that it's simply not illegal?LT. COL. STEVE BOYLAN: White phosphorus has been used. I do not recall it was used as an offensive weapon. White phosphorus is used for marking targets for both air and ground forces.</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113207475697565131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113207475697565131' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113207475697565131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113207475697565131'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/11/how-good-is-white-phosphorus-wp.html' title='How good is White Phosphorus (WP)'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-113205466672138246</id><published>2005-11-15T12:32:00.000+01:00</published><updated>2007-11-05T14:54:30.693+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>How to survive White Phosphorus (WP) ...</title><summary type='text'>... if you are ACCIDENTALLY hit by WP particles during a military action. From GlobalSecurity.org (see here):If burning particles of WP strike and stick to the clothing, take off the contaminated clothing quickly before the WP burns through to the skin. Remove quickly all clothing affected by phosphorus to prevent phosphorus burning through to skin. If this is impossible, plunge skin or clothing </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113205466672138246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113205466672138246' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113205466672138246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113205466672138246'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/11/how-to-survive-white-phosphorus-wp.html' title='How to survive White Phosphorus (WP) ...'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-113205422460624128</id><published>2005-11-15T12:24:00.000+01:00</published><updated>2007-11-05T14:54:30.693+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>White Phosphorus (WP)</title><summary type='text'>From GlobalSecurity.org (see here):WP is a colorless to yellow translucent wax-like substance with a pungent, garlic-like smell. The form used by the military is highly energetic (active) and ignites once it is exposed to oxygen. White phosphorus is a pyrophoric material, that is, it is spontaneously flammable.White phosphorus results in painful chemical burn injuries. The resultant burn </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113205422460624128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113205422460624128' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113205422460624128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113205422460624128'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/11/white-phosphorus-wp.html' title='White Phosphorus (WP)'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-113170066254038785</id><published>2005-11-11T10:16:00.000+01:00</published><updated>2007-11-05T14:54:30.693+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Your Face Tomorrow</title><summary type='text'>Sometimes I wonder if my life would be a lot better and easier if I didn't know anything.Anything about people, I mean.Anything about my friends, my family, even about me, even about unknown people.This is a strange thing to tell and I don't know if anything of you can understand, but what I think is that people, but I'd rather better say humans, rarely know by itself what they really are and </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113170066254038785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113170066254038785' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113170066254038785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113170066254038785'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/11/your-face-tomorrow.html' title='Your Face Tomorrow'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-113144831124313020</id><published>2005-11-08T11:59:00.000+01:00</published><updated>2007-11-05T14:52:05.415+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>The importance of being extremely built</title><summary type='text'>Ok, as said in my last post, daily builds are good, but what is better?Like pointed out by my colleague Ugo Cei, like recommended by XP practises, and like well explained here by Martin Fowler, it is better and better to install a Continuous Integration System, in order to go through the "checkout / build / test" process in a fully automated way and many times per day, avoiding the so called "</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113144831124313020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113144831124313020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113144831124313020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113144831124313020'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/11/importance-of-being-extremely-built.html' title='The importance of being extremely built'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-113109820725752159</id><published>2005-11-04T10:55:00.000+01:00</published><updated>2007-11-05T14:52:05.415+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>The importance of being daily built.</title><summary type='text'>Yesterday I was reading "The Joel Test: 12 Steps to Better Code" : I had already read that article, but yesterday I've given it more than a thought.Among other things, my mind was caught by the third item : "Do you make daily builds?".My answer was "no", and my question was: why is this so important?Yes, I said, they are a good thing and let your team check every day if their new commits do not </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113109820725752159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113109820725752159' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113109820725752159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113109820725752159'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/11/importance-of-being-daily-built.html' title='The importance of being daily built.'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-113033154844978076</id><published>2005-10-26T14:45:00.000+02:00</published><updated>2007-11-05T14:52:05.416+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>JavaZone 2005 ... online!</title><summary type='text'>Hello all,It has been a long time since the last post, but I'm very busy here at work, so please forgive me!This is one of these news which really enjoy me ... Javalobby has published on-line videos and MP3 podcasts of the JavaZone 2005 conferences ... take a look here: http://www.javalobby.org/av/javazone/.Watching and listening to conferences held by great minds is always awesome, and you can </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/113033154844978076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=113033154844978076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113033154844978076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/113033154844978076'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/10/javazone-2005-online.html' title='JavaZone 2005 ... online!'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-112841563586371725</id><published>2005-10-04T10:00:00.000+02:00</published><updated>2007-11-05T14:52:05.416+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Talking about Cocoon</title><summary type='text'>A recent post on Cocoon dev mailing list, by the Cocoon founder Stefano Mazzocchi, said that "Cocoon is obsolete" ... take a look at the full post for details.My colleague Ugo Cei, a Cocoon committer, comments on in one of his blogs entry:For a long time, I’ve been convinced that Cocoon must do less, much less than what it currently does if it wants to thrive and survive. Now it tries to be </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/112841563586371725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=112841563586371725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112841563586371725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112841563586371725'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/10/talking-about-cocoon.html' title='Talking about Cocoon'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-112807393083446702</id><published>2005-09-30T11:31:00.000+02:00</published><updated>2007-11-05T14:54:30.694+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Photos from a beautiful Calabria</title><summary type='text'>A friend of mine has published a very nice photo set on Focus, an italian magazine.The subject is a beautiful Calabria which I want to share with you .... here are some links:http://www.focus.it/community/contr_new.asp?ID=10005http://www.focus.it/community/contr_new.asp?ID=10009http://www.focus.it/community/contr_new.asp?ID=10011And my preferred one:Take a look and if you want give them a vote! </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/112807393083446702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=112807393083446702' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112807393083446702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112807393083446702'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/09/photos-from-beautiful-calabria.html' title='Photos from a beautiful Calabria'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-112798078733595550</id><published>2005-09-29T09:35:00.000+02:00</published><updated>2007-11-05T14:56:31.967+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>An AJAX office suite</title><summary type='text'>Yes, I say, everyone wants AJAX.Yes, I say, AJAX usefulness in rich web application development is true: just in these days, for compatibility reasons, I turned off AJAX support from the web project I'm working on, which previously was AJAX-enabled, and I REALLY NOTICE the difference. And yes, AJAX is very appealing for many developers (like me).But my mind could never imagine this:I'm a bit </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/112798078733595550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=112798078733595550' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112798078733595550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112798078733595550'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/09/ajax-office-suite.html' title='An AJAX office suite'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-112722837562866119</id><published>2005-09-20T16:53:00.000+02:00</published><updated>2007-11-05T14:59:58.571+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring-Framework'/><title type='text'>Unit testing DAO classes in the Spring Framework</title><summary type='text'>One of the major claims of the Spring framework is its non-intrusiveness, which, among other things, permits to unit test all classes managed by the Spring container.So, it is natural that I felt very surprised when yesterday my unit test failed two times while testing a DAO class, based on Hibernate and implemented with the HibernateDaoSupport class provided by Spring.The first time, my unit </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/112722837562866119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=112722837562866119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112722837562866119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112722837562866119'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/09/unit-testing-dao-classes-in-spring.html' title='Unit testing DAO classes in the Spring Framework'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-112712116821481829</id><published>2005-09-19T11:02:00.000+02:00</published><updated>2007-11-05T14:54:30.694+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Takk...</title><summary type='text'>Simply beautiful.No other words than these, because no human word can describe what art and creation are.</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/112712116821481829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=112712116821481829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112712116821481829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112712116821481829'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/09/takk.html' title='Takk...'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-112625743205584092</id><published>2005-09-09T11:13:00.000+02:00</published><updated>2007-11-05T14:54:30.694+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>.... and come back.</title><summary type='text'>There's always a come back, wherever you go you'll always end up coming back to same place, maybe this is our destiny, maybe this is our damnation, maybe our salvation.It's like the sea ... what if the sea didn't come back towards earth?So, this is my "come back".I'm in Rome since Monday, but I've been very busy until today ...First, my Linux box with Fedora Core 3 started going crazy .... maybe </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/112625743205584092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=112625743205584092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112625743205584092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112625743205584092'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/09/and-come-back.html' title='.... and come back.'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-112448773567761176</id><published>2005-08-19T23:40:00.000+02:00</published><updated>2007-11-05T14:54:30.695+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Going away ....</title><summary type='text'>Tomorrow I'll leave Rome, being away for two weeks.I'll come back home, my, home, in Messina, Sicily, enjoying my family, my girlfriend, my friends, plus a lot of sun, sea and ... relax.The right energy for continuing the already started work, and starting new exciting projects ...I have a lot of ideas .... but they will wait for September.Now, farewell.And good night.</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/112448773567761176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=112448773567761176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112448773567761176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112448773567761176'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/08/going-away.html' title='Going away ....'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-112414182249322767</id><published>2005-08-15T23:32:00.000+02:00</published><updated>2007-11-05T14:54:30.695+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Time Out of Joint</title><summary type='text'>"The time is out of joint. O, cursed spite,That ever I was born to set it right!"Hamlet, William Shakespeare When I first read this, suddenly Hermann Hesse's "Steppenwolf" novel came to my mind.This beautiful (and meaningful) novel talks about the crisis of a 48 year old man, Harry Haller, his conflicts with a world that he views as populated by people living meaningless lives, his frail belief </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/112414182249322767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=112414182249322767' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112414182249322767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112414182249322767'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/08/time-out-of-joint.html' title='Time Out of Joint'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-112315033403527013</id><published>2005-08-04T11:48:00.000+02:00</published><updated>2007-11-05T14:52:05.416+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Native support for binding "complex" properties in Cocoon Forms</title><summary type='text'>This is a good news for all those Cocoon guys.Cocoon Forms has now a "native" support for "complex" properties and JXPath factories.Simply implement your JXPath factory, as shown in my previous post, and configure it in you binding, without adding any other class.Take a look at this XML snippet showing a binding example:&lt;fb:context xmlns:fb="http://apache.org/cocoon/forms/1.0#binding"</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/112315033403527013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=112315033403527013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112315033403527013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112315033403527013'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/08/native-support-for-binding-complex.html' title='Native support for binding &quot;complex&quot; properties in Cocoon Forms'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-112276157562361685</id><published>2005-07-30T23:46:00.000+02:00</published><updated>2007-11-05T14:52:05.417+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>A strategy for binding "complex" properties in Cocoon Forms</title><summary type='text'>First, a short introduction about the problem context.Cocoon Forms provides a binding framework for both loading object properties into form widgets and saving form values into object properties.This is done through the association of every form widget you want to bind, with a JXPath expression leading to a particular object property.This is an XML snippet showing a binding example:&lt;fb:value id="</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/112276157562361685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=112276157562361685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112276157562361685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112276157562361685'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/07/strategy-for-binding-complex.html' title='A strategy for binding &quot;complex&quot; properties in Cocoon Forms'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-112215820923695085</id><published>2005-07-24T00:24:00.000+02:00</published><updated>2007-11-05T14:56:31.968+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>Me and AJAX</title><summary type='text'>AJAX, Asynchronous Javascript And XML, is one of those acronyms you have surely read of in some web sites like TheServerSide or XML.com.It is one of those technologies which rises a great hype, with everyone talking and talking about it.However, I must admit, I've never read much about it, being too much absorbed by other technologies and ideas, and being a strong supporter of server-side code </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/112215820923695085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=112215820923695085' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112215820923695085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112215820923695085'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/07/me-and-ajax.html' title='Me and AJAX'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-112211854156870853</id><published>2005-07-23T13:29:00.000+02:00</published><updated>2007-11-05T15:05:10.111+01:00</updated><title type='text'>Montag WS-I Basic Profile Compliance</title><summary type='text'>This is the first great goal : Montag web services are officially compliant to the WS-I Basic Profile 1.1 recommendations.It took me an hard work to code and test services WSDLs and all the related stuff in order to achieve this ... but it was very worthwhile and now I feel happy for this result.Moreover, for this piece of good work I must thank Alex Saloustros for his precious .Net testing, and </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/112211854156870853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=112211854156870853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112211854156870853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112211854156870853'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/07/montag-ws-i-basic-profile-compliance.html' title='Montag WS-I Basic Profile Compliance'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-112186232885286580</id><published>2005-07-20T12:35:00.000+02:00</published><updated>2007-11-05T15:05:10.111+01:00</updated><title type='text'>Talking about Montag</title><summary type='text'>Montag is my main effort into the Open Source Community.It is a SOAP Web Services system for interacting with Native XML Databases, but here I don't want to talk about what it is, and what is not ... for this, you can take a look at its web site.I'd rather want to take a look at its future.Montag 0.8 will have, first of all, a consistent core code refactoring and rewriting, in order to support </summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/112186232885286580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=112186232885286580' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112186232885286580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112186232885286580'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/07/talking-about-montag.html' title='Talking about Montag'/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14570545.post-112163345400871499</id><published>2005-07-17T22:46:00.000+02:00</published><updated>2007-11-05T14:54:30.696+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'></title><summary type='text'>It is sunday, it is late evening and tomorrow a new week begins.On Monday 11 July I've joined Pro-Netics, in Rome, where I will work with great technologies and great minds.It promises to be a very interesting job and a very exciting experience.I hope to talk more about it later.But now ... Shakespeare's Hamlet waits for me.Good night.(nice dreams)</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/112163345400871499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=112163345400871499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112163345400871499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112163345400871499'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/07/it-is-sunday-it-is-late-evening-and.html' title=''/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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-14570545.post-112163316465711621</id><published>2005-07-17T22:44:00.000+02:00</published><updated>2007-11-05T14:54:30.696+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'></title><summary type='text'>Hello all.It took me a long time to start a blog, but now ... here I am.What about this blog?I'll talk mainly about Computer Science, which is my work and my main interest, but also about music and literature, which are my passion, and about every other thing will make sense for me.Hoping I will find the time!The play begins.Welcome.</summary><link rel='replies' type='application/atom+xml' href='http://sbtourist.blogspot.com/feeds/112163316465711621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14570545&amp;postID=112163316465711621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112163316465711621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14570545/posts/default/112163316465711621'/><link rel='alternate' type='text/html' href='http://sbtourist.blogspot.com/2005/07/hello-all.html' title=''/><author><name>Sergio Bossa</name><uri>http://www.blogger.com/profile/09315991044338298083</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></feed>
