An Architect's View

CFML, Clojure, Software Design, Frameworks and more...

An Architect's View

Entries Tagged as architecture

How do you find your classes?

January 15, 2009 ·

Thinking in objects can be really hard and one of the biggest stumbling blocks for many who are new to OO design is identifying what are the right things in the problem domain to model as classes. This topic came up in a recent thread on the excellent cfcdev mailing list and Alan Livie shared his recommendation for Robert C. Martin's book "Agile Principles, Patterns, and Practices in C#". In particular, he pointed list members to chapter 20 which discusses the design of objects to represent a coffee maker. That particular chapter is available as a PDF and it's a really good read. It starts off explaining the problem to be solved and then presents the "obvious" object model that most new OO students come up with. Then he takes it apart, explaining why it's a poor design, and goes on to construct a much better model (with fewer objects) that is very elegant and easy to understand. If you're struggling with the OO design process, you need to read this PDF and absorb the lessons laid out within it. Even if you think you're an OO 'guru' you'll probably learn something from it!

Tags: architecture · coldfusion

Hal Helms - are you OO-Ready?

December 13, 2008 ·

Several people have been blogging about the OO Quiz created by Hal Helms. I'd question the wording of a couple of the questions but it's a fun way to while away 15-20 minutes and it will definitely test your understanding of object-oriented terminology and principles.

Tags: architecture · coldfusion · programming

Design Patterns preso updated

October 01, 2008 ·

The preso I gave on Monday at the Devon CFUG and which I'll be giving in about an hour at the TVCFUG has been posted to the PRESOS section on my blog. It's a PDF with slides and notes since there are quite a few notes on this preso and it'll make it easier to follow. John Whish (Devon CFUG) has a version of all the slides (with builds but no notes) which was how I presented it on Monday because my laptop wouldn't drive the projector (first time ever!) and I had to present from John's laptop.

Tags: architecture · coldfusion

Bob Silverberg on Transfer ORM and Architecture

July 15, 2008 ·

Update: Bob just added Part VII so I'm updating this post to include that.
For ease of reference I just wanted to post a quick note highlighting Bob Silverberg's excellent series on using Transfer ORM and OO architecture: If Bob adds additional pieces, I'll update this post with his new articles. There's a lot of good information here although it may be a bit overwhelming on first read so be prepared to keep coming back to these posts!

Tags: architecture · coldfusion · orm

Transfer Cache Synchronization in a Cluster

April 14, 2008 ·

If you use Mark Mandel's awesome Transfer ORM in a cluster, you've probably wondered what to do about keeping the cache in sync across servers in the cluster. I've had to solve this problem a couple of times now and I figured I should publish an example of how to do this.

[Read more →]

Tags: architecture · cfobjective · coldfusion · coldspring · j2ee · orm · oss

cf.Objective() 2008 Session Focus - Enterprise Class MVC with ColdFusion and Java

March 30, 2008 ·

Andrew Powell - Enterprise Class MVC with ColdFusion and Java - Saturday 11:25am We hear a lot of talk about using individual Java objects within ColdFusion but the reality of enterprise development is that entire subsystems tend to built entirely in Java. Software teams that serve the enterprise often build large, complex systems using Spring and Hibernate. How do you go about using ColdFusion with such systems? I haven't seen any presentations on this subject so I was pleasantly surprised when I started reviewing Andrew Powell's slide deck to find that he was focusing on how ColdFusion can provide the web front end to enterprise class Java systems. He introduces Spring (the Java version) with a demo and then introduces Hibernate (the industry standard ORM for Java), again with a demo. After that, he will walk you through solutions to the problem of connecting ColdFusion on the front end to Spring on the backend and, using Mach-II as an example, he then shows how to create an MVC web application that allows you to leverage the entire Spring-powered, Hibernate-persisted Java backend. If you work along a Java team - or you are considering using more Java for your backend systems - this talk will provide you with a lot of good information about how well ColdFusion plays in this space.

