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.



Tags: , ,

Related posts

Discussion

  1. Brian Rinaldi Says:

    Seriously Brian, do you realize what a total @$$ you sound like on this blog. You can keep your damn check marks and your haughty attitude, myself and the rest of the CF community really don’t want them.

  2. admin Says:

    Wow, check that out, Brian Rinaldi wrote something on my blog. Man I thought I sounded much more pompous on some of my other posts, but maybe he just got this far and couldn’t take it anymore. By the way Brian, thanks for spelling @$$ out and being 1337; I totally got pwnd!

    I’m writing this blog more for myself and my co-workers than the CF community so hopefully I won’t mess anything up too bad. I’d encourage you not to read anymore of my blog if I bother you that much, but that’s your call. Don’t worry, I’m OK with you representing the CF community too.

    All joking aside, if you got here from Luis’ blog, please don’t lump him in with me. He’s a great guy who’s very smart and is doing some great work with ColdBox. Please don’t let me being an ass discourage you from supporting his cause.

  3. Michael Sica Says:

    So Brian Rinaldi is speaking on behalf of the entire CF community?

    Awesome.

    I’m going to speak on behalf of the entire Ruby on Rails community (because I want to).

    “Ruby on Rails is cool”.

    Thank you.

  4. Jason Muscarella Says:

    Brian LeGros, you are NOT the father!

  5. Cozmo Says:

    I would take with a grain of salt. We CF’ers get kicked around a lot seeing that CF is seen as the step headed red child by other communities. Personally, I am just trying to get my head around a lot of this myself so I welcome informed critisism of CF OO methodologies. It raises the bar and we all benefit.

Add A Comment