Jan 06 2009

Messaging is not just for investment banks

Published by gojko under articles,presentations

In the last week of November, Dave de Florinier and I did a talk on Asynchronous .NET architectures and NServiceBus. The sound of the recording was not that good so some readers asked for a transcript. The following is a transcript of my introduction to the talk, encouraging developers to investigate messaging architectures for mid-size and smaller projects. I’ll try to get the rest of the talk published here soon as well.

Today, we use web and web-related services for content distribution, for remoting, for application partitioning and distribution. It seems that HTTP calls have become a default way to think about distributed systems. HTTP and Web services definitely have a lot to offer, but they are not the only way to do things and there are definitely cases where web is not the right choice. HTTP calls are synchronous, stateless (although there is a state simulation with cookie-based sessions) and generally not that reliable. They are also often one-way, which means that any kind of continuous notification always comes down to polling. When you need asynchronous actions, proper state and reliability or event driven behaviour, Web is not the right choice. Unfortunately, lots of people just stick with web services and hack on, trying to fit a square peg in a round hole. In cases such as these, a different distribution paradigm can save us quite a lot of time and effort both in development and later in maintenance. One of those different paradigms is messaging.

I’m not sure why, but I got the impression that lots of people think that messaging is only for huge systems in investment banks, not something that a small or a mid-size project should consider at all. This is false and now I’ll try to convince you. Continue Reading »

4 responses so far

Dec 22 2008

Introducing Alt.NET courses at Skills Matter

Published by gojko under articles

From February 2009, Skills Matter will start organising public Alt.NET courses (first in London and then across Europe).

Opensource .NET tools crash course

The first will be a three-day crash course on tools and practices aimed at .NET developers that want to learn about Alt.NET tools and Java developers that are migrating to .NET and looking for good equivalents to the tools that they are used to working with. The course gives an overview of the most popular opensource .net tools and introduces modern development practices that these tools promote, such as test driven development, continuous integration, dependency injection, object-relational mapping and web development using the model-view-controller pattern.

Learn how to:

  • Implement TDD in .NET using NUnit, MBUnit, Rhino Mocks and FitNesse
  • Utilise Aspect oriented programming and Dependency Injection using Castle Windsor
  • Efficiently build Web applications using the MVC pattern in Monorail and utilising Monorail and Script# for Ajax and test them using Selenium Remote Console.
  • Manage persistence easily using ORM tools such as ActiveRecord and NHibernate
  • Introduce continuous integration in your projects using CruiseControl.NET and CI Factory

See the full programme.

Agile Web Development with the Castle Framework

The second one is a two-day course on Agile Web Development using the Castle project, teaching the basics of the Castle Framework and helping people develop a solid understanding of its benefits. Over the course of the two days, attendees will create a simple but complete web application using agile Web development practices such as Inversion of Control, Dependency Injection, Aspect Oriented Programming, Object/Relational Mapping and applying the Model-View-Controller pattern.

Learn how to

  • Apply agile web development practices like MVC and dependency injection
  • Use ActiveRecord to manage the object-relational mapping and the database layer
  • Use the Monorail MVC engine to create web applications that are easy to maintain and test
  • Explain the basics of Monorail views, layouts, rescues
  • Use the NVelocity view engine to build web UIs for Monorail
  • Apply Windsor Microkernel to configure and wire application components
  • Unit test the data access layer with Castle
  • Unit test web controllers
  • Describe how Castle components come together to help us develop web applications easier
  • Explain why this approach is much more effective than ASP.NET
  • Apply best practices, common pitfalls, and tips and tricks for Castle Web development

See the full programme.

3 responses so far

Dec 15 2008

OpenSource .NET Exchange final programme

Published by gojko under articles

Here’s the final programme for the OpenSource .NET Exchange on 22/Jan in London:

  • Dylan Beattie : JQuery
  • David Ross: PostSharp
  • Sebastien Lambla: Fluent NHibernate
  • David de Florinier: ActiveMQ and NMS
  • Mike Hadlow: Implementing the Repository pattern
  • Russ Miles: Spring .NET best practices

After the talks, we are planning to have a discussion panel to compare Castle and Spring.NET and work out when to use what.

We have a larger venue this time, and free beer and pizza is the perfect excuse to come.

For full details and to sign up, see the event page on skillsmatter.com.

No responses yet

Dec 02 2008

Asynchronous .NET applications with NServiceBus

Published by gojko under presentations

Here is the video from the talk that Dave de Florinier and I did last week on NServiceBus and asynchronous .NET applications. At the start, I talk about the fact that messaging and asynchronous applications are not just for investment banks and large enterprise systems and how lots of smaller projects can also benefit from messaging. Dave then presents NServiceBus as a nice tool to help develop asynchronous applications in .NET, talks about publish-subscribe, full duplex, saga and distributor patterns and explains sample implementations. On the end, we had an open discussion on deployment and alternatives.

Here are the downloads and links:

9 responses so far

Nov 11 2008

Enterprise .NET Development with Opensource .NET tools: SPA2009

Published by gojko under news

I just got the e-mail that my proposal for a session on Enterprise .NET Development with Opensource .NET tools was accepted for the Software practice advancement 2009 conference. The conference will take place in London in April 2009.

This session will be presented as an experience report from several enteprise .NET projects I have been involved in over the course of the last two years, which all included extensive use of opensource tools. Most of the innovation today in software happens in the opensource community and it is driven by opensource tools, but the attitude of software companies in the .NET market towards opensource tools is a lot worse then in the Java world. Using opensource tools on .NET project allows us to harness the innovation years before equivalent commercial tools appear. It also causes a lot more political and personal opposition, from lawyers that are concerned about licensing to contractors who refuse to do it because “it’s not .NET”. In this session, I will present the benefits that my teams got from the Castle project stack, NServiceBus, NHibernate and the like, what problems we faced on the way, how we solved them, how to shorten the learning curve for people with a more traditional .NET background and how to convince managers and lawyers that this is not a danger for them.

5 responses so far

« Prev - Next »