Tuesday, 25 January 2011

Crucible - the ultimate code review tool

Share
I wanted to write this post for a few weeks, but was so busy I simply didn't have time.

Code reviews - I don't have to tell you how important is this technique in the context of source code quality, adherence to standards, audits, and mentoring less experienced programmers. Code reviews are essential to software project, and I cannot imagine a project without code reviews.

In my current project our Technical Consultant introduced Crucible and I have to say that it is the best code review tool I have ever used!

But before I tell you something more about Crucible I want to tell you how it was done previously (and maybe is still done by some of you).

Tuesday, 11 January 2011

I'm IBM SOA Associate now!

Share
I passed IBM SOA Fundamentals exam yesterday, and I'm IBM SOA Associate now.

I wanted to share some thoughts about this exam with you.

Well, this wasn't a typical software exam I've taken previously. It's more related to business side of things (dealing with business people, governance, policies, management, etc). I recommend this exam to all consultants and people who work with customers to help solve problems, automate and/or optimise their business processes, or to achieve a higher utilisation of customer's IT assets by adopting SOA. This exam (or should I say, preparation to this exam) allows you see things from a broader, big picture perspective. It stresses the KPI (key performance indicators), Return on Investment (ROI), and feedback to business very much. A Peter Campbell's big "why" question :)

The exam was not that hard. But there were some tricky questions as well. For example a question about ESB, all answers were describing the role/capabilities of ESB, but only one answer was correct in the context of management. Also, there were some questions with all good answers and you had to select the best answer. And finally, there was one question which all answers were wrong (in my opinion of course) and I selected the least incorrect one :)

What was my score? 100% But I was lucky, there was one question which I wasn't sure at all - more a guess than a decision. Plus, there was one question to which I changed the answer while I was reviewing my answers.

Here are resources I used while preparing to this exam:





I'm looking forward to IBM SOA Solution Designer certification. I know that this exam won't be as easy as SOA Fundamentals, but I want the challenge :)

cheers,
Łukasz

Tuesday, 4 January 2011

Copying and converting VOs using Dozer

Share
Many, many times you have to copy data from one VO to another. Let it be integration with legacy app, data migration tool, or simply a third-party API.

Almost two years ago I was a member of a Polish grant whose goal was to create a visual tool for building ontologies. The system's name is Ontology Creation System (OCS) and is available here: http://ocs.kask.eti.pg.gda.pl/.

I had a problem of copying data between OWL API data, business model, and JPA entities. I solved this by writing my own reflection-based object copier. It was just a copier: only fields having the same name and type where copied, rest was copied manually.

2 weeks ago I stumbled upon Dozer. Dozer is a mapper that recursively copies (and converts when required) data from one object to another. Its features are numerous including copying different types of collections, flat objects to collections, and maps with different key and value types.

WOW! I had to give it a try.