restcoldfusioncoldboxcoldfusion-10

What can CF10 RESTful API do that Coldbox RESTful API cannot do? And vise versa?


Just started looking at some MVC JS framework / library and most of them expect a RESTful API endpoint, which got me thinking... what can I do using CF10 that cannot be done using CF9 + ColdBox RESTful support, and vise versa?

Thank you.


Solution

  • Restful webservices is a standard concept and all the implementation eventually adhere to those norms. There are already existing frameworks like Taffy, Powernap and frameworks like ColdBox 3, Mach II which can help create restful services in ColdFusion. And I they do a terrific job in terms of completeness and empowerment offered to the users. The difference much lies in the way they enable it, how do they let you create your services. Some follow convention others configuration with their own DSL etc and somewhat in terms of features they offer.

    ColdFusion 10 has native restful webservices support. What it brings to the table is:

    1. You can use your own understanding of components and extend them as restful webservices
    2. Based on standard JAX-RS
      • Tons of support/ applications available for extending (testing/automation)....
      • No implementation biasness, widely available/acceptable
    3. Better performance
    4. Better support and doc
    5. Less configuration
    6. Application WADL implmented (WSDL like)
    7. Full JSON/XML support and easily extensible

    As you will see most of these are benefits of having it "natively" available to the language rather than a vis a vis comparison of features and that is why we have implemented it. IMO there isn't any comparison at all. I would like to see all frameworks take the advantage of natively available feature and build on top of it.

    Thumb rule should be pre CF10 use any one which suits your taste, usecase/ post CF10 release use natively available or any framework which utilizes the same.

    Word of caution: Every framework author would be biased towards their own so judge before you take the leap.

    p.s. I have implemented Rest support in ColdFusion10 :)