Hi All:
Sorry, if some of these questions have been addressed before. I have searched this forum, but some of these topics don't seem to have been discussed in detail previously.
I've been searching for web framework to help build a simple database using relational technology with a nice looking web front-end (and back-end) and a good level of security. The target users of the application are generally non-technical people. Users that know how to get around in a browser client and view tables in Excel, but mention a database and they have no idea what you are talking about.
I've used Ruby on Rails for some simple application development and deployed the app to PAAS cloud services (Heroku, etc.). I really like this cloud based method of application development and deployment. I would like to deploy the simple database web app to a cloud PaaS or IaaS as well. RoR is a great MVC framework, but I feel it's overkill for this database web app.
I did some research and found Xataface and
OpenXava to be the closest web development framework to what I'm looking for to build this database web app.
I initially decided to try out OpenXava as the community is very active, I have used Java a little previously and OpenXava is a LGPL license instead of GPL. The lawyers generally don't like the GPL license restrictions. To avoid the headache it's usually best to not use GPL if there is an equivalent Apache or MIT licensed application available, but that's a separate issue for now. The big thing was that OpenXava was able to use multiple relational database technologies. Again, because of licensing, when starting from a green field, MySQL is not the best way to go (Oracle and all).
I generated a simple app on my machine using OpenXava (actually very well integrated with Eclipse) and was quite pleased with how they have modeled the framework. Then realized that to deploy the OpenXava app to the cloud another technology is needed called a "web portal". There are some open source web portals such as
Liferay. I believe in simplicity for the user. After using other web frameworks that can deploy applications directly to cloud platforms, I decided OpenXava may not be the way to go if the web portal is required. Though I generally like the approach they have taken with the framework. I know they have some plug-ins to avoid having to use the Java web portal, but then it's not a full out-of-the-box web framework as I see it.
So now I'm looking at Xataface in detail and trying to figure out a way around the main issues. I think Xataface is very well designed and hits the nail on the head for the non-technical user that needs to interface with a database to do their work, but the user needs to be shielded from the complexities of the database with a nice easy-to-use front end (AJAX approach). The Xataface framework has a lot of potential towards developing data-centric applications with that target user in mind.
In summary, my questions/concerns and request for advice (suggestions for alternatives) are as follows:
1) Is it possible to use another relational database with Xataface instead of MySQL?
Postgresql or
MariaDB?
2) Are the Xataface developed applications "Responsive" to adjust to different screen sizes by default? If not, can responsive themes be used with Xataface such that users can at least view the developed web application on a 7" or 10" mobile tablet (Android and iOS)?
3) Has Xataface been used in a 24/7 commercial environment (other than the university environment) with large corporate clients? It's always good be be able to say a big company is already successfully using a technology when introducing it.
4) I think I should be able to pick up enough PHP to generate the application. Should I be concerned about not having used PHP before? I've used Python, Java and Ruby to build straight forward programs in these languages.
5) From my research, it should be possible to deploy a Xataface application to a cloud based PaaS (Heroku, Google App Engine) or IaaS (AWS EC2, Google Compute) or as a last resort a simple shared hosting service (Linux server) such as Rackspace. I prefer to use a cloud service (over shared hosting) to keep complexity and maintenance to a minimum. Does anyone see any big issues or additional technology requirements in getting a Xataface application deployed and running smoothly on a cloud-based hosting PaaS or IaaS service?
That's it for now. All the best to you all and good luck with your projects.
Take care.