Uso prático de software de código aberto



Ao iniciar o projeto do site de leilão eletrônico PoloMercantil, sabíamos que os custos dos softwares proprietários seriam proibitivos para os nossos recursos financeiros. Então nossa única opção de tornar este projeto viável seria utilizar softwares dentro da filosofia do Open Source Code Project (Projeto de Software de Código Aberto).

No entanto, dentro do Open Source Code existe uma grande variedade de opções de softwares e bibliotecas, onde cabe ao analista/programador fazer a melhor opção a fim de obter os melhores resultados.

No nosso caso, optamos pelo sistema operacional Linux. Porém veio a questão: QUAL LINUX ? Existem dezenas de distribuições de linux, onde cada uma oferece recursos específicos, agregados ou não à serviços geralmente pagos.

Optamos pela distribuição do linux Slackware, por achar que esta atenderia melhor as nossas necessidades. Linux Slackware é uma distribuição conservadora, no sentido de somente adotar versões recentes do kernel do linux e demais bibliotecas de terceiros, uma vez comprovada suas respectivas estabilidades. Neste sentido, o linux Slackware é um sistema operacional muito estável e confiável. Se o usuário deseja ter a versão mais recente do kernel do linux, recomendamos procurar outra distribuição.

Outro motivo que optamos pelo linux Slackware, foi pelo fato de ainda manter sua interface de texto, o que apesar de ser um pouco difícil a princípio, oferece melhor conhecimento e domínio sobre o ambiente linux. Deste modo, a maior parte das configurações do Slackware continua sendo feita através de scripts (em texto).

Uma vez definido o ambiente operacional, optamos pelo o servidor web Apache, um dos servidores mais utilizados na internet. Para linguagem de programação para servidor, optamos pelo PHP. Também uma das linguagens mais utilizadas na internet. Nossa experiência neste ambiente comprova que o funcionamento Apache/PHP é totalmente transparente e estável, funcionando 100% a contento em ambiente de produção. Para linguagem de programação nas estações de trabalho nossa opção foi o javascript, que apesar de simples, oferece muitos recursos.

O servidor web Apache é realmente um servidor completo. E também complexo, com inúmeras possibilidades de configurações.

Com relação ao banco de dados, nossa escolha foi Postgresql. Este banco de dados é oferecido há mais de 15 anos e além de estar bem depurado, oferece muitos recursos que outros (banco de dados de Open Source Code) ainda estão por oferecer. Extremamente confiável, o banco de dados relacional Postgresql já tem registrado casos de banco de dados em produção com mais de 4 terabytes. Apesar de tudo, o postgresql não é o mais famoso banco de dados de Open Source Code. Questão de marketing ? Provavelmente.

Ao decidir pelo uso da linguagem de programação PHP, tivemos que adotar uma estrutura de programação orientado por objetos. Existem muitas estruturas de programação para a linguagem PHP, oferecidas dentro do Open Source Code. A estrutura de programação orientada por objetos, além de facilitar a codificação das páginas, ajuda a separar o código PHP da programação em HTML, juntamente com ajuda de algumas bibliotecas específicas, tipo Smarty. Nós fazemos uso da biblioteca Smarty, e acreditamos que é um recurso muito importante, agilizando inclusive em cache a execução das páginas web.

Também, um conjunto de bibliotecas muito importante na nossa codificação em PHP, foi a biblioteca PEAR. No site da PEAR, existem muitas bibliotecas com várias finalidades, entre elas a de comunicação com banco de dados DB e a MAIL_QUEUE, responsável pelo envio de emails através de banco de dados.

Na finalização do nosso projeto, nós tivemos que utilizar o recurso de replicação do nosso banco de dados em tempo real, através do uso das bibliotecas DRBD e Hearbeat. O uso de replicação de banco de dados é um aspecto do projeto que não deve ser negligenciado. Após 3 meses em produção, o disco rígido do nosso servidor principal ficou inoperante. Nossa salvação foi DBBD/Heartbeat, uma vez que o disco backup entrou em operação em questão de segundos, sem qualquer perda de dados.

Nosso projeto também faz uso das bibliotecas ImageMagick (ampliação e redução de imagens), Iptables (firewall), Tsearch2 (pesquisa de texto em banco de dados postgresql) e Mon (monitoramento de tarefas no Linux).

Também outra biblioteca importante que nós fazemos uso, é o pseudo compilador APC compiler para a linguagem PHP. Velocidade é sempre um fator crítico em sites de internet.

O site PoloMercantil já está em produção e baseado em nossa experiência afirmamos que Open Source Code softwares são altamente confiáveis e seguros. Certamente uma excelente solução para o desenvolvimento de sites de internet.

This article can also be accessed in portuguese language from the Article section of page http://www.polomercantil.com.br/camera-digital.php
Autor: Roberto Sedycias


Artigos Relacionados


Razões Para Optar Pelo Alojamento Web Linux

Saiba Tudo Sobre Hospedagem Em Linux

Vantagens Da Hospedagem Linux

Servidor Jabber Com O Slackware Linux

Srw: Sistema De ReplicaÇÃo De Banco De Dados Via Web

Servidor Apache

Cluster Beowulf