Mathematica has pretty nice support for reactive GUI creation and database connectivity. It seems that it would be suitable for writing database front-ends, especially those involving a lot of computation, graphs etc. Sadly, I've failed to identify a reasonable way to deploy such applications. If it's a bad idea to try using Mathematica for writing such applications, please tell me. Otherwise I'd like pointers as to a reasonable deployment strategy. Here is a list of the options I've considered and why I consider them unreasonable or problematic.
1) Write the application using Mathematica. To deploy, let every client install Mathematica, get a copy the notebook and run the application using Mathematica. This would be pretty hefty priced, since there would be a license fee for every single client using nothing from Mathematica except running this application. Maybe not unreasonable, but if there are better ways I'd like to know.
2) Write the application in Mathematica, then deploy using the CDF technology. Numerous sources indicate the CDF player for security reasons is unable to read or write external files. I suppose connecting to external, custom data sources is likewise restricted. I'm trying to deploy an application, not deliver a document, and since CDF is a "computable document format" I should probably take a hint. A database application not able to connect to it's data source is unreasonable. Also, having an application require the user to "allow unsafe whatever" every time it starts is, if not unreasonable, at least a major nuisance.
3) Write the application using Wolfram programming cloud. I've failed to build user interfaces using this product. Wolfram support tell me that "Mathematica Online, which is a Beta product, does not support the function Dynamic yet. Some Mathematica functionality is only supported in Wolfram Desktop systems as of now." Building Mathematica GUI without Dynamic is what I consider unreasonable. Also, I'm not exactly sure to what extent database connectivity is supported in Mathematica Online or Wolfram Programming Cloud (they are essentially the same product, right?)
4) Write the application using webMathematica. Haven't tried it, but is there any reason to believe it would work better than programming cloud?
5) Use the wolfram language server-side, but not for client GUI. This is probably viable, but would be a sad choice if you like the Mathematica GUI and graphs. Especially since the technology is there. Again, I don't know if the area of DB front-ends simply isn't targeted by Wolfram, but I assume there are countless other areas where you'd have the need to deploy a computing application with both GUI and file/data access. Delivering a top-notch product with [insert your favorite Wolfram sales video] and not providing a reasonable way for deploying applications, is what I consider unreasonable.