After some prodding from friends I am finally getting around to writing about this. I am a ColdSpring user and a big fan of the simplicity it brings to the implementation of my business logic. Primarily ColdSpring is an IoC ( Inversion of Control) framework for CF. What that means is rather than your code having to worry about how to instantiate its dependant objects, you just explain the dependencies in an xml file and then ColdSpring wires it up for you.

However there is another really important “aspect” that ColdSpring makes available to us. That is AOP (Aspect Oriented Programming). What AOP does is allow us to inject or wrap addional functionality around our business logic. The best part is this happens without the (already well tested) business logic knowing its even happening. The particular piece of AOP that I am going to focus on for this post is the RemoteFactoryBean. We will come back to how this works later but what the RemoteFactoryBean allows you to do is generate the remote facade layer for your service. And with AOP in conjunction with that you can “massage” the data into the appropriate format for your consumer ( Flex2, spry? ).