Monday, April 27, 2009

Next European VAN on 06 May 2009

This time, we're doing a regular presentation. Mark Nijhof, one of the contributors of FubuMVC, will shed some light on this Front Controller style MVC framework for building web applications. Here are the details:

Start Time: Wednesday, May 06, 2009 06:00 PM GMT

End Time: Wednesday, May 06, 2009 08:00 PM GMT

Attendee URL: http://snipr.com/virtualaltnet (Live Meeting)

Please join us then as this is going to be an awesome presentation. I'm personally looking forward to this one.

Till then.

Saturday, April 18, 2009

Half-a-Book Review: SOA Patterns

rotem_cover150A couple of months ago, I bought the early access edition of SOA Patterns after Colin Jack recommended it on Twitter. So far, only the first five chapters are available, but I soon discovered that this manuscript had a lot to offer. Although these chapters are still a bit rough and need some editing work (something that can be expected from an early edition), this book has the potential to become a classic for service-oriented architectures.

I have been reading the blogs of two of the authors, Arnon Rotem-Gal-Oz and Udi Dahan, for quite some time now and I learned even more from the book as I learned from their blogs. No doubt that these gentlemen are authorities in the field of SOA.

What can you expect from this book? Well, it offers an explanation of the software architectural patterns of SOA and their technological implications. This means that you don't have to expect to see much code. As the title implies, the authors use a pattern language that describe both the problem and the solution with its advantages and disadvantages. Every pattern in the book is divided into the following structure:

  • Problem  -  explains the problem that the pattern tries to solve.
  • Solution  -  the solution to the problem stated earlier.
  • Technology Mapping  -  describes the technologies that map to the architecture as described by the solution.
  • Quality Attributes  -  provides the architectural benefits of the pattern and to which scenarios the pattern applies.

After the introductory chapter, the second chapter discusses some basic structural patterns like Service Host, Edge Component, etc. ... The Active Service pattern was a real eye opener for me. Basically, an Active Service pro-actively detects the availability of dependant services. Yes, a service doesn't have to be a passive beast that sits there and waits to handle your request :-). The next chapter shows some patterns for performance, scalability and availability. Amongst these patterns are Decouple Invocation, Gridable Service, the Blogjecting Watchdog (which caught my attention) and many more. The fourth chapter talks about security and manageability and the last of the five chapters talks about message exchange patterns like the widely popular Request/Reply, Inversion of Communications and Saga patterns.

I really enjoyed reading these first five chapters and I'm already looking forward to the next ones. The table of content indicates that there will also be a couple of chapters on SOA anti-patterns as well. These chapters will probably discuss everything I've been doing so far when it comes to SOA  ;-).

Keep an eye out for this book. It will going to be one of those books that you want to have close by when you're architecting/developing services. Two thumbs up!

Thursday, April 09, 2009

Conditional Using

Today I found myself writing the following code:

private void DoSomething(String userName)
{
    using(var userEntry = GetUserEntryFor(userName)) 
        if(CouldBeFound(userEntry))
    {
        // Do something with userEntry            
    }
}
 
private DirectoryEntry GetUserEntryFor(String userName)
{
    // ...        
}
 
private static Boolean CouldBeFound(DirectoryEntry entry)
{
    return null != entry;
}

Notice the combination of the if statement with the using statement. I thought this was kind of neat. What do you think?

Is the style of this code bonafide?

Wednesday, April 08, 2009

Next European VAN on 14 April 2009

This time, we're going to try an open session. We're all open for suggestions, but Colin suggested Fluent NHibernate or the state of ALT.NET (for more info, see here and here) which are both hot and interesting topics at the moment. But do join us next week and share some of you're insights on any topic we end up with.

Here are the details:

Start Time: Tuesday, Apr 14, 2009 07:00 PM GMT

End Time: Tuesday, Apr 14, 2009 09:00 PM GMT

Attendee URL: http://snipr.com/virtualaltnet (Live Meeting)

Till then.