Archive for June, 2006

Search And AppFuse

Friday, June 30th, 2006

Integrating Compass with AppFuse in order to add search functionality is suppose to be simple. Compass already integrates nicely with Spring and Hibernate, and AppFuse is built on top of this two frameworks. Also, if your AppFuse app is built on top of Spring MVC, things are again much simpler since Compass comes with a Spring MVC search controller.

Just how simple it is? Chris Barham posted some notes in AppFuse user mailing list, and also asked for tech review on Compass forum. Enjoy!

TSSJS Barcelona Day Two

Friday, June 23rd, 2006

The second day of TSS Barcelona started with Simon Phipps talking about The Zen of Free. Simon is a very good presenter, and it seems like Open Source is very close to his heart. His session was already covered on TSS, so I won’t get into details, but I guess that the one thing missing was how Sun plans to handle Java and open source. I have no strong view on it, and am happy with how Java is right now. What people need to remember when they say that Sun should do this and that, is that there is always a possibility that things won’t turn the way we want them to. Just be careful when you talk to someone who says “You must do that, and all will be good and dandy”.

The next session was by Ted Neward about Messaging. Ted is a great presenter, and he puts on a show and really engages the audience, though sometimes he can scare them a bit :). Ted went through why you would want to use messaging under certain scenarios, and how you would go about and do it. The one thing that I noted from Ted presentation, was that he was talking about messaging in a much broader sense, whereabouts making an RPC call that is document centric (i.e. xml) can be considered messaging as oppose to exposing a strongly typed interface. Of course, he also explained the benefits of Asynchronous vs. Synchronous messaging.

Another session was by Bruce Snyder about JBI and ServiceMix. I was hoping to get a little bit more details about how ServiceMix works, and not explanation of why SOA is good and try to explain again what it means to have SOA. I think that in terms of sessions, Mule won with the presentation yesterday, since I understood what it takes to use Mule. Also, from the brief overview of ServiceMix, it feels like Mule is more mature (I know that Mule has been around longer, but many times something new comes out and it is already much more mature then other existing solutions.)

I skipped several session afterwards to watch the world cup games (Italy and Ghana qualified, Ghana is a big surprise here). And then went to the BOF sessions.

The first BOF session was by Rod Johnson and Nati Shalom, and the title was The End of Tier Based Architecture. The room was packed, with people sitting on the floor, and the topic is a very interesting one. Current idioms of how one goes about and develop a highly transactional, clustered, and performant systems usually don’t fit naturally, and people have to work really hard in order to achieve it. The concept of JavaSpace is so simple, and yet so powerful, that it makes a lot of sense to use it. The problem, I guess, that people were having was having conceptual connections to tangible things that they are already familiar with. GigaSpaces already does that by exposing the Space as a JMS provider, and Jdbc provider, but Spring is Spring is Spring and now it has support for Java Spaces, where one would go about and use JavaSpaces using the same tools that you use for any other dao related module in Spring. JavaSpaces are much more then just that, and I will try and blog about it a bit more in a different post.

The next BOF session was by Ross Mason and Nati Shalom, and explained how Mule and JavaSpaces (GigaSpaces) can be a great combination in order to provide a scalable ESB solution. If you think about it, it makes sense in terms of Mule. Mule already comes with a breadth of connectivity to different external sources (messaging, web services, …), and having JavaSpaces as one one of them fits in naturally. The nice thing that I learned in this session, was that my Mule application can be managed by GigaSpaces, so if I have a 1000 machines cluster, I can simply deploy my Mule enabled application into the cluster using GigaSpaces.

That was the end of the sessions, and it got pretty late. I did some sightseeing in the evening, … Barcelona is such a beautiful city. Went back and managed the see the Aussies playing Croatia. The game was nerve breaking, with the Australian team managing to barely qualify at the end of the match, and the referee loosing control of the match.

TSSJS Barcelona Day One

Wednesday, June 21st, 2006

Well, it is the end of the first day of TSSJS Barcelona, and I am sooo tired. I forgot already how hard it to keep awake in a full day of lectures, it really brought me back to my university days (at least the first semester ;)).

The first keynote was by John Davis, and he talked about the investment banking technology stack. Nothing exciting there, with all the usual suspects (Spring, Spring, Spring). Two things to note from his keynote, was the fact that several investments banks use Jini/JavaSpaces, which from my point of view, actually fits the it like a glove. It is notable since most of the time, investments banks are quite conservative, and the fact that they realize that Jini/JavaSpaces makes a lot of sense in terms of many aspects/applications of the investments bank industry, should give them a lot of credit. The other thing that I actually missed from the technology stack, was ESB (to its many forms, namely JBI, and NO, Tibco/MQ is not an ESB), which as in the case of Jini/JavaSpace, fits an investment bank like an Argentinean orchestrated goal.

