Tartan available for download

Ok, I just went ahead and put the code up to SourceForge as a downloadable zip file. You can get it here: http://sourceforge.net/project/shownotes.php?release_id=297551

Tartan: a new service framework for ColdFusion

Frameworks are a lot of fun to build. Over the last month I have been working on a framework for building ColdFusion service layers. I built it with the intension of making it available locally and remotely using Flash Remoting and web services. I have decided to call this framework Tartan.

Tartan is a command-driven service framework for ColdFusion. It was built to help produce the service layer within a larger application architecture which relies on strict separation or layering of functionality.

All access to the underlying business logic is controlled by public services which are available locally as CFCs and remotly via Flash Remoting and SOAP web services. A service can be composed of any number of commands, each of which implements a discreet operation within the application. These contain the core logic for the application. Commands can communicate with databases via DAOs, manipulate values received from the client, execute other commands and even communicate with services available on other remote servers.

At the center of Tartan are 6 core classes: RemoteService, LocalService, Command, DAO, ValueObject and ExceptionHandler. They provide most of the functionality of the framework, and must be extended by the application developer.

Although I am still working on proper documentation, there is some already, and tartan is now available for download as a part of the OpenXCF project on SourceForge via CVS. I will make it available as a single download really soon.

Event Gateways...

I just got out of Tom Jordal's session on Event Gateways in Blackstone, and I've got to tell you that I loved his presentation style--really laid-back. He went over the way they work and ways to use them, and I really need to get more into this area. I just need to find a good excuse to do it.

The "Sneak Peeks" session is coming up, so I've got to get going.

CFC Birds of a Feather tonight...

Well, tonight I attended the Bird's of a Feather session for CFCs that Ray Camden was good enough to set up for us. It seemed to be a more diverse group than last year and more people seemed to be interested in how things are done and why. It wasn't the gripe session that last year tended to be, and instead questions of "How do I learn how to use components?" were more important. We tended not to focus on what they could not do and instead reflected on different solutions to similar problems.

One person suggested starting with database queries and moving them into components one at a time. Really, the available documentation and body of knowledge since last year has changed quite a bit as more CF developers have embraced OO techniques using CFCs.

We also covered the need for good code generation capabilies similar to those in existance for Java developers--especially for writing boiler-plate code like database CRUD functionality.

Tom Schreck demonstrated a phenominal tool that will create a CFC, database tables that map to that CFC and the form for dealing with that CFC all in one place. He's spent quite some time on it, and it is something worth looking at and investing time and support in.

I also inquired within the group to see if anyone was using cfcUnit and if so what they thought of it. A couple of people in the room were familiar with it and liked it. Once again, I was reminded of the need for even more and better documentation... something I will have to work on.

Anyhow, it was a great session and I hope to get a chance to follow up with some of the attendees later on this week.

CF_Underground Uncovered

I spent the day at CF_Underground today, and I'm glad I did. There were great presentations on using CF with Flex, e-commerce security, extreme programming, creating personas, and software architecture and design patterns. Hal couln't be there, but Michael Smith and Shlomy Gantz did a good job of filling in at the last minute. Lots of good ideas floated around in the many discussions of the day.

There were also a lot of familiar faces from the last CFUN and MAX conferences. Hopefully the guys from Interakt will have more beer opening tricks to share before the week is over!

Anyhow, it's Halloween and the French Quarter should be interesting... I'll add more comments later.

Off to New Orleans!

Well, I'm off to MAX tomorrow morning and should be arriving in New Orleans tomorrow evening. This year should be good for us CFer's since Blackstone is just around the corner, so I'm really looking forward to this next week.

Should anyone want to to talk about cfcUnit, or possibly the OpenXCF, please corner me--I'd be glad to hear whatever you have to say.

Mach-II 1.0.10 Just Released!

I just read that the next point-release of the Mach-II framework has just been released. Some bugs have been fixed and some enhancements have made it in as well. One that I find interesting is that Plugins now execute in the order in which they appear in the configuration document. To get the latest version go to: http://www.mach-ii.com/code.cfm

New Mach-II Exchange

This was just posted on the Mach-II mailing list:

In the spirit of sites like cflib.org and cfczone.org, I've added an "Exchange" to the mach-ii.info site. Check it out http://mach-ii.info/index.cfm?event=exchange and don't forget to submit your code.

Thanks,
Phil

There is another CFML engine on the block

Over the last couple of days there has been discussion about a new CFML engine called railo which is currently in Apha 3. It is written in Java and will run as a standalone application via an embedded webserver or as a J2EE servlet on an application server. While not a complete implementation yet, a quick glance at what is implemented is rather impressive. You can download the latest release from their site (only ~4Mb), unzip the files and start it right from there without any further configuration. Just point your browser at port 8008 (its default port) and it dumps all the built-in scopes using <cfdump>.

Review of MachII

In his blog, ColdFusion vs. Java, Simon Wacker talks about converting an existing ColdFusion application to MachII. For completeness he also implemented it in Java using the Spring framework.

In the final analysis he found the Java version the best and most flexible. I think he misunderestimates the true potential of CFML and I don't really agree with his assesment of MachII as not being as "flexible" as other frameworks. Give it a read and share your thoughts.

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.5.003.