Tags: architecture · cfobjective · coldfusion · j2ee · machii

What is keeping Sean busy?

February 08, 2008 ·

My blog posts have been few and far between lately. I can only blame one of my clients. Right now I have three clients and one of them is keeping me busier than I could've imagine when I first took them on in November. For all three, I'm designing / building a (Mach-II or Model-Glue) + ColdSpring + Transfer system. One client, here in the Bay Area, is pushing very hard to a full relaunch of their platform in just a few weeks so the pressure is really on to get a solid, high-performance system in place. I'm actually very excited about what they're doing - they've already proved their product with a number of clients with multiple codebases but we're creating a unified platform so that they can scale out to an arbitrary number of clients, all on the same codebase. I'll be blogging about them when they launch because I think their product will have broad appeal. Of my other two clients, both are ongoing rearchitecture projects along similar lines but with slightly less impending deadlines. It doesn't look like I'll be anything less than insanely busy for several months tho'. January was a record month for me in terms of hours worked and I expect that will continue for the next few months. The downside of that is I'm less available on IM than usual (sorry) and never on IRC (so folks have to ping me if the cfmx7bot goes offline). I'm also behind on getting articles and columns and presentations written - but I am almost completely caught up on reviewing cf.Objective() presentation outlines!

Tags: architecture · cfobjective · coldfusion

Architecture Remixed

January 10, 2008 ·

I'm working with just three clients right now and with each of them I am essentially doing the same thing: taking an existing system that has been built up over a number of years and helping them rearchitect it for better maintainability and better scalability. The technology stack is pretty similar in all three cases:
  • Model-Glue (two clients), Mach-II (other client)
  • ColdSpring
  • Transfer
In addition, we're using cfcUnit and ColdMock for unit testing (Brian Kotek's ColdMock project is awesome for unit testing beans that are actually Transfer decorators!). All three clients are on - or imminently moving to - ColdFusion 8 (as most of my clients have been) so we can take advantage of AJAX, performance, array/struct syntax, enhanced operator syntax, onMissingMethod() - which powers ColdMock - and many other recent enhancements. These three clients have been keeping me pretty busy - I was even on-site with one of them for three days this week which, as folks who know me will realize, is pretty unusual since I've mostly kept to remote work since I left Adobe. I think they're going to be keeping me busy for at least the first quarter of 2008. I haven't been blogging much this past two weeks but I've been posting to a few mailing lists, covering decorators (Transfer), dependencies (ColdSpring) and various OO design issues. I've also been writing an article for FAQU which will be in issue 6 (issue 5 is at the printers and should be in readers' hands soon). The article covers the whole "beans + DAO + gateway + service" object stuff, looking at four possible ways to structure your code and examining the pros and cons of each. I'm also reviewing a new ColdFusion book that is in the works. It's a great introductory book that covers a lot of best practices and focuses on CFCs up front. It's target market means that it probably won't get on most American developers' radars but I think it will be worth tracking down and reading if you're a novice (to ColdFusion). I'll also be writing a regular column for [name withheld] on my favorite subject: architecture. As you can tell, 2008 has started off busy and looks likely to stay that way. I think the year will offer me some interesting challenges and some interesting opportunities - and maybe some big changes too.

Tags: architecture · coldfusion · personal

IECFUG - December 7th - Design Patterns and ColdFusion

November 19, 2007 ·

Luis Majano has just announced that I will be encoring an extended version of my Design Patterns and ColdFusion talk at their December meeting.

Tags: architecture · coldfusion

Design Patterns and ColdFusion

November 09, 2007 ·

Now that MAX is over and I've given my presentation at CFUNITED Express Bay Area, I've posted the presentation (612Kb PDF) to the "software" pod on my blog. Since there's a lot of "chatter" that goes with the talk, I've opted to publish the deck as slides + notes so you'll get a better sense of what the audience really hears. Let me know if you have questions or comments!

Tags: architecture · coldfusion