L A M P Arquitectura Linux, Apache, MySQL, PHP A m p l i t u d e N e t
A) Arquitectura LAMP A Plataforma UD121 baseia-se na arquitectura LAMP. Este termo surgiu no final do ano 2000 para definir o trabalho integrado das tecnologias Linux, Apache, MySQL e PHP, passando a ser considerado como uma referência máxima no mundo do software livre. A arquitectura LAMP é considerada uma das melhores ferramentas disponíveis para qualquer Entidade, colectiva ou individual, que necessite de um servidor versátil e robusto. Os Produtos/Serviços arquitectados pela Amplitude Net possuem características comuns, como por exemplo, o facto de funcionarem com uma vasta gama de hardware de requisitos relativamente simples, mantendo toda a sua estabilidade. Foi sem dúvida este ponto, que tornou esta tecnologia como a alternativa mais adequada ao mercado nacional Algumas das vantagens que se obtêm com a tecnologia LAMP são: Suporte a grande quantidade de arquitecturas, como Intel e Compatíveis, SPARC, Mips e PPC (Machintosh); Código simples e com poucas alterações inter-plataformas; Patchs gerados rapidamente após detecção de algum tipo de bug; Actualizações do software via Internet; Possibilidades de incrementar os serviços e funções desde o código fonte; Software Livre, o que permite a liberdade da cópia, distribuição e alteração; Código Fonte fornecido com os programas executáveis de modo a se adicionar novas características e comportamentos. www.amplitudenet.pt 2
B) Linux Baseado nos standards Unix, surgiu no início dos anos 90 a partir das buscas de Linus Torvalds no sentido de melhorar e ampliar Minix, outra implementação gratuita do Unix, desenvolvida por Andy Tanenbaum e dirigida para âmbito educativo. Desde então, as suas capacidades têm vindo a ser incrementadas por um número elevado de programadores, tornando-o num dos sistemas operativos mais populares do mundo. Basicamente, Linux é o núcleo dum sistema operativo, tendo servido de suporte a grande parte do hardware actual, como por exemplo: USB, Câmaras digitais, scanners, impressoras, gravadores, redes, etc. Este núcleo vem coberto por livrarias e utilidades distribuídas sobre a licença livre GPL ou similares (aqui a denominação GNU/Linux ) A sua excelente relação qualidade/preço tem vindo a conquistar a admiração e o apoio incondicional de um leque cada vez maior de Utilizadores. A sua adopção no âmbito de servidores web tem produzido efeitos excelentes. Alguns sites de referência como seja o caso da Amazon, Yahoo e Google, já adoptaram este sistema. Linux, entre outras características, é multitarefa, multiutilizador, multiprocessador, possui protecção da memória entre processos, e suporta vários sistemas de arquivo. Dispõe de uma ampla gama de protocolos de rede suportados pelo núcleo, e permite partilhar, por rede, ficheiros e impressoras, incluindo com outros sistemas operativos. A robustez, estabilidade, mobilidade, e os custos reduzidos associados ao Linux, tornam este um sistema operativo ideal, tendo já conquistado uma posição de líder no âmbito da Internet. www.amplitudenet.pt 3
C) Apache Apache é o servidor de web por excelência, contendo uma cota de mercado superior a 60%. Entre as suas características, realça-se: Fiabilidade; Custos: Apache é totalmente gratuito e se distribui sobre uma licença que permite a modificação do código; Expansibilidade: É possível a adição de módulos para ampliar as capacidades do servidor. Existe uma vasta gama de módulos que permitem gerar o conteúdo dinamicamente (com PHP, Java, Perl, Pyton), monitorizar o rendimento do servidor, atender petições encriptadas por SSL, criar servidores virtuais por IP ou nome, e limitar a largura de banda para cada uma delas. Estes módulos podem ainda ser criados ou editados por qualquer pessoa com conhecimentos em programação. Este servidor baseia-se no servidor pioneiro NCSA que surgiu a partir de diferentes ampliações e paches - a sua denominação é uma derivação de "a patchy server" - tendo sido o seu desenvolvimento interrompido em meados de 1994. Um grupo de administradores web vieram posteriormente a fundar o Apache Group. Como se pode verificar na figura seguinte, o Apache ocupa a primeira posição dos servidores na lista fornecida em Abril de 2003 pela Netcraft. www.amplitudenet.pt 4
www.amplitudenet.pt 5
D) MySQL A administração e gestão de informação são pontos-chave para o êxito de qualquer projecto. A informática contém em si tecnologia que permite satisfazer a necessidade de controlo da informação, mas as instituições muitas vezes acomodam-se com aplicações ou programas que não respondem às suas necessidades. Os dados devem ser organizados de acordo com um processo prévio, que compreenda e analise o desenho do modelo de dados, assim como a eleição e posterior configuração do sistema que suportará a base de dados. Existem diferentes arquitecturas para os sistemas de gestão de bases de dados, mas a mais estendida e adoptada é a arquitectura relacional. MySql é um servidor de bases de dados relacionais muito robusto e mais rápido que as outras soluções comerciais. É um software, publicado sobre a licença GPL (GNU Public Licence) e mantida pela companhia MySQL AB. Este gestor foi arquitectado fundamentalmente para ser rápido, de modo que não possui algumas das características utilizadas pelos gestores comerciais mais importantes, como Oracle, Sybase e SQL Server. No entanto, este ponto não o impede de ser o mais indicado para aplicações que requeiram muitas leituras e poucas escritas, e não necessitem de características muito avançadas, como é o caso das aplicações web. MySQL está disponível para um enorme número de sistemas operativos: AIX, BSDi, DEX Unix, FreeBSD, HP-UX, Linux, MaxOS X, NetBSD, OpenBSD, OS/2 Warp, SGI Irix, Solaris, SCO OpenServer, SCO UnixWare, Tru64 Unix, Windows 95, 98, NT, 2000 e XP. A MySQL AB estima que 4 milhões de servidores de MySQL estejam instalados em todo o mundo, o que significa aproximadamente 20% do mercado. Entre os seus Clientes destacam-se o Yahoo!, Cisco, NASA, Motorola, Google, Silicon Graphics, HP, Xerox e Sony Pictures. Grande parte do seu êxito deve-se sem dúvida ao facto de ser um dos elementos dentro da tecnologia LAMP. www.amplitudenet.pt 6
Em Março de 2003 surgiu a versão 4.0.12 como sendo a primeira versão estável da geração MySQL 4. Este novo MySQL introduziu melhorias há muito esperadas, das quais se destacam: Suporte para transacções; Chaves estrangeiras; Bloqueio a nível da fila; Cache de consultas; A intrução UNION; Eliminação e actualização multitabela. www.amplitudenet.pt 7
E) PHP A capacidade de interacção é um sinal distintivo da web. Neste contexto, as capacidades de HTML, Javascript e outras tecnologias são bastante redutoras. Uma página profissional não se deve limitar a mostrar informação e apresentar formulários para se envolver com os Utilizadores. As novas necessidades foram apreendidas, o que originou o nascimento do protocolo CGI, permitindo aos navegadores comunicarem com programas alojados no servidor. Ao longo do tempo, são percepcionados vários problemas associados aos CGIs, como por exemplo a sua complexidade. A popularidade do Javascript e Perl, originou a existência de linguagens de script a executar no servidor. Nasceram assim tecnologias como ASP, PHP, JSP, ColdFusion ou mais recentemente o Python. Comparando o PHP com as restantes alternativas destacam-se as seguintes vantagens: É um software livre, o que implica custos menores, servidores mais em conta do que as alternativas existentes; O seu tempo de desenvolvimento é também mais reduzido, uma vez que, para além de ser uma linguagem mais acessível, existe um volume de código PHP livre muito superior ao das outras tecnologias, sendo apenas superado pelo Perl. Este facto permite a construção de sites apenas com a instalação de sccripts livres como PHP Nuke (Weblog), oscommerce (comercio electrónico), ez publish (Sitema de Gestão de Conteúdos), phpbb (Fóruns de Discução), phpmyadmin (administração de base de dados MySQL); A sua integração com a base de dados MySQL é rápida, tornando-se uma das alternativas mas atractivas para sites de qualquer dimensão; A sua sintaxe foi inspirada no C, tendo sido ligeiramente modificada de forma a se adaptar ao ambiente trabalhado; As livrarias standard são bastante amplas, o que permite reduzir os chamados "custos ocultos", um dos principais defeitos do ASP; PHP é realmente multiplataforma. Funciona em todas as máquinas com capacidade de compilar código. Destacam-se diversos sistemas operativos www.amplitudenet.pt 8
para PC e Unix. O código escrito em PHP funciona em qualquer plataforma de modo idêntico; O acesso às bases de dados em PHP é muito heterogéneo, dado dispor de um leque de funções distintas para cada gestor; O PHP é suficientemente versátil e robusto de forma a construir aplicações de grande dimensão para aceder a recursos de baixo nível do sistema, bem como pequenos scripts para enviar, por exemplo, os campos de um formulário por correio electrónico; O PHP é uma tecnologia de futuro, solidificando e aumentando cada vez a sua presença na Internet. www.amplitudenet.pt 9