DECA-20: Determine if we will continue to use Python and CherryPy for Decapod server, or switch to Kettle

Metadata

Source
DECA-20
Type
Sub-issue
Priority
Major
Status
Closed
Resolution
Fixed
Assignee
Jonathan Hung
Reporter
Colin Clark
Created
2009-10-21T13:44:03.000-0400
Updated
2012-01-10T09:44:20.896-0500
Versions
N/A
Fixed Versions
  1. 0.3
Component
  1. Capture

Description

At the moment, Decapod server is less than 200 lines of code written in Python using the CherryPy web framework. It is inevitably going to need more work and investment put into it. While Python and CherryPy are both great technologies, we may want to consider using Fluid's Kettle server-side JavaScript environment to provide a simple and seamless development experience when creating RESTful services and even rendering markup.

Comments

  • Boyan Sheytanov commented 2009-11-09T07:28:51.000-0500

    Here's a quick CherryPy vs. Kettle comparison.

    Advantages of Python & CherryPy:

    • The core framework is already written and is stable, no needs to change it or to redevelop something.
    • It is fairly straightforward and simple to use.
    • It is well documented.
    • It is powerful enough to suit our needs.

    Disadvanatages of Python & CherryPy:

    • It is a inconsistent with Fluid projects (written in Python instead of JavaScript).
    • We cannot allocate a lot of resources on it.

    Advantages of Kettle:

    • We can share it with other Fluid projects and benefit from it.
    • We can spare more resources working on it.
    • Its design is coordinated with the Fluid project requirements.
    • We can customize it to suit our own needs.
    • It can provide seamless development experience.

    Disadvantages of Kettle:

    • It's in an early stage of development and still a lot more needs to be done.
    • It is based on JSGI - a technology that needs some study in order to be used efficiently.

    These were extracted after some discussions with Jess, Colin and Michelle. Based on them and considering the overall impact on Fluid projects development, it is decided that a switch to Kettle will be initiated. As a start, the CherryPy server will be used for testing while Kettle interface is being developed.

  • Boyan Sheytanov commented 2009-11-09T07:30:26.000-0500

    This has been resolved with a decision of a switch to Kettle.

  • Boyan Sheytanov commented 2009-11-30T04:42:19.000-0500

    This issue should be marked as closed.