PROCURAR:     
  Quinta, 26/11/2009
» Introdução
» Programação
» Administração
» Hardware
» Aplicativos
» Jogos
» Segurança
» Editorial
» Entrevistas
» Fórum
» Links
» Notícias
» Pegue o Linux
» Documentação
» Programas
» Dúvidas
» Oportunidades
» Sobre
» Contato
» Publicidade
 
Powered By:
DEBIAN
GNU/LINUX
 
English Version
 
 
Conheça o Apache 2.0 - parte II
Por: Elias Bareinboim

APR (Apache Portable Run-Time)

Tem toda relação com o item anterior , em larga escala. É talvez a mais importante das novas características do Apache 2.0. Nas versões anteriores portabilidade era tratada internamente, feita dentro de padrões, porém pelos programadores. Com o 2.0 a portabilidade será orientada via APR, não será mais opção. O objetivo da APR é prover uma interface em C para as funções específicas dependentes de plataforma.

Tal características tem vantagens como o código ficar mais bem arrumado e a manutenção ser facilitada. Além disso, a essência, cada chamada usa código nativo sempre que possível. Se você esta no Windows, você tem um programa que é nativamente escrito para Windows, com cara de Windows, com a performance compatível a chamadas Windows. Assim como em todas as outras plataforma. Isso proporciona um ganho bastante grande de performance. Tal interface e conceito foi feito pensado nas funções POSIX conhecidas por nós, programadores C. Só que é específico para as funcionalidades do Apache. Como percebido, facilita de sobremaneira a portabilidade para outras plataformas.

Uma pergunta que pode surgir, é porque não usar POSIX puro para fazer isso, em vez do APR? Usando APR da mais flexibilidade para o desenvolvedor no sentido de POSIX ser uma padronização geral, seguida por muitos, mas que é um nivelamento por baixo de funções básicas. Quase todas plataformas tem funções não POSIX semelhantes que tem ganhos de performance ou funcionam mais adequadamente para determinada função, e como temos um foco bem definido, performance, é importante esse tipo de maleabilidade.

Podemos citar algumas coisas implementadas via APR como funções básicas de I/O de arquivos, logs, exclusão mútuas (semáforos), memória compartilhada, gerenciamento de processos filhos, IO assincrônico, entre outros.

APR/MPM oferecem dois importantes benefícios com flexibilidade no tratamento de processos e diferenciação de plataformas:

  1. O Apache pode suportar uma grande quantidade de SOs mais limpo, manuseável e eficiente. Em particular, a APR e a não necessidade de nivelar por baixo com o POSIX possibilita isso tudo (portabilidade).
  2. Adequação maior as necessidades particulares de cada site. Através da escolha da MPM você tem as características mais adequadas para cada realidade, pode-se escolher entre faixas de escalabilidade, confiabilidade, flexibilidade, robustez, entre outras características. Além de características de servir diferentes domínios (virtual host) com níveis de acesso a máquina Usuários/Grupos diferenciados (escalabilidade/flexibilidade).

Novos filtros

O que são filtros? Para cada requisição o Apache identifica o objeto de requisição, que pode ser um documento no disco, a saída de um CGI, a saída de um módulo como o de SSI (Server Side Include). Não existe a habilidade nativa de se processar a saída de um script CGI interpretando tags SSI e devolvendo o resultado para o usuário. Podemos utilizando de artifícios (patches) para fazer isso com o servidor, mas é bastante custoso e não muito prático. Através de filtros podemos redirecionar a saída de uma dessas ações para outras, encadeando-as.

No Apache 1.3 quando escrevemos um filtro, é bastante normal querermos modificar dados que chegam a nós. Por exemplo, hipoteticamente estamos escrevendo um filtro para todas as páginas que são servidas por nós, botarmos um rodapé flutuante dizendo que aquela página pertence ao nosso provedor de serviços, que gratuitamente cede espaço aos usuários. Isso é bastante comum e acontece com vários provedores, como o conhecido Geocities. No Brasil, vindo a cabeça agora, temos o HPG, provedor de espaço que foi comprado pelo IG. Em todas as páginas que ele fornece ele envia um popup dele, com suas propagandas, independente da vontade do usuário do serviço. É uma maneira dele patrocinar suas operações e poder prestar esse tipo de serviço gratuito. Em casos como estes o caminho mais simples é escreve um módulo que intercepte toda conexão e antes de enviar qualquer dado, insira o seu dado no fluxo que vai para o usuário.


Próximo»

APR (Apache Portable Run-Time)
Novos filtros
Novos filtros (continuação)
Piped Logs


Enviar para um amigo

Imprimir

Índice de artigos

ENQUETE
Quais são as suas expectativas quanto ao OpenSUSE 11.2?

Que ele venha mais rápido
Seja mais leve
Mais bonito
Outros


NEWSLETTER
Inscreva-se e receba as últimas notícias, programas, artigos, novidades e tudo do mundo Linux que aconteceu na semana.
 
Digite seu email:

Publicidade / Sobre OLinux / Entre em Contato / Privacidade
Copyright (c) 1999-2009, OLinux - O Portal de Linux do Brasil.
Desenvolvido por: Linux Solutions
Todos os Direitos Reservados.