[CentralOH] Python Based Websites

Mark Erbaugh mark at microenh.com
Tue Mar 29 18:47:55 CEST 2011


I have a client who provides business training simulations. These are run as short term competitions among teams of competitors. Each team represents a company competing in the simulated marketplace. The competitors receive information about current conditions for a business quarter and make decisions (buy materials, hire employees, etc) for the next quarter. At the end of each round (a simulated business quarter), the decisions from each team are collected, processed and compared with decisions from other teams, performance is calculated and new quarterly data is provided to the competitors for the next round. This is usually done for 8 or so rounds (quarters) over either a two or three day competition or over the course of an academic term.

When I got involved with the project, the data was transferred among the participants using USB memory sticks. The participants use a proprietary C++ program that allowed them to view the data and make decisions. The original developer had put some hooks in the code to transfer data via the web, but never got that working. A web development company spent a year trying to get a web-based solution working and failed. I was able to get a Python-based (webpy) server working just a few weeks after figuring out the hooks in the original program.

The current goal is to move the entire project to web-based, just using browsers for the client side. Despite my success (or maybe because it wasn't a perfect solution), the client is not interested in pursuing a Python solution, which is what I'd like. He still sees Python as a "toy" language compared to C++. Also, although he is not a programmer, he understands a little about C++, but seems unwilling to learn anything about Python (in contrast to another client, who although he doesn't know Python, found he can read the code well enough to make sense of it and suggest where it wasn't working properly).

Another concern is security. The calculations done between rounds is what gives my client an edge over the competition and he doesn't want that to get out. His concern (and I partly agree) is that since Python is interpreted, it would be easier to reverse engineer than something compiled.  One of the scenarios of concern is that we would install the server software on a client's network for a single competition and that an unscrupulous client would reverse engineer things to run additional, unapproved competitions.

Are there some examples of Python (DJango, TG, etc) websites out there that have a dynamic user experience that I could use to interest this client in a Python solution?

Are there ways to address the security concerns?


Thanks,
Mark




More information about the CentralOH mailing list