A practical use of Open Source Code Softwares

By: Roberto Sedycias
Submitted: 2007-04-30 13:09:48
Print this article | Tell a friend | For publisher | Social Bookmarking
Rating:
 

As we started the project of our web site, we knew that the proprietary software costs would be too high for our financial resources. Our only option then was to make use of Open Source Code softwares.

However, within the Open Source Code there are lots of softwares to choose from, and it´s up to the system analyst/programmer to pick the ones that best suit the project goals.

In our case, we picked Linux as our operating system. However we faced a big question: Which Linux distribution ? There are dozens of linux distributions, each one with specific advantages, sometimes with or without paid services.

We chose linux Slackware because we thought that it would suit better our needs, in terms of stability and reliability. Slackware is a conservative distribution, meaning that it only offers in its distribution package kernel versions and third party libraries, once it´s been proved to be stable and reliable. As a result, Slackware is one the most stable Linux operating system on the market. If the user wishes the most recent Linux kernel and libraries, we recommend to look for a different distribution.

Another reason for us picking Slackware, was because of its text interface, which at the beginning may become a bit difficult, in the long run however it offers a better understanding of the Linux environment. This way most of Slackware configurations are done thru text scripts.

Once it was set the operating system, we picked Apache as our web server. Apache is one of the most popular web server in the internet. For server programming language, we chose PHP. Also, a very popular programming language. Our experience with Apache/PHP proves that this setup is very reliable, working extremely well in our production environment. For workstation programming language, we chose javascript, which besides of having a simple syntax, it offers lots of resources.

Apache web server is really a complete web server. Also, it can become very complex with many configuration setups.

For our database, we picked Postgresql. This database has been made available to the public for more than 15 years, and besides of being well debugged, it offers so many resources that it has become one of the best database options from Open Source Code softwares. Extremely reliable, Postgresql has reported cases where there have been databases in production with over 4 terabytes. Besides all of that, Postresql is not the most popular Open Source Code database. A matter of marketing ? Probably.

As for the programming language PHP, we had to use an object oriented application structure. There are many PHP application structures being offered with Open Source Code license. Object oriented application is very important, because it makes programming very easy and scalable up to the point where the system may grow without many problems. Also, it helps to keep PHP code separated from HTML, with the help of some specific libraries, such as Smarty. We make use of Smarty library and we believe that it is a very important resource, which can even make web pages faster thru the use of its cache functions.

Also a very important set of libraries worth mentioning for PHP systems, is the PEAR libraries. In PEAR web site, among the many libraries being offered, there are the database interface DB and the MAIL_QUEUE, which sends emails thru the use of database.

As we came to the end of our project, we had to use some sort of real time database replication. For that we chose the DRBD and Heartbeat libraries. The use of database replication is very important and should not be postponed. Just after 3 months our system got into production, our server hard disk became bad. Thru the use of DRBD/Heartbeat we were able to put the system back into production within seconds, without loosing any data. DRBD/Heartbeat replication is done thru the use of a lan network between the server and slave nodes.

Our project also makes use of ImageMagick (enlarge and reduce images), Iptables (firewall), Tsearch2(text search in portgresql) and Mon (linux monitoring tasks).

Also a very important library worth mentioning is the pseudo APC compiler for PHP. Speed is always a critical factor for internet sites.

Our web site is already in production and based upon our experience we can say that the Open Source Code softwares we picked, proved to be extremely reliable and stable. Open Source Code softwares can certainly be an excellent option for developing web sites.

This article can also be accessed in Portuguese language from the News Article section of page PoloMercantil

Roberto Sedycias has a bachelor degree in Business Administration and over 20 years experience in systems analysis and computer programming. Currently working as IT consultant/chief software engineer for www.PoloMercantil.com.br

Article source: Expert Articles

Most Recent Articles in Software category

  • How to Make an Animation Movie with iKITMovie - By: Mark Peterson
    Animation is a visual technique that provides the illusion of motion by displaying a collection of images in rapid sequence. This article helps you to make animation movies with webcam / DV Camera
  • Stop Motion Animation Claymation in Education - An Exciting Learning Tool for All Ages! - By: Mark Peterson
    In the beginning early stop motion animation involved animating objects which included the animated movement of any objects such as toys,blocks or any rigid inanimate object you care to mention. Cel animation was introduced in the early 20th century. This form of 3D animation used the phased movements of figures or characters to be traced onto a succession of transparent "celluloid" sheets. These were superimposed one after the other, onto a single static drawing which acted as a background or movie backdrop. Think of the early Walt Disney animations.
  • Improving Your Business With Software Development - By: Anne Catherine
    Having started your own business, you would definitely want to maximize the returns and increase the overall efficiency of the business and thus, maximize profits. All this is possible with the help of Software......
  • Software Outsourcing - The New Trend That Is Proving Highly Profitable - By: Anne Catherine
    Software outsourcing is the new business that is witnessing a big boom and every software company worth its salt wants to make the most of this wonderful opportunity. India has over time proved to be the most sought after destination.....
  • HI-tech Era Of Custom Software Development - Get an Unbelievable Rise In Business Turnover - By: Anne Catherine
    Day by day, technology is getting advanced and sophisticated compelling us to live in the hi-tech era of competition. From business, enterprises, companies to various organizations, needs and demand....
  • Why Software Development Outsourcing Is Getting Popular - By: Anne Catherine
    Automation, speed, and perfection, these are certain aspects that defines the superiority of software development today. With increasing competition and demand of effectiveness, software development processes are getting more sophisticated with the combination of.....
  • What Are The Payroll Accounting Management Software? - By: Pooja Gupta
    The Payroll Accounting Management Software helps in your management needs relating to PF, EPF, FPF and ESI, etc. it helps you to use your skills in accounting software in a more efficient manner.
  • DVD Software Explained and Clarified - By: Lance Carr
    I was recently asked to recommend DVD software for a range of purposes and I realised, from the questions, that there is a bit of confusion regarding which DVD software does what. So I'll try to shed some light on this sometimes confusing subject.
  • Outsourcing - The Trend Of The Times - By: Anne Catherine
    Outsourcing is a tool that can be used to making life easy and also running businesses and other enterprises profitably. Outsourcing can be used by anyone and is not restricted to companies and businesses alone. Outsourcing can be used to one's advantage so that.....
  • Custom Software Development - An Assurance Towards Perfection and Success - By: Anne Catherine
    There are many new entrepreneurs with great new ideas and new inventions in the form of products or services. To run businesses better, most of the entrepreneurs need customized software to......