Web Application Development in Linux Environment

883

Web Application Development

This article is presented by Vijay Web Solutions India Pvt. Ltd., a complete mobile and web application development company in India. The article represents the technologies used for developing web applications focused, comparing open source alternative to proprietary supported in Linux, also commenting on performance and development time.

Comparing Alternative Distribution

Currently there is a wave of development / export of most applications for use on the web. It should be emphasized that one should be careful when doing this as it should analyze the real need of it, so the development of web applications is more complex than the development of executable applications.

Solutions such as application delivery are needed in companies that have branches / points distributed over a considerable distance geographically. Citrix Metaframe is one of the tools that is installed on a Windows server with great performance hardware, allows publishing of any program installed on it. It provides user friendly interface to define which users can access each application published and how many instances of this application can run simultaneously according to the number of licenses. It is a great solution because it works with complex software applications made by going to the DOS platform. Greatest obstacle in such a solution is its cost, it can turn into more than $ 20,000.00 just for this tool with a considerable server hardware.

An alternative would be to develop web applications for use in the browser and distributed via a web server. I have always wondered about what would use more network traffic. Both forms are processed on the server, both using a metaframe as using a web application. But think about how it would be to transfer the image generated by the client instance on the server that is to be transferred to the client metaframe, if it would generate more traffic than sending an HTML document.

Greatest attractive to use the second option is you can use the Unix platform and our old known as Apache web server. For such applications there are several free to use database management systems like PostgreSQL, Firebird or even the most popular MySQL, which is widely used for its integration with PHP. Nor would there be problems in integrating an application that was being published by a Linux server with Apache to access databases on a Windows server, for example.

Database

Applications always require Relational Database Management Systems (RDBMS). Currently, there are several alternatives available in the market, being always hottest, the Oracle, currently at version 12c (c stands for cloud) and Microsoft SQL Server at version 2014. These solutions are great, however cost a bit outside the context of many companies on the rise. Alternatively, the DBMSs appeared attractive for situations like this, because despite being free to use, features stable operation and very good consistency.

There is availability of versions available for various distributions of Linux. Among them we can mention the PostgreSQL, which has characteristics and features that do not want to leave it on business. Firebird which is the freeware version of our renowned Interbase, having the same characteristics and is compatible with the same. But, surely you could not miss the MySQL which despite being the least robust of the three above options is the most used. A lot of web application development companies developing commercial applications working with PostgreSQL, to be the most robust among them and implement a best aspects safety. The Firebird still leaves a bit to be desired in this regard. The adoption of tools like these in projects reduces the cost of deploying the systems in customers. This facilitates their financial customer acceptance which might not be achieved only with the use of these free alternatives.

Technologies for Development

For the development of applications, use some CGI tool able to interpret the scripts on the server and return a default output to the user (HTML), to interact and post this information to be processed on the server, etc… There are several tools available on the market, thus as in the database have the paid and free to use. There are still very large number of servers using ASP which is Microsoft proprietary, which can only be installed on a server running Windows.

In return, we have solutions that are platform as JSP (Java Server Pages), PHP, and ColdFusion, which despite to be paid, and support installation on various distributions of Linux. Initially, in response to the use of ASP, PHP, which has spread a lot and gained a lot of fans is the clear language for programming that supports development with the paradigm of object orientation. The reason both has widespread, because there are several packages and documentation available on the Internet for both of these technologies.

Another tool that has been growing very equaling or even surpassing is JSP, because being originated from Sun’s Java technology, it presents as a very consistent solution due to the great support that provides the Java language and how big the opponent group .NET from Microsoft. Also it supports the deployment on a Linux server. A proprietary solution that many are unaware that also supports Linux is Adobe ColdFusion currently at version 11. We will briefly discuss about it in the paragraphs below.

It offers the possibility to run on a Linux server with Apache and consult a base in a MS SQL Server on a Windows server. It is a simple and clear language, with advantages and disadvantages over the others. How big advantage is the ability to rapidly develop, because the language has different tags, such as CFINPUTs, which besides having the same attributes of INPUTs defined in HTML, allow the tag itself set the field validation on the client, messages, etc… without the need to write code in Javascript for this, as it would be in the languages mentioned above.

ColdFusion automatically generates these codes. Allows integration with Java technology since their codes are compiled and these generated classes in Java are used to send the output to the user. Disadvantages are that the cost for its implementation is necessary to acquire a license to power up Install the server and the CF developer community is very small in relation to the other. For example, to generate a PDF document that in the case of PHP and JSP must be native or using packages and libraries in CF only with proprietary solutions support. Notes on a case study that although it consume a considerable amount of RAM memory and other resources, it has a good performance microprocessor Pentium IV 2.4 MHz, 1GB of RAM and a 800MHz local bus without the need for a dual server.

All this with the Apache web server with SSL support. A detail that is worth noting that in this case study that I have seen, opening a series of doors services the CF, the more interesting it would be to place a firewall even before avoid direct external access.

Conclusion:

With this article, we hope to have contributed to the analysis of its structure helping to choose the path you want to follow. Proprietary solutions can be integrated into the Linux platform bringing benefits and reducing the cost. If the company can invest in a solution based on CF aimed at the rapid development of the projects, this can be achieved in the Linux environment.