tag:blogger.com,1999:blog-145705452008-07-14T11:34:27.117+02:00Thoughts and FragmentsSergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comBlogger80125tag:blogger.com,1999:blog-14570545.post-31898144844099977172008-06-16T11:34:00.001+02:002008-06-16T16:28:16.639+02:00Gridify your Spring application with Grid Gain @ Spring Italian Meeting 2008Last 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 own
I really enjoyed presenting it, and I think Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-19454731965015426932008-06-03T16:50:00.001+02:002008-06-16T12:36:14.973+02:00On the road from Scarlet 1.0 to 1.1Two 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 Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-51375502525729813642008-03-15T19:12:00.000+01:002008-06-16T12:36:14.974+02:00Scarlet 1.0 RC2 is out!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!Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-45985551700516622792008-02-11T10:27:00.000+01:002008-06-16T12:36:14.974+02:00Scarlet first release candidate is out!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 Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-18702172921383148262007-12-11T06:40:00.000+01:002007-12-11T06:44:58.604+01:00See you at Javapolis!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!Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-87464912660650887272007-12-08T16:07:00.000+01:002007-12-08T18:29:45.376+01:00Owner Based Locking explainedIf 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 Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-25680231386660590292007-12-05T14:48:00.000+01:002008-06-16T12:36:14.975+02:00News about ScarletOne 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 Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-90955150394184850572007-11-06T14:46:00.000+01:002008-06-16T12:36:14.976+02:00Scarlet is out!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 Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-74938026234011863532007-11-03T15:34:00.000+01:002007-11-03T15:43:52.769+01:00Introducing the Scala LanguageIt 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 Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-68191388874041224452007-10-26T18:07:00.000+02:002007-10-26T19:09:32.555+02:00The Fail Fast RuleEvery 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 Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-31827890535838276022007-10-23T10:27:00.000+02:002007-11-05T15:01:04.502+01:00JavaMail and GMail : it's all about configurationYesterday 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 Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-35202334349106178002007-10-19T15:07:00.000+02:002007-10-19T17:22:50.792+02:00Avoid your getters and setters, Part 2More 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 Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-4515539209290681382007-10-13T15:58:00.000+02:002007-10-13T17:58:30.136+02:00AliveHi 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,Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-66943594824446101292007-01-21T16:48:00.000+01:002007-11-05T15:07:31.617+01:00Join Us: Be Commons-Logging Free!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 Log4jSergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-1481183346401506942007-01-16T09:16:00.000+01:002007-01-16T09:17:21.524+01:00Five things you don't know about meSome 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 Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-1165755464302264542006-12-10T13:55:00.000+01:002007-11-05T15:08:01.674+01:00Spring Modules 0.7 and XT Framework HighlightsHi 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 Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-1165589638152783042006-12-08T15:50:00.000+01:002007-11-05T15:08:01.675+01:00Spring 2.0 and the P-NamespaceSome 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 suggestSergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-1164378182290556582006-11-24T15:21:00.000+01:002007-11-05T15:09:50.094+01:00Maven2 : Evil or Not?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 Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-1162290629649150292006-10-31T10:42:00.000+01:002007-11-05T15:01:58.856+01:00Java Interfaces or Abstract Classes?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 Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-1161175518782744682006-10-18T14:42:00.000+02:002007-11-05T15:00:46.167+01:00Integrating Prevayler into Spring: ease your persistence with Prevayler-Template.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.
Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-1160036839822240292006-10-05T10:17:00.000+02:002007-11-05T15:09:50.094+01:00Spring 2.0 and Maven 2And 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!Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-1159951103532351342006-10-04T10:21:00.000+02:002007-11-05T14:59:58.570+01:00Great news about SpringHi 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,Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-1157534208461807612006-09-06T11:06:00.000+02:002007-11-05T14:54:30.690+01:00I'm backHello 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 Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-1153503367863685552006-07-21T19:32:00.000+02:002007-11-05T15:02:22.374+01:00Constructing View objects with the Builder patternDomain-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 oneSergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.comtag:blogger.com,1999:blog-14570545.post-1152888759695935782006-07-14T16:47:00.000+02:002007-11-05T15:00:46.168+01:00Spring Modules 0.5 and the XT FrameworkToday, 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 Sergio Bossahttp://www.blogger.com/profile/09315991044338298083noreply@blogger.com