Nov 12
Yesterday I was at the ItDevCon conference organized by Bit Time in Verona. I made two talks there one just before lunch and the other right after lunch. The first talk was about Continues Integration and the second was about Enterprise Integration Patterns with messaging.
The Continues Integration talk was a general overview about continues integration and some of the most common problems that I have seen when using continues integration. According to me one of the most common problems with continues integration is long build times, or maybe better said, continues integration makes it more evident that the build times are too long. An other problem that I have noticed with continues integration is that it may lead to information overload, since we generate information more frequently then if you dont use continues integration.
In second talk, about enterprise system integration, made a short introduction about different kinds of system integrations, file transfer, shared database, remote procedure invocation and messaging for then talking about different patterns of system integration with messaging. The talk was made in a high level and language agnostic, but I think that I got through with the message that there is some common patterns that can be reused and makes system integrations a bit easier.
There where around 60 people attending the conference and there was three tracks. On my talks there was around 20 people so I guess that I cant complain about the amount of public. One thing that made me wonder if I was failing to get the message across was that there was not that many questions asked, but that may be because most of the people there where quite new to the things I talked about. After the talk I met some people that had attended my talks and they said that they like them and that they got something to think about, so I think I have to be satisfied with them. I also have to say that, as usual, I really like too speak to the people between the talks, during lunch and after the conference day was over.
Unfortunately I could only attend one off the two days of the conference but that is the way it is and I knew it before. Next time I get the opportunity to speak at a conference I will try to be able to attend all the days.
I will update this post when I have made the slides for the talks available.
I have now made the presenations avalible on SlideShare, Continues Integration and Enterprise Integration Patterns
Oct 03
This week I have received the Clean Code wristband from Uncle Bob. I hope that this will be a new start on this blog, as well as that I will try to be more conscious about why I do thing when programming. I also hope that these two things will create a positive feedback loop so that I when I notice why I am doing something that I will try to write about it as well as when I write about something I will have to think more about it.So this is a new start for me with blogging and I hope that this time I will take the necessary time to get started.
The topics that I have in my head right now is refactoring and book reviews but lets see what I will write about. If you have any suggestions let me know either as a comment or with a message to me on twitter.
Jan 09
Today I found Panopticode and decided to test it. Panopticode is a tool for software metrics in java projects and is an aggregation of many opensource tools, for example it contains Emma, CheckStyle and JDepend.The reason that they have created this project, and also the reason that I want to test, is best as they say on there web site:
A project dedicated to making code metrics so widely understood, valuable, and simple that their use becomes ubiquitous, thus raising the quality of software across the industry.
The Panopticode project provides a set of open source tools for gathering, correlating, and displaying code metrics.
What got me interested to check this is the presentation of the metrics in a Treemap visualization that can be both interactive (svg) or static (png). An other thing I like is that it seams to be enough to add a new target in an existing ant build file to be able to generate metrics for the project.
I will report here as soon as I have had time to test this and see what I think about it.
Dec 04
I got an question about if it was possible to make some actions in a web application to call an IIS server and to implement the functionality in C#. To this question I had to answer yes but I also wanted to add some of the implications that I see to do this, since every other functionality is written in Java. Here is my response.
Even if I think that it is possible to do a thing like that, I would be hesitated to do it in a project of this size. The question I would like to have an answer to before I make a decision about this is the long term goal for the project and then you have at least three outcomes regarding language, only Java, only .Net or a mix with both Java and .Net. I will put down some of the drawbacks and benefits that I see for all three outcomes bellow.
Only Java
The biggest benefit I see from this is that it is the way the projectis done now. You have a few components that needs maintenance and it is already accepted by the client. One off the biggest drawbacks I see about this option is that if the client does not have good knowledge about java and the application server the client needs to get that knowledge from somewhere, but I guess that that should already be in progress since they have accepted this solution in the first place.
Only .Net
The biggest benefit I can see here is if the client have a good knowledge about the Microsoft stack and can do more of the maintenance by himself. One of the drawbacks is that the current implementation needs to be ported to .Net and an other one is that there need to be maintenance on both the java application server and a Microsoft stack until all Java code is migrated to .Net.
Mix of Java & .Net
One benefit of this solution is that if there is shortage of developers in one technology maybe there is some one in the other technology that can do the stuff that needs, but as I see it you can gain in the short term but in the long term it is the same. This I would say is the least maintainable solution since there is need to maintain the java application server and and Microsoft stack. An other drawback is that there is need of developers that knows both java and .Net to maintain and to add functionality.