CIO Magazine ran a story on Web Services last month. The story is presented as a quiz entitled “Are You Ready For Web Services?” with 12 multiple choice questions, each with answers worth from 0 to 5 points. I have issues with a few of the supposed right answers, but question 8 really irks me:

8.I plan to develop Web services in:
a. Java (5 points)
b. .Net (5 points)
c. other (such as Macromedia ColdFusion, Ruby on Rails, Ajax) (3 points)

Can anyone explain why ColdFusion based Web Services are worth less points than those written in Java, when ColdFusion Web Services are Java (built on top of Apache Axis)?

19 thoughts

  1. And why do they group AJAX in there? Seems nobody outside of the "AJAX community" has a clue what the hell AJAX is….

  2. I thought the whole point of web services was interoperability among languages. It shouldn’t matter what language you are developing in, from the perspective of web services.

  3. That just shows poor understanding.
    I had a similar experience where a developer had stopped using CF at version 4.5 and had no idea of the new features and much it has evolved since then. It’s easy to see why he might favour .NET stuff, however, if he looked at version 7… he might get a nice surprise πŸ™‚

  4. Really interesting … so they mix ColdFusion, with a framework, with a client/server concept. First of all, developing web server with JavaScript doesn’t make much sense… and second, Ben’s right, CF is Java … I think I am as ready for Web Services with CF as I am with Java or .Net … not sure about ajax yet πŸ™‚ it seems double the work, once with JavaScript, and once in the server scripting language behind it …

  5. If you take the quiz online, the answer is now "As many as possible" and the descriptive text begins: "Despite what some vendors tell you, there’s no single best way to develop Web services. It pays to start with what you know (if you’re a Microsoft shop, start with .Net, if you’re committed to Unix, start with Java)." Did they change it recently?

  6. (not the "And why do they group AJAX in there?" Joe)
    I think, on the average, the .NET and Java developers I know are more familiar with some of the constructs for dealing with Web Services than a lot of ColdFusion developers. Things are great in CF when you’re using simple services, but once they turn complex, having the background that .NET and Java require may make things easier to deal with, given that they both take a wrapper/stub object approach that creates types for complex web services, whereas ColdFusion developers are left to try to do this on their own by reading the WSDL and creating loosely-typed structs by hand.
    While the technology behind Web Services in CF is the same many Java developers would use, I think the mentality behind Java development may lend a general edge to developing Web Service-based applications.
    Ok, flame me now πŸ™‚

  7. Hey,
    On the upside, at least they considered Coldfusion as an option, most of these types of articles forget Coldfusion completly.
    So we should be happy!
    Regards
    Dale Fraser

  8. "Can anyone explain why ColdFusion based Web Services are worth less points than those written in Java, when ColdFusion Web Services are Java (built on top of Apache Axis)? "
    Simple. The reporter doesn’t have a clue.
    You’re the evangelist, Ben. Call them up and explain it to them. Who knows, you may get a follow-up article on CF. I’ve had something like this happen to me in the past. After a cordial discussion to clarify, we did get a nice writeup that featured our product a couple of issues later. As my kid likes to say, lemonade from lemons.

  9. They obviously did a poor job researching and understanding their ‘other’ options. However, I agree w/ Dale that it is a plus to have CF mentioned.
    On Joe R’s comments about .Net & Java, I do not totally disagree but I do not feel it is the .Net or Java background in question as much as the OO design and understanding. Just because .Net and Java are OO does not mean the applications build using them are as well. It is just as easy to build a bad .Net or Java application as it is to build a bad CF app. Building an OO application has ‘nothing’ to do w/ the language and everything to do w/ the design. I say ‘nothing’ b/c obviously there is some influence but that does not mean it was a good one. In the end if the Web Service is designed properly, i.e. it does not require or return platform dependent structures such as a CF or .Net Recordset, utilizing CF’s XML methods allows you to easily create the structures necessary to pass and retrieve complex objects.
    I agree the tools to read the WSDL need improvement. But doesn’t learning how to read the WSDL help force CFer’s to learn some on the constructs and skills folks seem to feel they lack?
    In then end it is all comes back to the design. A poor design is a poor design no matter what the language.
    -Jason

  10. Chris Lindquist, the author of the CIO piece, sent the following note to me. I thank him for the courtesy of replying so quickly:
    <em>
    Thanks Ben,
    Regarding your comment, the question could have been stated more clearly. In my own defense, I wasn’t looking to distinguish between platforms/frameworks/languages and so on as to make a point that Web services can be constructed using just about any tool you want. The points awarded were meant to reflect what our readers claim to use for Web services (we’re talking CIOs here, not development managers, so we don’t always get much detail beyond .Net and Java). We weren’t trying to imply that those two approaches would be best, though I see how it could be perceived that way. In hindsight, we probably should have awarded five points for each.
    As for ColdFusion being Java, that’s my fault for being out of the loop. I haven’t had anything to do with ColdFusion since my days at CNET when it was all CFML and HTML. But I wanted to include a couple options outside the Microsoft and Sun realms.
    Thanks for the note!
    Christopher Lindquist
    Technology Editor
    CIO Magazine
    </em>

  11. Sorry guys I have to agree with Joe on this one. Using CF for more complex web services is a major challenge. (document based etc) Perhaps more of an IDE issue, need something to translate schemas into CF data structures!

  12. I expect that a number of people like Steve Bryant’s earlier posted (At 12/13/05 5:14 PM) beleive that web services should simply work given the nature of what a web service is supposed to be, however we’ve run into problems when trying to consume some web services that are provided by a 3rd parties. In our environment, we’ve had to resort to building our own custom Java clients so that we could handle these types of situations. As a gold support member, we opened a case, the outcome of which was a limitation of ColdFusion that we were told would be sent to QA and may become a candidate for a later release.

  13. Hi,
    I’ve been an advocate for CF for years and still love it. I’m currently writing a web service in CF8 and do see some short sightedness on the design that java and .net both handle.
    For instance, arrays of objects only works as expected (or at least as I expect) at the main WS Method level (i.e. from CFARGUMENT TYPE=Object[]). When using the [] Array notation in the CFPROPERTY tag, it generates some rpc:item subitem that seems like a burden on non-cf consumers.
    Additionaly, I haven’t found a way to support anything in regards to Optional Elements, MinOccurs, MaxOccurs or very importantly Enumerations.
    Because I’m an avid CFer, I’m still developing this iteration of my webservice in CF even though it’s a pain without Enumerations at the very least. However, we have 5 more web services planned over the next 12 months and I’m not sure the current functionality will support the level of control that we need. Maybe that level of control is there somewhere, but the online docs nor the Support community seem to make knowledge of that available.
    -Steve

Leave a Reply