General Questions On Xataface (Developing a Web Front End to a Database)

1,023 views
Skip to first unread message

OG1

unread,
Jan 4, 2014, 1:55:58 PM1/4/14
to xata...@googlegroups.com

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.
   

Steve Hannah

unread,
Jan 4, 2014, 2:19:43 PM1/4/14
to OG1, xata...@googlegroups.com

1) Is it possible to use another relational database with Xataface instead of MySQL? Postgresql or MariaDB?  
It will probably work with MariaDB but I haven't tried it.  It won't work with Postgresql currently.
 

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)?
The current themes weren't developed with mobile in mind.  You can modify the templates and stylesheets as desired if you want to adjust them.  For mobile apps I often create a single-page mini app in Xataface using jQuery mobile or Bootstrap.  But that is not automated... they are custom solutions.  I have wanted to create a mobile theme for a while but frankly haven't had the use case in a real-world app so haven't needed it.  It is also more difficult to come up with a generalized mobile UI the way you can with a desktop UI.  Usually for the mobile UIs I want it to be *very* simple and targeted at only a particular user so it is more difficult to come up with a general UI workflow that will hit the 80-20 rule.
 

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.
I have had a few clients who have used Xataface for intranets.  I really have no idea what the greater corporate adoption is like.
 

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.
If you've used Python, you might want to check out Django.  It is probably the closest thing I know in existence to Xataface.  If you know Java, PHP should be pretty easy to pick up.  You don't need any PHP to generate a default application, but usually you'll want to do at least some customization that requires a little PHP.  I get the feeling a lot of people who use Xataface start out with very little to no PHP experience... but they are able to get up to speed pretty quickly.
 

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?

I run many Xataface installs on EC2.  I haven't tried it on Heroku or GAE.  I have looked at GAE's PHP solution and read how some people have been able to run Wordpress on it, but I would rather stick with a more standard LAMP stack... especially if you're just starting out.  For development most people use XAMPP or MAMP on their local machine and then copy the database and source files to the production server when it's ready to go.


GPL License Issues:

I have been wanting to change the license from GPL to LGPL for a while, but it takes time to go through all of the libraries that I have used to make sure that they are compatible.  I think all of the libraries that I have used are LGPL compatible, but I'll have to go through each one individually to make sure... and this is low priority.

Steve
 

That's it for now.  All the best to you all and good luck with your projects.

Take care.
   




--
Steve Hannah
Web Lite Solutions Corp.
Reply all
Reply to author
Forward
0 new messages