cf.objective() 2007 : Introduction to Aspect Oriented Programming with ColdSpring

admin | May 6th, 2007 | conferences  

This was a pretty good talk although I didn’t see anything too crazy interesting. Unfortunately, Chris Scott didn’t get into anything about how ColdSpring worked behind the scenes but whatever, it’s cool to see their implementation. He went over some basic terminology and verified that it is AOP Alliance compliant so that’s cool. ColdSpring supports the following types advice which can only be created via extending CFCs:

  • BeforeAdvice
  • AfterReturningAdvice
  • AfterThrowingAdvice
  • MethodInterceptor (=AroundAdvice)

A ProxyFactoryBean is used to wrap the target object and an Advisor object. The Advisor object wraps the advice class you’ve written and the point-cut you’ve defined via a regular expression in the ColdSpring beans file.

Chris talked about examples they’ve implemented for the community in the litePost project, looks pretty cool but seems to be too much jammed together; kinda like another big overkill technology demo, or not, I haven’t seen it. What I really liked was how he was able to somewhat supplement the use of annotations in ColdFusion by using additional attributes on tags and the getMetaData() function. By doing so he was able to implement an AOP caching solution which was really easy and cool. Definitely something I’d love to look into more.

At the end of the talk he briefly showed us the ColdSpring RemoteProxy. Didn’t talk too much about this, but basically CFC’s could be exposed as objects and then have their methods called remotely and serialization and deserialization would be handled. This is in CF8 functionality already but I think they implemented something on their own for 7, but I’m not sure.

Overall a pretty good talk, very solid. Everyone seemed to get the topic and have relatively relevant questions. It was kinda crazy, but exciting, to see some level of understanding at a CF conference finally.