Http://www.darrenmothersele.com/content/drupal-enterprise-web-framework
I was recently asked to take a look at the Google appengine, as a possible host for a web app. one major drawback for me is that it's currently limited to only running Python code, and the framework I'm using (Drupal) is Php. that rulled it out as an option, but in this process I had a quick look at Python frameworks, in particle a really interesting one called web2py. they have a downloadable pdf comparison of various frameworks, and I was disappointed not to see Drupal listed.
Here's the areas of comparison, seemingly chosen to highlight web2py's strengths-But Drupal does just as well...
Model View Controller?Web2py = yes. Drupal = yes *.
* Drupal actually kind of uses PAC (Presentation-extract action-Control) a further development of the Model-View-controller architecture.
Web based interface?Web2py = yes. Drupal = yes. kipand views modules in Drupal allow you to quickly build your model, and supporting site architecture.
Web based database admin interface?Web2py = yes. Drupal = yes *.
* The content management tools give you all the access that site admins shoshould need. OK, so there's some stuff you can't access-but you can use phpMyAdmin if you really need access to the whole database.
CrudWeb2py = yes. Drupal = yes.
Upload formsWeb2py = yes. Drupal = yes. Only web2py and Django has a standard mechanic to handle file upload and secure storage? No-Drupal has this too. With optional public, or private file downloads.
Byte code compilationWeb2py = yes. Drupal = none native. Limitations of PHP as the base language here. There are options for optimizing PHP code.
Ticketing SystemWeb2py = yes. Drupal = yes. messages are optionally sent to log only, or display on screen and in log. In Drupal API it's called watchdog.
Zero InstallationWeb2py = yes. Drupal = no. But you only have to install once if you use a "multi-site installation"-and run all your Drupal sites from one code base.
Zero ConfigurationWeb2py = yes. Drupal = No. Alright, so you have to enter your database connection settings.
Web Based Model DesignerWeb2py = yes. Drupal = yes *.
* Kipprovides Drupal with online tools for creating the content types-it's not a graphical SQL designer-but still intuitive and easy for non-programmers to use.
Web Based TestingWeb2py = yes. Drupal = No. Also unit testing is being added to Drupal.
Runs on Google App EngineWeb2py = yes with some limitations. Drupal = No, Gae doesn't support PHP yet.
CachingWeb2py = yes. drupal = yes. drupal can use any PHP based Caching System, and has it's own very powerful cache system. plus a throttle system for clustering load during periods of high traffic.
Native templating LanguageWeb2py = yes. Drupal = yes.
Template ExtensionWeb2py = yes. Drupal = yes.
InternationalizationWeb2py = yes. Drupal = yes. Drupal interfaces are easily translated into multiple versions. Custom translations are easy to create, are part of the core system, and allow variables in translations.
Database Transaction actionWeb2py = yes. Drupal = yes.
Automatic migrationsWeb2py = yes. Drupal = yes. Changes to Drupal content types in kipautomatically perform the required SQL alter statements.
Multiple databasesWeb2py = yes. Drupal = yes.
Blocks SQL injectionsWeb2py = yes. Drupal = yes.
Blocks double submitWeb2py = yes. Drupal = yes.
Embedded ded Ajax LibraryWeb2py = jquery. Drupal = jquery.
JSON supportWeb2py = yes. Drupal = yes.
I think you can see Drupal compares very well as an enterprise web framework, and this goes to show it really is more than just a CMS.