Different Technologies Used by Database Applications

What Database Applications Does

Database Applications creates business administration software. This business administration software is in the shape of a web application backed by a database. This web application and database is hosted by a commercial host. It can also be hosted on the client's own network, if the client knows how to do it. Database Applications strongly urges clients to leave the hosting in the hands of people making a living out of commercial hosting.

Although what Database Applications does is within well set limits, database backed web applications are useful in a very wide variety of cases. Nearly all business administration, as well as the administration of other organisations, can be taken care of by a database backed web application.

What we use

Grails

Grails is a high productivity web framework. It runs in the Java Virtual Machine and is based on the Spring Framework. Grails uses the Groovy Programming Language .

Grails provides much of the plumbing for a web project as code generated following convention. This generated code can be used as is, changed to a greater or lesser extent or discarded and replaced with hand written code. The greater the extent to which this generated code is used, the quicker the project is finished and the cheaper it is. Grails can shave many costly developer hours off a project.

In the end Grails is a pleasure to work with, the end products are solid and reliable and on today's hardware, fast.

Groovy

Groovy is a object oriented programming language that has many desirable features. It can be ran from code or compiled to byte code, like Java, and then ran. It has features, like closures which only found its equivalent in the Lambdas of Java 8 released in 2014.

J2EE web applications required much code. When Ruby on Rails came along I learned the Ruby programming language and the Rails framework. Coming from a Java background, Ruby felt foreign. After doing a project using Ruby on Rails and being happy with this project, I discovered Grails and Groovy. Groovy immediately felt just right. I never looked back.

Databases

The database can be likened to the engine of a car. It's absolutely essential for the functioning of the car, though on its own most people won't be able to use it.

Like the engine of a car, there is no alternative to a relational database for modeling the functioning of the vast majority of businesses and a great many other concerns.

Note that a web application is not a database, even though a database is an essential part of all the web applications created by Database Applications.

With the database as the foundation of the web application, which is what the client uses, it is inevitable that some features of the database will bubble up through the application to the user interface. Knowing at least something about database tables and the relationships between tables will make the user interface much more understandable. This interface is logical and easy to use. But the logic is based mainly on the relationships between database tables. It makes no sense that people don't want to spend at least a bit of time learning the principles of the application on which their business depends.

MySQL

MySQL is most likely the most commonly used database on the Internet. It is the second most commonly used database engine in the world, just behind Oracle. It is the first offering on nearly all hosting providers, including Amazon Web Services.

PostgreSQL

PostgreSQL is actually a more complete and standards compliant database engine than MySQL. Since version 8.4 its speed has also vastly improved, matching or beating MySQL in many tasks. It is the fourth most commonly used database engine in the world. Although widely used on the Internet, among others on this site, its never been as widely used as MySQL. Sometimes setting up a host with MySQL is just that little bit easier than it is with PostgreSQL.

Hosting

Amazon Web Services

Amazon Web Services is most likely the biggest cloud computing services provider in the world. They offer a vast array of services and are are in 12 geographic regions in the world.

Amazon Web Services has a free offering for a year. This helps concerns getting established. This offering is of course a base line offering, but it easily runs a Grails application and is enough for the needs of many small enterprises.

When it comes to pricing, one pays just for what one needs. Paying in advance can lead to huge savings.

When it comes to reliability, AWS is right there at the top, which is what one wants if one's application is with them.

Linux

The operating system used on AWS is their version of CentOS.

In case you didn't know, the Linux family of operating systems currently (20 March 2016) runs 494 of the top 500 most powerful computers on Earth. Go to the OS Family select element, select Linux and click submit. The others are all Unix systems. A few months ago there were still three Windows entries, all quite low down, but they're all gone.

These computers each uses as much electricity as a small town. Look at the figures on the Top 500 site. Each costs millions of dollars and about 1 million dollars, for the bigger ones, to keep operating each year. If Linux is good enough for them, it should be for you, too. Of course, this site runs on Linux, too. As does the machine on which this site was created.

The web pages

Twitter Bootstrap

Bootstrap is a web page framework developed by Twitter to make all pages appear equally well on all devices, from a mobile phone to the biggest desktop monitor. Go ahead, resize the browser window on any of the pages on this site, especially the ones with more than one column and/or those with images.

In addition the Bootstrap framework takes care of differences between the different browsers. They all do not display the same page the same way. With Bootstrap the differences are either gone or minimal.

There are many places one can get Bootstrap templates, either for a modest price or even for free. The template for this site comes from Bootswatch and was slightly altered. The pages look modern and presentable, even if the developer (there is a vast difference between a web developer and a web designer) has no artistic talent at all.

JQuery

jQuery is a JavaScript library allowing one to interact with elements on a web page in many ways writing just a little bit of code. On this site it was only used for the see more and see less functionality on the home page. In other projects it's used for Ajax calls to the server for searches and to change the content of select elements based on the selections in other select elements.

jQuery also takes care of the different ways different browsers handle JavaScript.