The second session that I attended was a session by Joe Walker about DWR. DWR is a gem in-terms of open source AJAX framework, and it makes enabling you application for AJAX a snap. The next version will introduce reverse AJAX, which allows to execute Java Script code from the server side, and that is a remarkable feature. It is also nice that it comes already integrated within several Web Frameworks (WebWork, Struts Action, …). I do wonder how it match Google latest offering, the Google Web Toolkit.

The next session was held by Jonas Boner, and it was about Terracota, and Terracota integration with Spring, though they just called it Transparently Clustered Spring (I hate when companies do that). Terractora will transparently cluster your actual JVM, which is a neat feature. I still don’t understand how you will go about and use it without it having transaction support though. Imagine taking money from one bank account, Terracota replicating it, and then crediting the other bank account with the same amount. What will happen if it fails just after the Bank took the money, and Terracota replicated it, but before you credited the other bank account. Isn’t it why we have transactions?

Another session was by Ross Mason, and it was about Mule and ESB. Mule looks really cool, and it gives commercial ESBs a run for their money. Ross seemed to give a very coherent presentation, and the nice thing about Mule, is that it is really open for extensions. The way I view ESB, is that 30% of the time (might be a bit more), you will use the ESB provider internal implementations, but a lot of the time, you are dealing with propriety transports, needs specialized transformers and so on (though this can be shared across your company, mainly Banks). So, the fact that you can easily implement your own goes a long way. This is also why Open Source ESB providers really shine, it is much more simpler to implement something against an Open Source code. Ohh, and their exception management support is a gem! it is going to save people so much time if they use it! Exception management in ESB type applications (not necessarily use ESB, might be an in house or per project implementation) is a bitch. Dead letter queues, transaction management, message consumptions, reties and so on is something that is easy to miss when you start a project, but is a crucial part of an application, and takes so much time and effort to test. Still, I wonder how it scores head to head against ServiceMix. I guess I need to give both of them a go and see.

I started to get really tired after this, I half listened to Bela Ban talk about building a replicated hash map in 20 minutes using JGroups. It looks like JGroups is a really nice reliable multicast library, but implementing a proper replicated hash map takes much more then JGroups or 20 minutes :) - transactions, locking, … . JBossCache is suppose to solve it, but I had so many problems with it in a past project, that I really hope that it advanced a long way since then in order to be usable. Anyhow, I think that clustering/scaling features is something that always make sense to buy an off the shelf product that does it, and does it well.

There was another session after that, but I was knackered. I headed for some ZZZ, and then went to a really nice restaurant, drank a very good Rioja (Castillo de Sajazarra Reserva 2001), and ate a nice Sirloin. And don’t get me started on the Crem Catalone (the local cream brule). The only bad thing is that I can not find a place that shows Argentina against Holland, which is the game that I most wanted to see in the world cup groups stage. I have to admit that seeing the world cup games with the spanish commentators is a real treat, they do put all their emotions into the game (even if it is not Spain playing).

Heading to TSSJS Barcelona

Tuesday, June 20th, 2006

I am heading to Barcelona in a few hours for TSSJS Europe. This is really exciting, since it will be the first time that I will present Compass in a conference, and I will have a chance to meet people whom I have read/heard about through the Java world grapevine.

The presentation is complete, and I think that it is a pretty good one. I was thinking long and hard about how the presentation is going to be structured, and went with a more beefed up presentation then your “Steve Jobs” style presentation of one sentence per slide. I did it because I wanted for people to be able to follow the presentation when they get back home, without my voiceover. Or, for people who did not go to the presentation, to have a high level 60 slides overview of why/what/how Compass, but one that make sense, with no one sentence slogans that does not say much. Of course, if you are going to attend the conference, I hope that you will get a bit more then just the presentation content.

I also just found out that my presentation will be at the same time of a Spain match in the world cup, so it is going to be difficult to get the Spaniards to see it (I am talking about the game ;)). Though hopefully the fact that Spain already qualified to the second round, and almost certainly as group leaders, will mean that it won’t be many of them. Trying to find the time between World cup matches and attending sessions is going to be difficult, but hey, who said life was simple?

There are a lot of good sessions, and I hope to attend most of them. I will also try and take some notes and blog about the conference as much as I can. If you are attending the conference, see you there!