Mais

Publicar serviço de mapa em cache usando a pasta de cache pré-existente


Nós usamos:
ArcGIS Server Advanced Enterprise 10.3 / ArcGIS Desktop Basic 10.3 ambos localizados em uma máquina Windows Server 2012

Recebemos um diretório contendo um mapa em cache (arquivos de pacote). Não temos um arquivo mxd, não temos os dados, apenas o cache. Este diretório não está localizado no surdo C: arcgisserver directory arcgiscache, e não pretendemos movê-lo para lá, pois não haveria espaço suficiente no disco C: . O cache é bastante grande, 280 GB. Portanto, criei um novo diretório de cache no ArcGIS Server Manager que leva ao caminho exato de nosso cache.

Gostaríamos de publicar este cache como um serviço de mapas / imagens em cache no servidor. Eu o adicionei ao ArcMap, mas ao publicá-lo como um serviço de mapa, o ArcMap não reconhece automaticamente que é um serviço em cache. Conforme mostrado neste vídeo: http://video.arcgis.com/watch/964/publishing-cached-map-services-using-a-pre_dash_existing-cache-folder

Funciona como um serviço dinâmico

Qual é o procedimento correto para disponibilizar esse cache existente no ArcGIS Server como um serviço?


O problema neste caso era bastante estúpido :) O cache mencionado acima residia em uma pasta, que estava localizada em outra pasta, que estava localizada em outra pasta. Portanto, apesar de eu ter registrado a pasta principal como uma pasta de cache para o servidor, não foi possível ler dentro de todas essas pastas.

Então, criamos uma nova pasta, nomeada exatamente como o serviço de mapas e movemos para lá apenas as pastas que contêm os arquivos do pacote.

Resumindo: não armazene seu cache em uma cascata de pastas.


Como armazenar DbCompiledModel em cache (ou apenas seus metadados) em um cache distribuído

Eu trabalho em um projeto Entity Framework Code First com um grande dbContext (mais de 800 entidades).

O problema que tenho é que leva até 30 segundos para construir e compilar os metadados pela primeira vez e não posso permitir que todos os servidores do farm atrasem a primeira solicitação (WCF) dessa maneira, mesmo com a ajuda do AppFabric WarmUp módulo. Uma opção é armazenar em cache o modelo compilado em um cache distribuído, para que outros servidores no farm possam tirar vantagem de um modelo já existente, ao instanciar o DbContext.

  • Uma instância DbCompiledModel não pode ser serializada
  • DbCompiledModel usa uma implementação de 'ICachedMetadataWorkspace' para armazenar seus metadados, chamado 'CodeFirstCachedMetadataWorkspace'
  • 'CodeFirstCachedMetadataWorkspace' (ou mesmo 'ICachedMetadataWorkspace') pode realmente ser usado para fornecer um espaço de trabalho serializável (junto com a ajuda de um método 'DbDatabaseMapping.ToMetadataWorkspace') que deve ser armazenado como xml no cache distribuído

Infelizmente, todos os tipos mencionados são definidos como internos pela EF Code First (exceto, é claro, DbCompiledModel) e até agora não consegui encontrar uma maneira adequada de armazenar isso em cache fora do processo.

Outra coisa que tentei foi ter um ObjectContext personalizado (para usá-lo no construtor DbContext) onde gerar / carregar programaticamente os mapeamentos csdl, ssdl e msl (do esquema db), mas as visualizações reais (classes poco) ainda permanecem não mapeado para o contexto geral do banco de dados.


Visão geral de IDR e análise de dados (IODA) (seminário on-line ao vivo)

Durante o período de cinco dias, duas horas e meia, o treinamento irá abranger:

  • Uma introdução ao programa Medicare, incluindo os tipos de programas que o Medicare oferece, os custos do beneficiário de ter o Medicare e as funções dos contratantes administrativos do Medicare
  • Exploração da trajetória de um sinistro desde o momento em que o serviço é prestado até o seu recebimento no IDR.
  • Explicação do que é o IDR, como os dados são acessados, qual é sua missão e a evolução de como o IDR tem evoluído continuamente desde 2006.
  • Visão geral das diferentes ferramentas e recursos disponíveis e como acessá-los e usá-los.
    • Notificações do usuário final (EUNs)
    • Dicionário de Dados IDR
    • Interface de usuário de dicionário de dados (DDUI)
    • RESDAC
    • Site CMS SharePoint IDR
    • Obtendo acesso ao IDR
    • Solicitações de integração e mudança
    • Portal CMS e painéis da MicroStrategy
    • Informações de contato do IDR
    • Visão geral dos dados no IDR
    • Reivindicações
      • Tipos de reclamação
      • Ação Final
      • Como está / como era
      • Ver convenções de nomenclatura
      • Implementação de MLPPI
      • Tipo de fatura
      • Códigos de Diagnóstico e Procedimento
      • Identificadores de Provedores Nacionais
      • Fontes de dados do provedor
      • Uso dos Dados do Provedor
      • Fontes de dados do beneficiário
      • Identificadores de beneficiário no IDR
      • Versão da transação do beneficiário
      • Afirmação
      • Fornecedor
      • Beneficiário

      Uma revisão detalhada do cache D2D na seleção do auxiliar

      Com o rápido desenvolvimento das redes de comunicação, a interação de informações entre redes heterogêneas como a Internet das Coisas (IoT) e redes ad-hoc de veículos (VANETs) está se tornando cada vez mais comum. Em redes celulares, os dispositivos de proximidade podem compartilhar arquivos diretamente sem passar pelos eNBs, o que é denominado comunicações dispositivo a dispositivo (D2D). Tem sido considerado como um potencial componente tecnológico para a próxima geração de comunicação. A arquitetura de rede centralizada tradicional não pode acomodar essas demandas do usuário devido à grande carga nos links de retorno e à longa latência. As redes ciber-sociais integram perfeitamente a vida diária e as atividades sociais das pessoas, o que tem uma contribuição importante para o relacionamento social dos usuários móveis na comunicação D2D. Neste artigo, fazemos uma revisão exaustiva sobre os esforços de pesquisa de ponta sobre cache D2D. Primeiro, apresentamos uma visão geral da seleção do auxiliar D2D, incluindo o quadro de rede, o método de computação e o atributo social-aware. A seguir, é apresentado um levantamento abrangente de questões sobre a seleção de auxiliares D2D. Finalmente, desafios de pesquisa abertos e direções futuras também são apresentados.

      Esta é uma prévia do conteúdo da assinatura, acesso através de sua instituição.


      Desempenho de inferência

      Usando a tecnologia Intel DL Boost com inferência INT8 de baixa precisão, obtemos o benefício de latência aprimorada e desempenho de rendimento. A Figura 6 mostra um ganho de desempenho de duas vezes mais em registros processados ​​por segundo com uma perda de precisão de menos de 0,5% com a inferência INT8 em comparação com FP32.


      Figura 6. Desempenho de inferência com Intel DL Boost. A inferência é feita em um conjunto de dados de avaliação de 2.000.000 de amostras usando um modelo FP32 otimizado. O desempenho no TensorFlow melhora de 562.780 amostras por segundo para 1.210.949 amostras por segundo com tamanho de lote 512. O desempenho em MXNet melhora de 522.284 amostras por segundo para 1.059.480 amostras por segundo com tamanho de lote 1024. 1

      Execução

      1. As etapas para executar inferência com TensorFlow usando FP32 pré-treinado e modelos INT8 Wide & amp Deep quantizados podem ser encontradas no GitHub * em IntelAI / models
      2. As etapas para fazer o treinamento FP32 e inferência nos modelos FP32 e INT8 com MXNet podem ser encontradas em intel / optimized-models.

      Detalhes de configuração

      Os resultados foram obtidos com:

      • Processador Intel® Xeon® Platinum 8280L, 28 núcleos HT On Turbo ON Memória total 384 GB (12 slots / 32GB / 2933 MHz), BIOS: SE5C620.86B.0D.01.0348.011820191451 (ucode: 0x5000017), CentOS 7.6, Kernel 4.19 .5-1.el7.elrepo.x86_64, SSD 1x INTEL SSDSC2KG96 960 GB, Compilador gcc 6.3.1
      • Estrutura de aprendizado profundo: TensorFlow no Github em tensorflow / tensorflow aplicando Pull Request PR26169, Pull Request PR26261 e Pull Request PR26271, MKL-DNN versão: v0.18, Wide & amp Deep no GitHub em IntelAI / modelos, Modelos:

      O desempenho de inferência é medido em amostras de dados processadas por segundo (quanto mais alto, melhor).


      O MapServer é executado em uma variedade de plataformas e os detalhes para instalação variam dependendo de onde você deseja executá-lo e como deseja integrá-lo ao resto do sistema.

      Plataformas

      Muitos sistemas operacionais e processadores podem executar o MapServer com sucesso. Uma pesquisa recente com desenvolvedores de aplicativos MapServer mostrou dezenas de implementações diferentes em execução em muitas combinações de velocidade e tipo de processador. Incluídos nos resultados da pesquisa estavam os seguintes sistemas operacionais:

      RedHat / SuSE / Debian / Mandrake Linux, versões 6 a 9

      Vmware executando Windows e Linux

      As velocidades relatadas do processador foram tão baixas quanto 120 MHz e tão pouco quanto 64 MB de memória. Outros usam os recursos de processamento e memória mais recentes disponíveis. Com a diversidade e flexibilidade necessárias para atender a esses requisitos de plataforma cruzada, muitos desenvolvedores descobriram que o MapServer é a única opção para servir mapas baseados na web.

      Adquirindo binários MapServer

      Muitos documentos ou instruções incluem informações sobre a compilação do MapServer, o que pode levar você a supor que a compilação do MapServer a partir do código-fonte é necessária. Para a maioria dos usuários, não é obrigatório. Aquisição de binários refere-se ao processo de download de executáveis ​​e bibliotecas que estão prontos para serem executados no sistema operacional de sua escolha, sem compilar a partir do código-fonte.

      Versões Windows

      Os designers de aplicativos MapServer que desejam usar o Microsoft Windows para executar o MapServer podem baixar pacotes padrão do Windows que incluem tudo que você precisa para começar. Os pacotes incluem todos os programas MapServer necessários compactados em um único arquivo para download. Os pacotes estão disponíveis em alguns locais, incluindo o site principal do MapServer (http://mapserver.gis.umn.edu/win32binaries.html), o site MapTools.org (http://dl.maptools.org/dl/ ), ou de outros usuários por meio de discussões da lista de e-mails.

      O site MapTools.org tem o pacote mais fácil de usar e é altamente recomendado para desenvolvedores de aplicativos MapServer inexperientes que usam Windows. O pacote é denominado MapServer For Windows (MS4W para abreviar) e está localizado em http://maptools.org/ms4w/.

      O MS4W foi criado pelo DM Solutions Group (Ottawa, Canadá). Esta empresa está envolvida no desenvolvimento, implementação e suporte de MapServer e tecnologias relacionadas. Eles fornecem este pacote do Windows para ajudar seus usuários a começar a trabalhar rapidamente.

      O pacote é um único arquivo ZIP contendo tudo o que é necessário para começar a usar o MapServer - incluindo um servidor da web Apache. Isso não requer configuração! Se você evitou brincar com servidores da web, este é o pacote para você. Para instalar o MS4W, basta descompactar o arquivo do pacote na raiz de uma unidade (por exemplo C: ) Deve criar automaticamente um conjunto de subpastas em C: MS4W , incluindo uma pasta chamada Apache dentro do qual o programa do servidor da web reside.

      O pacote pode ser movido para outros locais em seu sistema de arquivos, mas isso requer a alteração de várias configurações do servidor web.

      Para iniciar o servidor web, execute o executável Apache a partir de C: ms4w apache bin apache.exe. Isso pode ser feito no Explorer e não precisa ser executado na linha de comando. Se você abrir o navegador e acessar http: // localhost, verá uma tela de boas-vindas do MS4W. Isso significa que o Apache está instalado e funcionando. Neste ponto, você está pronto para desenvolver um aplicativo MapServer. O pacote MS4W contém todas as bibliotecas, programas e arquivos de configuração de que você precisa. Um resumo do que o MS4W contém é mostrado na Tabela 4-1. O uso desses arquivos para criar um aplicativo é discutido posteriormente no Capítulo 10.

      Bibliotecas de script PHP / MapScript, consulte o Capítulo 14 para obter mais informações sobre MapScript

      PROJ.4 utilitários e bibliotecas de projeção

      Utilitários de linha de comando MapServer

      Utilitários de linha de comando OGR

      Binários Linux

      Um projeto emergente chamado Free Open Source Software GIS Suite (FGS) está disponível em http://maptools.org/fgs/. Este projeto fornece um mecanismo de empacotamento para todos os binários, bibliotecas e outros arquivos de suporte necessários para executar aplicativos FGS. A versão inicial instala um ambiente mínimo para Apache, PHP e MapServer.

      Distribuições Linux GIS

      Existem pelo menos quatro distribuições Linux que incluem MapServer e aplicativos relacionados.

      Esta distribuição baseada em Debian inclui vários aplicativos GIS. Veja http://pkg-grass.alioth.debian.org/cgi-bin/wiki.pl.

      Esta distribuição inclui MapServer, PostGIS, PHP, Python, Perl e muitos outros aplicativos GNU / Linux padrão. É baseado no Slackware Linux. Consulte http://hostgis.com/linux.html.

      Esta distribuição de live CD roda em um CD-ROM inicializável. Inclui MapServer, QGIS e outros aplicativos GIS, incluindo GRASS GIS. É baseado no Mandrake Linux. Veja http://rslultra.star.ait.ac.th/

      Esta distribuição de CD inicializável inclui um grande número de pacotes principais, incluindo MapServer, PostGIS, Terraview, JUMP, QGIS, Thuban, Maplab, etc. Consulte http://www.sourcepole.com/sources/software/gis-knoppix/.

      Versões RPM Linux

      Os arquivos Linux RedHat Package Manager (RPM) estão disponíveis em vários sites. Embora alguns deles tenham um conjunto abrangente de arquivos, talvez você ainda precise obter algum suporte para ajudar a resolver as dependências. Se você pegar todos os pacotes de um site, ainda pode não ter tudo de que precisa.

      A distribuição LinGIS de arquivos RPM é empacotada especificamente para SuSE, mas também funcionará em outras distribuições Linux. Imagens ISO de CD-ROM contendo esses arquivos RPM são fornecidas em http://lingis.org/.

      Mapeando Hacks GIS RPMs para Fedora Core

      Locative Technologies (http://locative.us) possui pacotes especificamente para o Fedora Core. Eles estão disponíveis em http://mappinghacks.com/rpm/.

      Versões Debian Linux

      Existem vários repositórios de pacotes Debian Linux com MapServer disponíveis. Eles variam em recursos e dependências. Um repositório está em http://agrogeomatic.educagri.fr/debian/.

      Mac OS X

      Um pacote de instalação do MapServer um tanto desatualizado está disponível em http://www.serverlogistics.com/mapserver.php. A maioria dos usuários do OS X parece compilar o MapServer e outros pacotes do código-fonte. Uma explicação detalhada desse processo está em http://webpages.charter.net/kyngchaos/macosx/mapservinstall.html.

      Compilando o código-fonte do MapServer

      Qualquer projeto que alega ser de código aberto deve fornecer acesso ao código-fonte. No caso do MapServer, isso permite que você modifique o código do MapServer para atender às suas necessidades específicas. Mesmo se você não planeja modificar o código-fonte, você ainda pode querer compilar diretamente do código-fonte. Alguns usuários do MapServer acham que precisam compilar sua própria versão para incluir (ou excluir) certos recursos. Por exemplo, há uma variedade de formatos de dados geralmente incluídos nas distribuições binárias do MapServer. Freqüentemente, há mais formatos do que o necessário para um determinado aplicativo e você pode remover o suporte para esses formatos. Se um determinado formato não estiver disponível por padrão, ele geralmente pode ser adicionado durante o processo de compilação.

      Os exemplos de compilação neste capítulo são mostrados usando Linux e ferramentas de compilação de código aberto do projeto GNU (consulte http://gnu.org). Ferramentas e comandos são executados na linha de comando ou no console do shell. A compilação para outros sistemas operacionais varia de acordo com as ferramentas disponíveis. Esta seção pressupõe que você se sinta confortável compilando código e tenha as ferramentas apropriadas disponíveis, incluindo um compilador C, como gcc, e ferramentas de configuração / construção, como autoconf e automake.

      Baixando fontes

      Os pacotes atuais de código-fonte estão disponíveis na página de download do site MapServer http://mapserver.gis.umn.edu/dload.html. Os interessados ​​nos melhores e mais recentes recursos podem considerar o download de um dos builds provisórios, que é uma cópia do código mais recente do repositório de código do desenvolvedor.

      O download do código-fonte usando as ferramentas Concurrent Versioning System (CVS) está disponível para aqueles que desejam o código mais recente absoluto. As instruções de acesso estão disponíveis em http://cvs.gis.umn.edu/cvs.html. O CVS rastreia mudanças no código de programação e é usado para gerenciar o desenvolvimento de muitos projetos de software. Para obter mais informações sobre o CVS, consulte http://www.gnu.org/software/cvs/.

      Assim que as fontes forem baixadas, você precisa descompactá-las e descompactá-las. Isso pode ser feito em uma etapa, como no comando a seguir, que usa o comando GNU tar:

      Isso descompacta os arquivos em uma nova pasta e cria uma estrutura de subpasta contendo todo o código. Feito isso, vá para esse diretório e prepare-se para configurar a construção.

      Configurando fontes

      Você precisa configurar suas opções para compilar o programa MapServer. Esta etapa necessária prepara o código-fonte para compilação. O arquivo do programa configurar existe no nível superior da árvore de código-fonte, para a qual você se mudou após descompactar os códigos-fonte. Se você executar o programa configure sem especificar nenhuma opção, ele usará um conjunto de padrões. Isso pode ser tudo que você precisa fazer para colocar o MapServer em execução. Várias mensagens de status, observações e verificações de dependência são listadas na tela quando o configure está em execução. A execução de configure, como no Exemplo 4-2, mostra os resultados dos lançamentos de configure do processo de configuração.

      Há várias coisas a serem observadas na saída do Exemplo 4-2 do comando configure. Primeiro, ele verifica se você tem todas as ferramentas necessárias para compilar o código-fonte. Se você não tiver, por exemplo, um compilador C, ele vai desistir de você e reclamar, como no Exemplo 4-3.

      É bom saber. Afinal, não faz sentido continuar a se preparar se você ficar preso mais tarde.

      configure verificações em seu sistema para várias bibliotecas de gráficos, como PNG e GD, e os teste. Se estiverem disponíveis, configure as solicitações para usá-los durante o processo de compilação.

      Esta é a mensagem de erro típica que você recebe quando um conjunto de bibliotecas não pode ser encontrado:

      É importante saber isso, especialmente se você planeja usar formatos de imagem PNG em vez de arquivos GIF em seus mapas. O que você não vê no exemplo é que ele também verifica se há arquivos GIF e JPEG. Eles podem ser usados ​​no lugar do PNG.

      Em seguida, configure verificações de solicitações para criar suporte para vários formatos de dados e aplicativos de suporte. Ajuda saber o que é cada formato. Se o configure não puder localizá-los, eles não serão suportados por seu programa MapServer final. Alguns podem parecer sem importância, a menos que você saiba o que são. O exemplo a seguir mostra um desses avisos:

      Este aviso não é bom se você planeja usar dados que são projetados em diferentes sistemas de coordenadas. O MapServer pode pegar dados em diferentes sistemas de coordenadas e reprojetá-los em um sistema comum para o mapa final. Você provavelmente deseja solicitar suporte para PROJ.4, o que significa que também precisa ter os arquivos PROJ.4 instalados em seu sistema. A ativação do suporte para bibliotecas opcionais, como PROJ.4, é discutida posteriormente neste capítulo.

      Outras declarações de suporte de formato são um pouco mais óbvias, como visto no Exemplo 4-4.

      Essas são todas as verificações para verificar se o suporte ao banco de dados foi solicitado. Nenhum é selecionado por padrão e é usado apenas se as opções forem escolhidas. Você verá mais sobre as opções de configuração na próxima seção.

      Outras opções importantes não incluídas por padrão incluem especificações GDAL, OGR e OGC.O usuário médio apreciará ter suporte GDAL e OGR. A utilidade das opções de suporte de cliente e servidor OGC WMS / WFS são para aplicativos mais avançados e têm dependências mais avançadas.

      O processo de configuração termina com sucesso dizendo algo como o Exemplo 4-5.

      Você notará que a última etapa é a criação do Makefile. Este arquivo contém todas as informações para o comando make compilar as fontes (e link nas bibliotecas apropriadas, etc). Este processo é discutido com mais detalhes posteriormente. Se você estiver compilando a partir do código-fonte, presumo que você não tenha medo de executar configure. A saída parece um tanto enigmática para o usuário comum. Se você tem um problema que é crítico, o processo geralmente é encerrado e deixa sua última observação para você ler. Compreender a saída é necessário apenas quando você tem um problema.

      No Exemplo 4-3, o configure não conseguiu encontrar o compilador C, parou ali mesmo e disse que havia um problema ao testar o gcc (a Coleção de Compiladores GNU normalmente usada em sistemas operacionais Linux para compilar código de programa). Se a mensagem que você vê não faz sentido para você, não se desespere. As últimas linhas da saída geralmente são tudo que você precisa para obter ajuda da lista de discussão (as referências de suporte estão no final deste capítulo). A saída do configure, por mais enigmática que possa parecer, provavelmente significará algo para alguém.

      Configurar opções

      Agora que você viu alguns exemplos de decifrar a saída do configure, é hora de considerar algumas das opções que você pode usar com o comando configure. As opções são especificadas adicionando parâmetros ao final do comando configure. Isso é feito usando dois travessões e um nome de parâmetro e valor como —with-sde após o comando configure. Para determinar quais opções estão disponíveis, você executa configure com o parâmetro —help, conforme mostrado no código a seguir:

      Existem quatro seções para configurar a lista de ajuda:

      O usuário médio está interessado apenas nas opções em “Recursos e pacotes”, conforme mostrado no Exemplo 4-6. As primeiras linhas nesta seção mostram a sintaxe a ser usada e, em seguida, relacione as opções específicas do MapServer disponíveis.

      São muitas opções! Se eles parecem confusos, não se preocupe. Os que mais o preocupam provavelmente ficarão aparentes, você provavelmente pode ignorar ou desativar o resto. Cada opção não pode ser discutida aqui, então exigirá um pouco de suposição de sua parte. Cada item é para habilitar o suporte ao formato de dados ou formatos de saída que você deseja usar. Se você sabe quais formatos você precisa usar, anote-os. Da mesma forma, se você sabe em quais formatos deseja enviar os dados, encontre-os nesta lista. Se você não se importa em qual formato de imagem a saída está, o padrão provavelmente será suficiente.

      Muitos parâmetros podem ser especificados com uma opção —enable ou —disable, que é equivalente a —with e —without, respectivamente. Para simplificar a lista acima, não mostrei todas as opções de desativação.

      A maioria dos parâmetros parecerá simples após uma introdução simples. Existem livros especializados em ensinar técnicas de compilação de código-fonte, portanto, apenas o mínimo necessário para configurar e compilar o MapServer é apresentado aqui. Para obter mais detalhes sobre o processo de configuração e compilação, considere a leitura:

      GNU Autoconf, Automake e Libtool (Novos Riders) online em http://sources.redhat.com/autobook/

      Programação com ferramentas GNU (O’Reilly)

      Gerenciando projetos com GNU make (O’Reilly)

      GNU Make: um programa para compilação direta (GNU Press) online em: http://www.gnupress.org/book8.html

      Existem essencialmente duas maneiras diferentes de especificar parâmetros:

      especificando —enable-x ou —with-x

      adicionando um valor ao final, como —enable-x = y

      O primeiro uso é bastante simples: se você deseja habilitar um recurso, adicione um parâmetro que especifica para habilitá-lo com x sendo o nome do recurso, conforme mostrado na lista de ajuda.

      O exemplo a seguir mostra como direcionar o configure para encontrar a biblioteca ou programas necessários para adicionar suporte a imagens JPEG. O configure reclamará se não encontrar o que precisa.

      Se as bibliotecas necessárias não forem encontradas, neste caso as bibliotecas JPEG, pode ser necessário usar o segundo método de especificação do parâmetro. Observe que a lista de ajuda (Exemplo 4-6) disse:

      O [= DIR] é uma parte opcional do parâmetro. Todos os parâmetros entre colchetes nem sempre são necessários. O que o configure quer é alguma ajuda para encontrar os arquivos relacionados à biblioteca JPEG. Você tem que dizer onde eles estão instalados. Quando estiver em dúvida sobre o que o configure deseja saber, consulte novamente a lista de ajuda (Exemplo 4-6). Ao lado da opção JPEG, diz:

      Portanto, se você souber onde os arquivos LibJPEG estão localizados, você pode dizer explicitamente ao configure para ir ver lá.

      Encontrar locais de dependência é discutido na próxima seção.

      Às vezes, o configure precisa do incluir e lib arquivos associados à biblioteca. Este é o caso da configuração LibJPEG. Você deve apontar para a pasta raiz na qual as bibliotecas foram instaladas, ela tem o incluir e lib pastas, incluindo arquivos LibJPEG. Este também pode ser o diretório de origem no qual você compilou LibJPEG antes de instalá-lo. Por exemplo, eu compilo todo o meu código-fonte em / home / tyler / src / . Se eu compilar LibJPEG da fonte em / home / tyler / src / jpeg , Posso apontar o configure para esse local.

      No meu caso, libJPEG foi instalado em / usr / lib e, portanto, eu executaria configure como no exemplo a seguir:

      Como este é um local bastante comum para essas bibliotecas, provavelmente não precisei especificar o local que configurar provavelmente teria pesquisado lá de qualquer maneira. No entanto, se você instalou as bibliotecas em um local incomum (por exemplo, em uma pasta pessoal para testar o MapServer), é importante entender esta opção.

      Nem todas as opções de parâmetro desejam uma pasta. Alguns requerem que um valor [= PATH] ou [= ARG] seja especificado. Por exemplo, com a opção GDAL conforme visto anteriormente (Exemplo 4-6):

      Ler a descrição à direita é fundamental para especificar este parâmetro corretamente. Ele não quer apenas a pasta em que gdal-config está localizado, ele quer o caminho completo para o arquivo gdal-config. Como esse argumento de caminho é opcional, ele procura o arquivo em alguns lugares óbvios. Se você o tiver escondido em algum lugar estranho, precisará ser mais específico e colocar todo o caminho no parâmetro, como no código a seguir. Depois de decidir quais opções você deseja incluir, você as coloca em um longo comando e permite que o configure faça seu trabalho.

      Você precisa ser explícito com os argumentos DIR e PATH apenas quando necessário. Ao executar configure após selecionar as opções, revise as impressões de configuração de texto de saída na tela e encontre as linhas que pertencem especificamente às opções que você escolheu. Se você perceber que um item não é verificado corretamente, como no exemplo a seguir, você fez algo errado.

      Neste caso, um local para gdal-config foi especificado, mas o arquivo não existia porque o GDAL não foi instalado (este é um processo separado opcional descrito mais adiante no Capítulo 4). Às vezes, ele continua procurando e encontra o arquivo, apesar do argumento PATH errado, mas não aposte nisso. Se você receber vários erros, poderá inserir novamente o comando configure e alterar os parâmetros até que funcionem.

      Dependências

      Talvez um dos maiores pontos fortes do MapServer seja sua capacidade de utilizar bibliotecas já existentes. Os desenvolvedores se concentraram em oferecer suporte a um pequeno núcleo central de requisitos, permitindo o aumento da funcionalidade, contando com bibliotecas externas, em vez de construir mais dependências no projeto básico. O resultado é um produto poderoso que pode ser estendido para incluir outras funcionalidades sem grandes alterações no programa principal.

      Para aqueles que precisam apenas do básico para sua aplicação, existem muito poucas dependências externas. Em muitos sistemas, as bibliotecas necessárias ou programas externos já podem estar instalados.

      As possíveis dependências incluem:

      Bibliotecas de formatos de imagem: JPEG, PNG, XPM, LIBICONV

      Formatação gráfica / bibliotecas complementares: GD, FREETYPE, PDF, MING

      Formato de dados / bibliotecas de suporte de aplicativo: TIFF, EPPL, SDE, MPATROL, OGR, GDAL, POSTGIS, MYGIS, ORACLESPATIAL

      Biblioteca de projeção de coordenadas: PROJ.4

      Opções de serviços da Web: WMS, WFS, CURL, HTTPD, PHP

      Como você sabe de quais bibliotecas externas você precisa? Normalmente, os programas configure e make irão notificá-lo sobre quaisquer bibliotecas ausentes.

      Compreender a função que as principais bibliotecas de suporte desempenham pode ajudar a tornar as mensagens (de configure e make) menos enigmáticas. Também pode ajudá-lo a planejar com antecedência para preparar as bibliotecas de que pode precisar, mas ainda não tem.

      Para o MapServer mais básico, o único requisito documentado é o acesso à biblioteca de criação de imagens GD (em http://www.boutell.com/gd/). Esta biblioteca é usada para criar as imagens do mapa.

      Quando vi meu primeiro aplicativo MapServer, fiquei impressionado com sua capacidade de criar uma imagem tão rapidamente a partir de dados vetoriais e raster bastante complexos. Isso foi graças à biblioteca GD. GD é um ambiente de processamento e criação de imagens e um requisito básico do MapServer.

      A biblioteca GD é tão crítica para o MapServer que se você tentar desabilitar o GD ou não a tiver disponível, configure não permitirá que você continue, como mostrado no Exemplo 4-7.

      Além do GD, não há outros requisitos básicos para o MapServer. No entanto, para que o GD produza imagens utilizáveis ​​para o MapServer, é necessário algum tipo de suporte para biblioteca de imagens. Para que o GD seja instalado corretamente, você precisa de uma biblioteca PNG ou JPEG. Você pode já ter um ou mais destes em seu sistema.

      O MapServer pode produzir imagens de saída em uma variedade de formatos. Talvez os mais conhecidos sejam os formatos JPEG, GIF e PNG. Bibliotecas de suporte para os formatos que você deseja usar devem estar disponíveis para GD.

      A maioria das plataformas Linux modernas tem a versão 2 do GD instalada, ela é chamada de GD2. O MapServer 4.4 requer bibliotecas GD2. Você também precisará ter arquivos de desenvolvimento para GD2, que incluem arquivos de suporte para outros programas compilados no suporte GD2. Se estiver instalando a partir de RPMs, o pacote gd2-devel fornecerá os arquivos de desenvolvimento. Para verificar se um pacote já está instalado, execute:

      Por exemplo, para ver se gd está instalado, você pode executar:

      Os pacotes instalados são listados. Nenhuma resposta significa que nenhum pacote RPM está instalado. Versões mais antigas do Linux e outros sistemas operacionais não terão GD2. Nesse caso, você ainda precisa de bibliotecas de desenvolvimento para a versão do GD que está executando. Em alguns casos, isso pode limitar o uso de versões anteriores à 4.4 do MapServer.

      Se o suporte a PNG for desejado, as bibliotecas ZLIB também serão necessárias. Para instalar o GD, você provavelmente precisará ter as bibliotecas PNG / ZLIB, JPEG e FreeType disponíveis.

      A versão mais básica que você pode compilar provavelmente encontrará bibliotecas de suporte PNG, JPEG, WBMP (bitmap do Windows) e FREETYPE (fonte TrueType) já existentes em seu sistema e as incorporará automaticamente.

      Se você executar configure e usar explicitamente —sem para todas as opções, configure ainda encontrará algumas bibliotecas e as incorpora (apesar da solicitação para não). O que resta é uma configuração que lerá apenas dois tipos de arquivos: imagens JPEG e arquivos de dados vetoriais em formato de arquivo de forma ESRI. Esta configuração minimalista pode produzir nos tipos de imagem PNG, JPEG e WBMP e, opcionalmente, renderizar TrueType Fonts (TTF) como rótulos na imagem do mapa.

      O que isso deixa você é muito básico, mas vai ajudá-lo a começar a testar os fundamentos do MapServer. Muitas pessoas simplesmente executam ./configure sem nenhuma opção e veem se há algum problema óbvio. Em alguns casos, isso é suficiente para uma configuração simples do MapServer.

      Fazendo uma compilação

      Quando o processo de configuração for concluído, você está pronto para começar a compilar o aplicativo. Dependendo das opções a serem incluídas, este processo pode demorar um pouco para ser concluído. O processo de compilação começa executando o comando make conforme mostrado no Exemplo 4-8.

      Depois de executar o make, você verá vários comandos e informações rolando para cima na tela. Quando o processo de compilação for concluído, não haverá uma mensagem de que você acabou de retornar ao prompt de comando. O Exemplo 4-8 mostra alguns exemplos de saída do início e do final do processo de fabricação.

      Você pode ver várias mensagens de aviso na lista de saída. Eles podem ser ignorados, desde que você não obtenha um erro que o exclua do processo.

      Se você já compilou programas antes, ficará tentado a executar make install a seguir. Isso é bom, mas ineficaz. Não há processo de instalação para o MapServer, você simplesmente copia o executável do mapserv para o seu servidor web cgi-bin diretório. Se você executar make install, obterá mais instruções como um lembrete do que fazer, como no Exemplo 4-9.

      O comando make produziu o mapserv arquivo executável ao qual esta mensagem se refere. Se você não tem um arquivo chamado mapserv depois que o comando make é executado, ele não foi concluído corretamente. A mensagem também se refere ao MapScript. MapScript é uma opção de script avançada para MapServer que será discutida mais detalhadamente no Capítulo 14.

      Você pode testar o executável mapserv executando-o com o parâmetro -v, como no Exemplo 4-10. Isso lista a versão e os parâmetros opcionais que são compilados no MapServer.

      Este exemplo mostra as várias opções de formato de dados de entrada e saída selecionadas durante o processo de configuração. Você pode executar o mapserv sem o parâmetro -v, mas ele o lembrará, como no Exemplo 4-11, que ele não deve ser executado como um programa independente.

      Se você chamar o programa mapserv sem nenhum parâmetro de uma página da web, receberá uma mensagem um pouco diferente:

      Isso pode se tornar uma maneira útil de garantir que o mapserv esteja instalado corretamente, é discutido em mais detalhes no Capítulo 11.

      Outros programas são criados ao mesmo tempo que o mapserv. Isso inclui a barra de escalonamento, shp2img, shptree, tile4ms e mais, que são discutidos posteriormente no Capítulo 10.

      Documentos de instruções para compilar MapServer estão disponíveis em seu site http://mapserver.gis.umn.edu/doc/.

      Instalação

      Outro ponto forte do MapServer é sua capacidade de executar várias versões que incluem diferentes habilidades, todas no mesmo computador. Um aplicativo pode ser configurado para usar uma versão mais estável, enquanto outro pode usar uma versão de teste recente. Essa flexibilidade é possível porque o programa mapserv é executado como um aplicativo CGI por meio de um servidor web. Qualquer aplicativo da web MapServer pode chamar uma versão específica do executável mapserv. Você aprenderá mais sobre isso no Capítulo 11.

      O método típico de instalação é copiar o mapserv arquivo em um servidor web cgi-bin pasta. Se o arquivo estiver em uma pasta da qual o servidor da web pode executar o arquivo (por exemplo, o cgi-bin pasta), é tudo o que é necessário para instalar a versão CGI do MapServer. Configurações mais avançadas terão mais dependências, mas, em última análise, a principal etapa de instalação é copiar o mapserv arquivo no cgi-bin pasta, ou uma com propriedades equivalentes.

      Os pacotes RPM fazem parte desse trabalho para você, mas você precisa ter certeza de que sabe onde o mapserv o arquivo é colocado. Por exemplo, o RPM pode tentar colocar o mapserv arquivo em / var / www / cgi-bin por padrão, mas você pode precisar dele em outro lugar. No SuSE Linux rodando Apache, ele deve entrar / srv / www / cgi-bin.

      Se você planeja instalar o MapServer a partir de um pacote RPM, é aconselhável obter uma lista dos arquivos e locais que o RPM cria. Isso pode ser feito usando as funções de consulta e lista do pacote RPM, conforme mostrado no Exemplo 4-12.

      Assim que a instalação for concluída, o mapserv pode processar solicitações CGI e retornar mapas. Isso requer que outras partes da estrutura geral do MapServer sejam configuradas, conforme discutido no Capítulo 11.

      Um teste rápido de instalação

      Você pode executar um teste básico no MapServer executando o programa mapserv ou mapserv.exe. O teste mais simples que você pode fazer é a partir da linha de comando. Primeiro, você abre um prompt de comando e muda para, ou pelo menos encontra, a pasta que contém mapserv, mapserv.exe ou mapserv_ xx Onde xx pode ser um número de versão como 44 para mapserv Versão 4.4. Para MS4W, mapserv.exe está localizado no c: ms4w apache cgi-bin pasta.

      Se você compilar a partir do código-fonte, o mapserv estará na pasta do código-fonte em que foi compilado. Se você instalar a partir de um binário RPM, o mapserv estará na pasta padrão do servidor web Apache. Por exemplo, no SuSE, está em / srv / www / cgi-bin , e no Fedora, está em / var / www / cgi-bin.

      No prompt de comando, execute o programa mapserv. Por exemplo, no SuSE Linux, use o comando:

      De qualquer forma, a saída que você obtém deve ser semelhante a:

      Sim, esta é uma mensagem de erro, mas confirma que você tem pelo menos uma versão funcional do programa MapServer. Parabéns - você está pronto para começar a trabalhar com o MapServer nos capítulos 10 e 11.

      Se todas as dependências do MapServer não estiverem disponíveis, você pode receber uma mensagem de erro diferente. A Figura 4-4 mostra um exemplo de mensagem de erro do Windows quando uma biblioteca de suporte, GDAL, por exemplo, não pode ser encontrada.

      Obter Mapeamento da web ilustrado agora com o aprendizado online O’Reilly.

      Os membros da O’Reilly passam por treinamento online ao vivo, além de livros, vídeos e conteúdo digital de mais de 200 editoras.


      Serviços

      Haverá alguma alteração em meu plano e taxa de Internet?

      Projetamos a transição para ser o mais simples e fácil possível para você. Seu plano e taxa de Internet atuais não serão alterados durante a transição em 25 de agosto.

      Haverá alguma mudança em meus serviços de Internet?

      Não haverá alterações em seu serviço de Internet durante a transição em 25 de agosto.

      Essa transição significa que estou mudando para a Internet via satélite?

      Não. A transição para o Xplornet fornecerá ainda mais acesso a produtos fixos sem fio adicionais, incluindo uma seleção maior de LTE e planos e pacotes ilimitados para atender às suas necessidades crescentes.

      Onde posso encontrar mais detalhes sobre as políticas do meu serviço de Internet?

      Para ajudá-lo a se familiarizar com as políticas que se aplicam ao seu serviço, colocamos essas informações em um local conveniente. Clique aqui para revisar políticas como os Termos de Uso, Política de Privacidade e Política de Gerenciamento de Tráfego.

      Se meu plano atual incluir uso ilimitado de dados, continuarei a receber uso ilimitado?

      sim. Durante a transição em 25 de agosto, não haverá mudanças em seu serviço, no plano de velocidade e dados que você assina ou na taxa mensal que você paga hoje.

      Vou precisar assinar um contrato?

      Não há necessidade de você assinar um novo contrato para continuar seu serviço atual. Com o tempo, podemos atualizar e substituir a tecnologia mais antiga e, nesse caso, podemos fornecer soluções alternativas de Internet que podem exigir que você assine um contrato.

      Eu preciso substituir meu equipamento?

      Você pode continuar a usar o mesmo equipamento de serviço de Internet que possui atualmente em sua casa ou empresa. Projetamos a transição para ser o mais simples e fácil possível para você. Se você optar por trocar de pacote, pode ser necessária uma atualização do equipamento.

      Serei capaz de atualizar meu serviço com o Xplornet?

      Você poderá atualizar para outros serviços Xplornet assim que estiverem disponíveis em sua área.


      Como os cartógrafos online estão ajudando a Cruz Vermelha a salvar vidas nas Filipinas

      Passar-se-ão meses até sabermos os verdadeiros danos causados ​​pelo supertufão Haiyan. O maior número de mortos agora associado à tempestade são apenas estimativas. Trabalhadores humanitários de todo o mundo agora estão voando para a nação-ilha ou acabaram de chegar lá. Eles - e os filipinos - apoiarão os sobreviventes e começarão a reconstruir.

      Mas eles serão ajudados por uma incrível peça de tecnologia, uma colaboração humanitária de origem coletiva em todo o mundo, possibilitada pela Internet.

      O que é? É um mapa altamente detalhado das áreas afetadas pelo supertufão Haiyan, e quase não existia três dias atrás, quando a tempestade atingiu o continente.

      Desde sábado, mais de 400 voluntários fizeram quase três quartos de milhão de acréscimos a um mapa online gratuito de áreas dentro e ao redor das Filipinas. Essas adições refletem a terra antes da tempestade, mas ajudarão os funcionários e voluntários da Cruz Vermelha a tomarem decisões críticas sobre para onde enviar comida, água e suprimentos.

      Essas coisas são fáceis de hiperbolizar, mas nas Filipinas, agora, é altamente provável que os dados e softwares de mapeamento gratuitos - e a comunidade que os apóia - salvem vidas.

      A Wikipedia dos mapas

      As mudanças foram feitas no OpenStreetMap (OSM), uma espécie de Wikipedia de mapas. OSM pretende ser um mapa do mundo completo, de uso gratuito e editável por todos. Criado em 2004, agora tem mais de um milhão de usuários.

      Falei com Dale Kunce, engenheiro geoespacial sênior da Cruz Vermelha americana, sobre como o mapeamento voluntário ajuda a melhorar a situação nas Filipinas.

      A Cruz Vermelha, internacionalmente, recentemente começou a usar software e dados de código aberto em todos os seus projetos, disse ele. O software livre reduz ou elimina os custos de “deixar para trás” o projeto, ou a quantidade de dinheiro necessária para manter algo funcionando após a partida da Cruz Vermelha. Todos os softwares ou dados compilados pela Cruz Vermelha são agora liberados sob uma licença de código aberto ou compartilhada.

      Embora o Open Street Map já tenha sido usado em crises humanitárias antes, o supertufão Haiyan é a primeira vez que a Cruz Vermelha coordenou seu uso e o esforço voluntário em torno dele.

      Como as mudanças foram feitas

      Os 410 voluntários que editaram o OSM nos últimos três dias não são todos profissionais da cartografia. Organizado pela Equipe Humanitária do OpenStreetMap no Twitter, as chamadas foram feitas para que as áreas das Filipinas no caminho da tempestade fossem mapeadas.

      Como é esse mapeamento? Principalmente, envolve “traçar” estradas no OSM usando dados de satélite. O OSM tem um editor amigável que embasa as imagens de satélite - nas quais a infraestrutura como estradas são claramente visíveis - sob a imagem do mundo capturada pelo OSM. Os voluntários podem traçar o caminho de uma estrada, como fazem neste GIF, criado pela start-up com sede em D.C., Mapbox:

      Os voluntários também podem rastrear edifícios no Mapbox usando o mesmo editor visual. Desde que Haiyan atingiu o continente, os voluntários rastrearam cerca de 30.000 edifícios.

      Mapas, no solo

      Como esses dados de mapeamento ajudam os trabalhadores locais nas Filipinas? Em primeiro lugar, permite que os trabalhadores imprimam mapas em papel usando dados OSM que podem ser distribuídos aos trabalhadores no campo. A Cruz Vermelha americana despachou quatro de seus funcionários para as Filipinas, e um deles - Helen Welch, uma especialista em gerenciamento de informações - trouxe com ela mais de 50 mapas de papel representando a cidade de Tacloban e outras áreas gravemente atingidas.

      A linha vermelha mostra o caminho do supertufão Haiyan e as manchas coloridas mostram onde os voluntários fizeram acréscimos ao OpenStreetMap neste fim de semana. Observe a extensão das edições em Tacloban, uma cidade de mais de 220.000 habitantes que sofreu o maior impacto da tempestade. (Cruz Vermelha Americana)

      Esses mapas foram impressos no sábado, antes que os voluntários fizessem a maioria das alterações na área afetada no OSM. Quando esses dados mais recentes forem impressos no solo, eles incluirão quase todos os edifícios rastreados, e as equipes de resgate terão uma noção melhor de onde os edifícios “fantasmas” deveriam estar. Eles também estarão no papel, para que os trabalhadores possam escrever, desenhar e pregar alfinetes neles.

      Welch pousou 12 horas atrás e Kunce disse que eles “já haviam empurrado mais três ou quatro mapas para ela”.

      Uma parte da cidade de Tacloban antes e depois de ter sido mapeada pela Equipe Humanitária OSM. Estradas, edifícios e cursos d'água estavam faltando antes que os voluntários os adicionassem. (@RBanick)

      A Cruz Vermelha começou a investigar usando dados geoespaciais após o grande terremoto no Haiti em 2010. Usando dados de satélite pré-existentes, os voluntários mapearam quase a totalidade de Porto Príncipe em OSM, criando dados que se tornaram a espinha dorsal do software que ajudou a organizar auxiliar e gerenciar operações de busca e resgate.

      Esse enorme esforço voluntário convenceu os líderes da Cruz Vermelha americana a aumentar a equipe com foco em seus mapas digitais ou sistemas de informação geográfica (GIS). Eles viram um grande aumento na qualidade e na quantidade de mapas desde então.

      Mas nem tudo que os mapas podem fazer.

      A National Geospatial-Intelligence Agency (NGA), operada pelo Departamento de Defesa dos EUA, já capturou imagens de satélite das Filipinas. Essa agência decidiu onde estão os piores danos e enviou as coordenadas dessas áreas para a Cruz Vermelha. Mas, a partir das 19 horas Segunda-feira, a Cruz Vermelha não tem as imagens reais desses sites ainda.

      O objetivo da equipe geoespacial da Cruz Vermelha, disse Kunce, era ajudar os trabalhadores "a tomar decisões com base em evidências, não na intuição". A equipe “coloca o máximo possível de dados nas mãos dos respondentes”. O que isso significa? Graças aos voluntários, a Cruz Vermelha sabe onde estradas e edifícios deve ser. Mas até obter o segundo conjunto de dados, descrevendo a terra após a tempestade, ele não sabe onde as estradas e edifícios realmente estão. Até obter os novos dados, seus voluntários não podem decidir qual das, digamos, três estradas usar para enviar comida e água para uma aldeia isolada.

      No momento, eles não podem tomar essas decisões.

      Kunce disse que o Departamento de Estado dos EUA está negociando com a NGA para que as imagens sejam divulgadas à Cruz Vermelha. Mas, a partir da publicação, ainda não está lá.

      Quando os defensores dos dados abertos discutem as licenças de dados, raramente as discutem em termos de vida ou morte. Mas, a cada hora que a Cruz Vermelha não recebe essas imagens, decisões melhores não podem ser tomadas sobre para onde enviar suprimentos ou onde realizar resgates.

      E depois dessa imagem faz chegar, os voluntários do OSM em todo o mundo podem compará-lo às estruturas anteriores à tempestade, marcando cada um dos 30.000 edifícios como ilesos, danificados ou destruídos. Essa fase, que ainda não começou, ajudará os socorristas a priorizar seus esforços.

      OSM não é a única organização que usa voluntários online para ajudar as Filipinas: MicroMappers, dirigido por um veterano dos esforços do OSM no Haiti, usou tweets classificados por voluntários para determinar as áreas que mais precisavam de ajuda. Falando comigo, Kunce disse que a “mercantilização dos mapas” digitais geralmente contribuiu para o florescimento em sua quantidade e qualidade em muitas organizações de ajuda diferentes.

      “Se você colocar um mapa nas mãos de alguém, eles vão pedir outro mapa”, disse Kunce. Esperemos que o governo possa colocar mapas melhores nas mãos da Cruz Vermelha - e dos trabalhadores locais - em breve.


      1 resposta 1

      Bem, eu fiz backup do meu diretório inicial e apenas fui em frente, e tudo o que você precisa fazer é seguir o fluxo normal para adicionar um novo usuário em Usuários e grupos e, então, quando chegar a hora de selecionar um diretório inicial , escolha o que você já possui. Ele vai te perguntar o seguinte:

      Basta selecionar "Usar pasta existente" e tudo mais

      . Não perdi nenhum dado e todas as minhas configurações e sessões e tudo estava de volta quando eu loguei como aquele usuário.

      Nota - Eu não tinha certeza se as permissões iriam se alinhar, mas sim. No entanto, posso ter tido sorte. Antes de criar este usuário, quando fiz uma listagem de diretório no meu antigo diretório home, em vez do nome de usuário, ele mostrava o proprietário apenas como o ID, 501. Depois que criei o usuário, o novo usuário tinha ID 501 e, portanto, todas as permissões alinhadas. Não tenho certeza se o assistente foi inteligente o suficiente para selecionar um ID para o novo usuário com base no diretório inicial existente ou se 501 é o ID padrão para o primeiro usuário não root. YMMV - se o seu diretório inicial existente tiver um ID diferente ou se você já tiver uma conta não raiz nessa máquina, e é não sendo inteligente ao escolher o ID, você pode ter que chown tudo ou criar o usuário manualmente com a ferramenta dscl e dar a ele o ID que você deseja.


      Kit de construção de aplicativos da Web Adobe ColdFusion 9, Volume 2: Configuração do servidor ColdFusion

      Vamos começar nosso tour página por página do ColdFusion Administrator com a seção Server Settings, que constitui a primeira parte da coluna de navegação à esquerda. As páginas desta seção referem-se principalmente a ajustes no desempenho do servidor. Além da página Data Sources na próxima seção, esta é a parte mais importante do ColdFusion Administrator e a parte com a qual você provavelmente se familiarizará.

      A página de configurações

      A página Configurações contém várias opções relacionadas a ajustar o desempenho do servidor e a capacidade de resposta às solicitações de página de seus usuários. Ele também contém opções para controlar o que acontece quando ocorrem erros.

      Solicitações de tempo limite após (segundos)

      Se quiser ter certeza de que o ColdFusion não gasta mais do que 20 ou 30 segundos trabalhando em uma solicitação de página específica, vá em frente e marque a caixa de seleção Timeout Requests After e forneça o valor apropriado para o número de segundos. Se uma página demorar mais do que o número de segundos que você especificou, a página simplesmente irá parar e exibir uma mensagem de erro.

      Eu sugiro fortemente que você habilite esta opção e configure-a para um número relativamente baixo para começar, talvez 20 ou 30. Uma página de longa duração pode ser encerrada, para que o servidor possa passar para outras solicitações de página que deveriam ser mais fáceis para que seja gerado rapidamente.

      Você pode substituir o tempo limite da solicitação fornecido para essa configuração página a página. Basta usar o & # 60cfsetting & # 62 tag, especificando o número máximo de segundos que você gostaria que a página tivesse permissão para executar como o requesttimeout atributo. Por exemplo, se você quiser que uma página específica seja executada por até cinco minutos (talvez ela execute uma grande operação de transferência de arquivo com & # 60cfftp & # 62), você usaria o seguinte código, próximo ao topo da página:

      Lembre-se, no entanto, de que uma página de longa duração pode bloquear a execução de outras páginas. Você pode, portanto, querer usar o & # 60cflock & # 62 tag para se certificar de que apenas uma instância da página de longa execução pode ser executada ao mesmo tempo. Você usaria o & # 60cflock & # 62 atributo com um nome atributo exclusivo daquele arquivo ColdFusion específico, como este:

      Alternativamente, você pode usar um nome valor que era o mesmo para todas as páginas de longa execução, isso garantiria que apenas uma das páginas de longa execução pudesse ser executada de cada vez.

      Para mais informações sobre & # 60cflock & # 62, consulte o Capítulo 18, "Apresentando o Web Application Framework", no Volume 1.

      Claro, você pode personalizar a aparência da mensagem de erro que aparece se uma página demorar mais do que o número de segundos especificado. Consulte a configuração do manipulador de erros em todo o site, posteriormente nesta seção, e a discussão sobre o & # 60CFERROR & # 62 tag no Capítulo 18.

      Habilitar configurações por aplicativo

      As configurações definidas no ColdFusion Administrator se aplicam a todos os aplicativos em execução no servidor. O ColdFusion permite que configurações específicas sejam substituídas no nível do aplicativo. Por exemplo, a pasta Custom Tags é compartilhada por todos os aplicativos. Se dois aplicativos criarem tags personalizadas com o mesmo nome, existe um risco real de que a tag errada seja invocada inadvertidamente. A capacidade de definir uma pasta de tags personalizadas diferente para cada aplicativo (substituindo o local padrão que é especificado) resolve esse problema.

      As configurações por aplicativo não são definidas no ColdFusion Administrator. Em vez disso, eles são definidos programaticamente no aplicativo Application.cfc Arquivo.

      Application.cfc foi apresentado no Capítulo 18.

      Para habilitar o suporte para configurações por aplicativo, marque a caixa Habilitar Configurações por Aplicativo (habilitada por padrão).

      Use UUID para cftoken

      Como você aprendeu no Capítulo 19, "Trabalhando com Sessões", no Volume 1, Cold-Fusion usa valores chamados CFID e CFTOKEN para identificar cada máquina do navegador. O CFTOKEN value é usado como um tipo de senha que permite que os usuários se conectem às suas variáveis ​​de cliente no servidor. Além disso, esse valor é usado (em conjunto com a noção de um tempo limite de sessão) para conectar usuários com suas variáveis ​​de sessão no servidor.

      Eu recomendo que você vá em frente e habilite esta opção, a menos que você tenha um aplicativo existente que use o CFTOKEN internamente de alguma maneira e depende de ser um número.

      Se você precisa ser capaz de gerar identificadores exclusivos para seu próprio uso em seu aplicativo, você pode usar o CreateUUID () função.

      Ativar códigos de status HTTP

      Essa configuração permite que o ColdFusion retorne códigos de status HTTP verdadeiros no cabeçalho de sua resposta se ocorrer um erro inesperado. Por exemplo, se um usuário solicitar uma página ColdFusion que não existe no servidor, ColdFusion será capaz de retornar uma mensagem de erro verdadeira (número do código de status HTTP 404) que outras máquinas podem entender como "não encontrado". Se essa opção estiver desmarcada, o ColdFusion simplesmente exibirá uma página que contém uma mensagem dizendo que a página não foi encontrada (o que não é muito útil para servidores proxy, mecanismos de pesquisa ou máquinas que tentam acessar Web Services em seu servidor).

      Da mesma forma, se o ColdFusion precisar relatar uma mensagem de erro, o código de status HTTP da resposta do servidor será definido como 500 se esta opção estiver marcada. Se não for marcada, a mensagem de erro será exibida, mas o código de status permanecerá definido como o código de status HTTP normal, 200, o que significa que outros sistemas automatizados na rede não podem realmente dizer se algo deu errado.

      Como regra geral, nunca mantenha esta opção marcada em servidores de desenvolvimento. Se desejar, mantenha-o marcado (é ativado por padrão) apenas em servidores de produção.

      Habilitar gerenciamento de espaço em branco

      Quando ativada, esta opção garante que os espaços em branco estranhos (como os vários retornos físicos, espaços e tabulações que você usa para recuar o código ColdFusion) sejam removidos de qualquer código HTML gerado antes de ser enviado de volta aos navegadores.

      Eu recomendo que esta opção seja habilitada (ela é habilitada por padrão) em quase todos os casos. Existem algumas situações especiais em que você não gostaria que o espaço em branco fosse removido (por exemplo, se você estiver usando & # 60pre & # 62 blocos em suas páginas), mas você sempre pode desativar o gerenciamento de espaço em branco caso a caso com o & # 60cfprocessingdirective & # 62 marcação.

      Para obter mais informações sobre o gerenciamento de espaço em branco, consulte o Capítulo 27, "Melhorando o desempenho".

      Desativar verificação de tipo de CFC

      Argumentos para métodos de componentes do ColdFusion (e funções definidas pelo usuário) são validados pelo ColdFusion. Isso significa que, se o argumento espera que um tipo de dados específico seja passado para ele, o ColdFusion verifica se o tipo correto foi realmente passado.

      Os argumentos podem aceitar muitos tipos, incluindo componentes do ColdFusion. Por padrão, quando um argumento aceita um componente ColdFusion, ColdFusion verifica se o componente passado é do tipo correto. Esta verificação pode ser demorada (milissegundos, mas ainda mais lenta do que outras verificações de tipo de argumento). Para melhorar o desempenho, você pode desativar a verificação do tipo CFC.

      Esta opção destina-se apenas a servidores de produção. Em servidores de desenvolvimento (e teste), você vai querer saber se está passando o tipo errado de CFC como argumento.

      Consulte o Capítulo 22, "Criando funções definidas pelo usuário" e o Capítulo 24, "Criando componentes avançados do ColdFusion", para obter mais informações sobre UDFs e CFCs.

      Desative o acesso aos componentes Java internos do ColdFusion

      ColdFusion apresenta objetos Java internos que podem ser usados ​​para realizar todos os tipos de administração de servidor. Na verdade, o próprio ColdFusion Administrator (e as APIs de administrador) usam esses objetos Java extensivamente.

      Como o código ColdFusion pode invocar objetos Java, esses objetos internos também podem ser invocados e usados. Em servidores compartilhados, isso pode ser um problema de segurança potencial, portanto, você pode bloquear o acesso aos componentes Java internos do ColdFusion, se necessário.

      Consulte o Capítulo 68, "Estendendo ColdFusion com Java," em Kit de construção de aplicativos da Web Adobe ColdFusion 9, Volume 3: Desenvolvimento de aplicativos avançados, para obter mais informações sobre a integração do ColdFusion Java.

      Como regra, marque esta caixa em servidores onde você não controla todos os códigos e aplicativos e deixe-a desmarcada se o servidor for todo seu.

      Prefixo JSON serializado com

      JSON é um formato de dados XML usado em aplicativos Ajax e pelos controles Ajax do ColdFusion. Os serviços da Web que retornam dados no formato JSON podem conter código JavaScript e, portanto, podem ser comprometidos para permitir ataques de script entre sites JavaScript. Marque esta caixa para prefixar strings potencialmente perigosas para evitar que sejam executadas.

      Consulte o Capítulo 15, "Além dos formulários HTML: ColdFusion-Powered Ajax," no Volume 1, e Capítulo 30, "Advanced ColdFusion-Powered Ajax," para aprender sobre a integração ColdFusion e Ajax.

      Habilitar sistema de arquivos na memória

      Um sistema de arquivos virtual (VFS) foi adicionado ao ColdFusion 9. É um sistema de arquivos baseado em RAM que pode ser manipulado de forma semelhante ao sistema de arquivos local, mas como está na memória, tem melhor desempenho e tempo de execução. Quaisquer operações e manipulações de arquivo e diretório realizadas no ColdFusion podem ser realizadas com o VFS: ou seja, você pode criar CFCs e CFMs em tempo de execução na RAM e executá-los, e qualquer tag que usa um arquivo de disco local como entrada e saída também pode usar um Arquivo VFS com a mesma entrada e saída. Também existe a opção de definir um limite de memória para o VSS na memória.

      O RAM:/// o sistema de arquivos está disponível em todo o sistema. Para limitar o acesso ao VFS de outros aplicativos, você pode usar a segurança sandbox.

      Observar os arquivos de configuração quanto a alterações

      As definições de configuração do ColdFusion são armazenadas em arquivos XML externos.Esses arquivos normalmente nunca são modificados diretamente, eles são atualizados conforme necessário pelo próprio ColdFusion (quando as alterações são feitas usando o ColdFusion Administrator ou a API do Administrador). Se alterações forem feitas diretamente nos arquivos, essas alterações não serão vistas pelo ColdFusion até que o servidor seja reiniciado.

      No entanto, se necessário, o ColdFusion pode observar seus próprios arquivos de configuração e recarregar seu conteúdo (as configurações) se houver alterações no arquivo. Se esse recurso for necessário, marque esta opção.

      Se você estiver usando ColdFusion no IBM WebSphere usando implementação de rede, esta opção deve ser ativada (marcada).

      Habilitar Proteção Global de Script

      Marque esta caixa para que o ColdFusion verifique URL, FORMATO, CGI, e BISCOITO variáveis ​​para possíveis ataques de script entre sites.

      Essa opção é explicada no Capítulo 21, "Protegendo seus aplicativos", no Volume 1.

      Padrão ScriptSrc Diretório

      O & # 60cfform & # 62 tags (apresentadas nos capítulos 12, "ColdFusion Forms" e 14, "Usando formulários para adicionar ou alterar dados," no Volume 1) usam arquivos JavaScript que são instalados em uma pasta chamada / CFIDE / scripts sob a raiz do ColdFusion. Se este local deve ser alterado (por exemplo, para bloquear todo o CFIDE estrutura de diretório), você deve fornecer o novo caminho neste campo.

      Permitir atributos extras na coleção de atributos

      As tags ColdFusion podem passar atributos não padronizados na estrutura de coleção de atributos.

      Chave de API do Google Maps

      Um válido googleMap A chave de API é necessária para usar o built-in ColdFusion googleMaps recursos em seu aplicativo. Você pode especificar essa chave nesta seção do ColdFusion Administrator, que está disponível globalmente, por instância do servidor, ou defini-la em seu código antes de usar essa funcionalidade.

      O CFMAP A chave pode ser definida em três níveis ou escopos. Portanto, a acessibilidade da chave depende de onde você a definiu.

      • Escopo do servidor: Compartilhado para todos os aplicativos em execução na instância do servidor.
      • Escopo do aplicativo: Disponível no escopo do aplicativo.
      • Escopo do modelo: Acessível apenas dentro desse modelo.

      Tanto o componente com o OnServerStart () método e o Application.cfc e Application.cfm As seções de ordem de pesquisa desta página são autoexplicativas.

      Manipulador de modelo ausente

      Você pode criar uma página ColdFusion que será executada e exibida sempre que um usuário solicitar uma página ColdFusion que não existe de fato no servidor. Esta página ocupará o lugar da mensagem padrão Not Found que normalmente apareceria. O manipulador de modelo ausente pode conter qualquer código ColdFusion de sua preferência. Basta especificar sua localização aqui, no ColdFusion Administrator. Certifique-se de incluir o caminho completo do arquivo para o arquivo (incluindo o c: ou o que for apropriado), não apenas seu nome.

      Manipulador de erros em todo o site

      Você também pode criar uma página ColdFusion que será executada e exibida sempre que um erro não detectado (exceção) for exibido. Esta página substituirá a mensagem de erro padrão que normalmente aparece. Novamente, apenas especifique sua localização aqui, no ColdFusion Administrator. Certifique-se de incluir o caminho completo do arquivo para o arquivo (incluindo o c: ou o que for apropriado), não apenas seu nome.

      Você ainda pode especificar páginas de tratamento de erros personalizadas página por página ou aplicativo por aplicativo com o & # 60cferror & # 62 , conforme explicado no Capítulo 44, "Tratamento de erros", online.

      Tamanho máximo de dados de postagem

      Um tipo de ataque ao servidor sobrecarrega o servidor, fazendo-o processar solicitações com grandes quantidades de dados anexados. Este tipo de ataque usa PUBLICAR envio, e assim o ColdFusion pode ser instruído a ignorar (e encerrar) quaisquer solicitações com PUBLICAR dados maiores que um tamanho especificado. Para implementar esta opção, especifique um tamanho.

      Solicitar limite de aceleração

      O ColdFusion pode controlar (desacelerar à força) as solicitações de entrada, se necessário. No entanto, solicitações muito pequenas (aquelas com um pequeno carga útil) pode ser permitido, independentemente do estado do acelerador. Para permitir que pequenas solicitações sejam processadas, especifique o tamanho máximo permitido (o padrão é no máximo 4 MB).

      Solicitar memória de aceleração

      Para acelerar as solicitações, especifique a quantidade máxima de memória alocada para o acelerador. Se não houver memória total suficiente disponível, o ColdFusion enfileira as solicitações até que memória suficiente esteja livre (o padrão é 200 MB).

      A página de ajuste de solicitação

      A página Request Tuning é usada para gerenciar e controlar como o ColdFusion trata o processamento de solicitações simultâneas.

      Número máximo de solicitações de modelo simultâneas

      ColdFusion é rápido e eficiente, mas obviamente não pode lidar com uma quantidade ilimitada de solicitações de página de uma vez. Em algum ponto, qualquer servidor ficará sobrecarregado se tentar atender a muitos usuários ao mesmo tempo. Esta configuração permite ajustar o desempenho do servidor ajustando o número máximo de solicitações de página que ele pode processar ao mesmo tempo.

      Se você alterar esta configuração, será necessário reiniciar o ColdFusion Application Server para que as alterações tenham efeito.

      Como essa configuração pode ter um grande impacto no desempenho de um aplicativo, seria bom se houvesse uma regra rígida que você pudesse usar para determinar o melhor valor a ser fornecido. Infelizmente, essa regra não existe. Quanto mais poderoso for o seu hardware & # 8212, maior quantidade de RAM, processadores mais rápidos, discos rígidos mais rápidos e conexões de rede mais rápidas com seus bancos de dados & # 8212, mais solicitações ele poderá processar de uma vez.

      Portanto, dependendo das especificações de seu hardware, a redução do número de solicitações permite que o ColdFusion dedique seus recursos a um pequeno número de tarefas, executando todas as tarefas mais rapidamente. Se você acha que seu servidor pode lidar com mais solicitações, experimente seus aplicativos ColdFusion com a configuração aumentada sob carga em um ambiente de teste.

      Aqui estão algumas regras básicas:

      • Comece com um valor de 10, que é um ponto de partida bastante razoável.
      • Se o seu servidor tiver mais de um processador ou se o seu servidor for extremamente poderoso de outras maneiras, aumente o número de solicitações simultâneas por processador. Se o servidor está começando a mostrar sua idade, diminua o número.
      • Se as páginas levarem mais de um ou dois segundos para serem desenvolvidas, você pode considerar a redução desse número.
      • Para evitar que páginas rápidas sejam bloqueadas por páginas lentas, você provavelmente deve aumentar o número de solicitações simultâneas. Além disso, você pode usar o & # 60cflock & # 62 tag para se certificar de que um grande número de páginas lentas não podem ser executadas todas de uma vez. Por exemplo, você pode colocar um & # 60cflock & # 62 marcar com name = "VerySlowProcess" e type = "Exclusivo" atributos em torno do código que você sabe que serão demorados ou geralmente difíceis no servidor. Consulte o Capítulo 18 para obter mais informações sobre o bloqueio.
      • Se seu aplicativo usa variáveis ​​compartilhadas, especialmente APLICATIVO variáveis, de forma que muitas vezes você precise solicitar um bloqueio exclusivo para se proteger contra condições de corrida, você provavelmente desejará diminuir o número de solicitações simultâneas (de modo que menos bloqueios realmente bloqueiem um ao outro em tempo de execução). Consulte o Capítulo 18 para obter mais informações sobre as condições de corrida.

      Há outra abordagem importante que você pode usar para gerenciar diferentes aplicativos e solicitações com cargas e tempos de resposta diferentes. O ColdFusion Enterprise permite que você instale várias cópias (instâncias) do ColdFusion em uma única máquina, e cada instância pode ter suas próprias configurações otimizadas para seu próprio uso.

      Número máximo de solicitações simultâneas de flash remoto

      A maioria das solicitações de entrada para ColdFusion se origina de navegadores da Web, mas ColdFusion também aceita solicitações de aplicativos Flash (e Flex) via Flash Remoting. Portanto, é possível (se o seu site tiver muitos aplicativos Flash) que as solicitações do navegador da Web fiquem na fila aguardando a conclusão das solicitações do Flash Remoting.

      ColdFusion permite que você especifique quantas solicitações permitir para Flash Remoting.

      Número máximo de solicitações de serviço da web simultâneas

      As solicitações do ColdFusion também podem ser solicitações de serviços da Web (SOAP). Assim como acontece com as solicitações do Flash Remoting, o ColdFusion permite que as solicitações dos Web Services sejam restritas.

      Se o seu site expõe muitos Web Services voltados ao público, você pode aumentar esse número para corresponder ao valor de Número máximo de solicitações de modelo simultâneas.

      Consulte o Capítulo 59, "Criando e consumindo Web Services", no Volume 3, para aprender como criar e publicar Web Services.

      Número máximo de solicitações simultâneas de função CFC

      Os componentes do ColdFusion são geralmente chamados diretamente (de dentro de outros arquivos e modelos do ColdFusion). Os CFCs também podem ser chamados por meio do Flash Remoting e Web Services e, como já vimos, esse tipo de acesso pode ser limitado, se necessário. Os componentes do ColdFusion também podem ser chamados por meio de solicitação direta de HTTP. Para limitar este tipo de acesso, defina o máximo aqui.

      Essa configuração não afeta as chamadas CFC de dentro do código CFML local.

      Número máximo de threads JRun em execução

      Quando o ColdFusion é executado usando o servidor JRun integrado, ele deve compartilhar o total de threads disponíveis com o JRun. Além dos threads de que o ColdFusion precisa para processamento, o JRun subjacente exige os próprios threads. Portanto, esse valor deve ser sempre maior que a soma dos quatro valores anteriores (20 a mais é um bom ponto de partida).

      Número máximo de threads JRun enfileirados

      O servidor JRun subjacente pode aceitar solicitações Java e J2EE além de solicitações ColdFusion (que são processadas pelo ColdFusion em execução no JRun). O JRun enfileira os pedidos até que eles possam ser processados ​​(por seu destino, onde quer que ele esteja), e o tamanho da fila é especificado aqui.

      Número máximo de threads de relatório simultâneos

      ColdFusion tem um mecanismo de relatório integrado (usado por & # 60CFREPORT & # 62) Como o processamento de relatórios pode consumir muitos recursos (especialmente o processamento simultâneo de relatórios muito grandes), existe o risco de que o ColdFusion esteja tão ocupado criando relatórios que todas as outras solicitações sofram de baixo desempenho.

      Portanto, o ColdFusion permite que você especifique o número máximo de threads que podem ser alocados para a geração de relatórios. Quaisquer solicitações maiores que o máximo especificado serão enfileiradas até que possam ser processadas.

      A menos que seu aplicativo gere relatórios continuamente, defina esse valor para um valor muito inferior ao número total de solicitações disponíveis.

      Consulte o Capítulo 16, "Criação de gráficos, impressão e relatórios", no Volume 1, para aprender sobre os relatórios do ColdFusion.

      Número máximo de threads disponíveis para CFTHREAD

      As solicitações do ColdFusion são de thread único, mas, usando & # 60cfthread & # 62, Os aplicativos ColdFusion podem gerar threads adicionais para realizar o processamento assíncrono. Embora esse recurso possa aumentar o desempenho tremendamente, ele também apresenta o risco de que tantos threads sejam gerados que o desempenho total do sistema seja prejudicado.

      Portanto, o ColdFusion permite que você especifique o número máximo de threads que podem ser alocados para o processamento de threads geradas. Quaisquer solicitações maiores que o máximo especificado serão enfileiradas até que possam ser processadas.

      Veja o Capítulo 26, "Gerenciando Threads", para aprender como usar threading e o & # 60cfthread & # 62 marcação.

      Solicitações de tempo limite aguardando na fila após n Segundos

      Se o ColdFusion estiver ocupado processando tantas solicitações quanto foram especificadas, todas as solicitações de entrada adicionais serão enfileiradas até que haja um thread livre para processá-las. Em teoria, as solicitações podem ser enfileiradas indefinidamente, mas na prática, você provavelmente desejará atingir o tempo limite das solicitações e exibir uma mensagem de erro personalizada.

      O tempo máximo da fila de solicitações pode ser especificado nesta opção.

      Esse valor nunca deve ser menor que o valor do Tempo limite da solicitação (a primeira opção na página Configurações, discutida anteriormente neste capítulo).

      Solicitar página de tempo limite da fila

      Se as solicitações enfileiradas expirarem, os usuários verão uma mensagem genérica 500 em seus navegadores. Para fornecer uma página de erro personalizada, especifique o caminho para um arquivo HTML estático (relativo à raiz da Web) aqui.

      Não use um .cfm página como a página de erro personalizada. Se as páginas estão expirando na fila, você não deseja colocar outra página na fila para exibir uma mensagem de erro!

      A página de cache

      A palavra esconderijo é um termo geral que se refere ao uso de uma área temporária da memória de um computador ou unidade de disco para armazenar informações que podem ser demoradas para recuperar ou calcular normalmente. A ideia é realizar a ação ou cálculo uma vez, armazená-lo no cache e, em seguida, usar as informações no cache (o versão em cache) para solicitações subsequentes, em vez de executar a ação ou cálculo indefinidamente. Sempre deve haver algum limite colocado na quantidade de informações no cache, caso contrário, o tamanho do cache se tornaria pesado e ineficiente.

      A página Caching do ColdFusion Administrator é usada para controlar o cache que o ColdFusion usa para armazenar seus arquivos de código ColdFusion e o cache do banco de dados que o ColdFusion usa sempre que você usa o armazenado em cache ou armazenado em cache depois atributos em um & # 60cfquery & # 62 marcação.

      Não confunda as opções de cache nesta página do Administrador com o & # 60cfcache & # 62 tag, que é para funções de armazenamento em cache, fragmentos de página em cache ou páginas individuais em cache. Para detalhes sobre & # 60cfcache & # 62, consulte o Capítulo 27, "Melhorando o desempenho".

      Número máximo de modelos em cache

      ColdFusion converte seus modelos ColdFusion em classes Java compiladas em segundo plano. Sempre que alguém visita uma de suas páginas ColdFusion, ColdFusion verifica se a página foi convertida em uma classe Java e se a classe Java está atualizada (ou seja, se o .cfm arquivo foi alterado desde que a classe Java foi compilada). O mesmo se aplica a quaisquer páginas, tags personalizadas e componentes incluídos. Certos aspectos desse processo de tomada de decisão, bem como as próprias classes Java compiladas, são armazenados em cache na memória para melhorar o desempenho.

      Esta configuração permite ajustar o tamanho desse cache de modelo para melhorar o desempenho. Idealmente, você gostaria que o cache fosse grande o suficiente para conter todos os seus modelos.

      Lembre-se de que um modelo é apenas outro nome para uma página ColdFusion. Algum .cfm ou .cfc arquivo é um modelo.

      Cache confiável

      Normalmente, quando um usuário solicita uma de suas páginas ColdFusion, o servidor precisa verificar se o .cfm arquivo foi alterado desde a última vez que a página foi executada. Em caso afirmativo, ele recompila o .cfm arquivo em uma versão atualizada da classe Java correspondente, caso contrário, a versão existente da classe Java pode ser usada. O mesmo se aplica a quaisquer arquivos incluídos, tags personalizadas ou componentes do ColdFusion. Não leva muito tempo para o servidor verificar se cada arquivo foi alterado, mas mesmo esse pouco de tempo é inútil se você souber que seus arquivos do ColdFusion não serão alterados com o tempo.

      Marcar esta opção informa ao ColdFusion para não se preocupar em verificar se cada arquivo ColdFusion foi alterado. Isso pode melhorar um pouco o desempenho, especialmente se o servidor estiver recebendo muitas solicitações de página.

      Em geral, você deve habilitar esta opção em seus servidores de produção, uma vez que os arquivos normalmente não seriam alterados com frequência. Deixe-o desmarcado em seus servidores de desenvolvimento.

      Modelo de Cache na Solicitação

      Se a opção Cache Template in Request não estiver marcada, toda vez que um template é acessado (dentro da mesma solicitação), ele é inspecionado para ver se há alguma alteração. Se esta opção estiver marcada, o modelo será inspecionado apenas na primeira vez que for acessado na solicitação.

      Cache de Componente

      Quando a opção Cache de componente é marcada, o caminho dos componentes é armazenado em cache e não é resolvido novamente.

      Salvar arquivos da turma

      Os arquivos de classe gerados pelo ColdFusion .cfm o código-fonte pode ser armazenado em cache na memória do servidor ou gravado no disco. Para salvar os arquivos da turma no disco, marque esta opção. Isso pode melhorar o desempenho em sites de alto volume.

      Não habilite esta opção em seus servidores de desenvolvimento.

      Caminhos do servidor da Web em cache

      ColdFusion pode armazenar em cache os caminhos para arquivos e como esses caminhos mapeiam para URLs para melhorar o desempenho. Marque esta opção para caminhos de cache, mas nunca marque esta opção se você hospedar vários sites da Web no mesmo servidor (pois isso pode fazer com que os caminhos se misturem, resultando na exibição de páginas erradas).

      Número máximo de consultas em cache

      Como você aprendeu no Capítulo 27, você pode usar o armazenado em cache ou armazenado em cache depois atributos do & # 60cfquery & # 62 tag para reutilizar os resultados da consulta para que não tenham que ser recuperados do banco de dados com cada solicitação de página. Obviamente, não é possível para o servidor armazenar em cache um número ilimitado de conjuntos de resultados de consulta na memória, havendo apenas um limite de memória disponível.

      Por padrão, o ColdFusion permitirá que até 100 conjuntos de resultados armazenados em cache residam em sua memória quando a 101ª consulta precisar ser armazenada em cache; a consulta que foi armazenada em cache primeiro será removida do cache. Aumentar o número permitirá que mais conjuntos de resultados em cache permaneçam na memória de uma vez, diminuindo o número, reduzirá a quantidade de RAM que as consultas em cache usarão.

      Como algumas das opções discutidas anteriormente (particularmente o número de solicitações simultâneas), essa configuração é uma questão de equilíbrio e não existe uma regra rígida e rápida sobre qual é o melhor valor.

      Em geral, se você usar consultas em cache extensivamente em seu código e descobrir que seu servidor ainda tem bastante RAM disponível depois que seus aplicativos estiverem em execução por um tempo, você pode aumentar o valor. Por outro lado, se você achar que seu servidor tende a ficar sem RAM disponível, você deve tentar diminuir esse valor.

      O ColdFusion System Monitor pode ser usado para determinar quais consultas estão sendo armazenadas em cache e se o cache está sendo usado de forma eficaz.

      O Capítulo 47, "Monitorando o desempenho do sistema", no Volume 3, explica como usar o Monitor do sistema.

      A página de variáveis ​​do cliente

      No Capítulo 19, você aprendeu sobre o CLIENTE escopo de variável, que permite criar variáveis ​​que se tornam associadas a um navegador da Web específico. Você pode usar CLIENTE variáveis ​​para criar páginas que mostram informações personalizadas ou que, de outra forma, mantêm o estado entre as visitas de cada usuário e as solicitações de página.

      Escolhendo um Mecanismo de Armazenamento de Variável do Cliente

      Em geral, a ideia por trás CLIENTE variáveis ​​é armazenar as variáveis ​​reais no servidor, de modo que a carga (e a responsabilidade) de lembrar os valores não seja colocada em cada máquina do navegador. Existem dois métodos para armazenar valores no servidor: em um banco de dados ou no registro. (Para servidores Windows, registro refere-se ao Registro do Windows, que é um armazenamento de informações especial embutido no sistema operacional para outros servidores, registro refere-se a um arquivo de texto especial que a Adobe envia com o ColdFusion.) Como os valores são armazenados no lado do servidor, o tamanho total de todas as variáveis ​​de cliente acumuladas pode se tornar muito grande com o tempo.O banco de dados ou o registro terá que se tornar grande o suficiente para armazenar o tamanho total de todas as variáveis ​​do cliente para todos os usuários.

      Você também pode optar por ter suas variáveis ​​de cliente armazenadas como um cookie na máquina do navegador. Isso resolve o problema de seus servidores terem que armazenar todas as variáveis ​​de cliente para cada usuário, mas tem algumas compensações significativas. Conceitualmente, você está confiando no navegador para armazenar os valores para você (dependendo de suas configurações locais). A Adobe recomenda que você use apenas a opção de registro padrão para desenvolvimento e que crie um mecanismo de armazenamento de banco de dados para suas máquinas de preparação ou produção (mesmo se for apenas um banco de dados Access humilde). Você pode definir o banco de dados como o mecanismo de armazenamento padrão (conforme discutido na próxima seção) para que seu código não precise ser alterado conforme você move seus aplicativos para fora do desenvolvimento.

      O principal motivo para usar CLIENTE variáveis ​​é compartilhar essas informações em vários servidores. Como isso também pode ser feito usando SESSÃO variáveis, raramente é necessário usar CLIENTE variáveis ​​mais.

      Nesta página, você também pode selecionar uma fonte de dados para adicionar como uma loja de cliente.

      Escolhendo o mecanismo de armazenamento padrão

      Para escolher o mecanismo de armazenamento padrão usado para variáveis ​​de cliente, faça a seleção apropriada sob o título Selecionar Mecanismo de Armazenamento Padrão para Sessões de Cliente e clique em Aplicar.

      Você pode substituir essa configuração em uma base de aplicativo por aplicativo, especificando um armazenamento de cliente atributo em seu & # 60cfapplication & # 62 marcação. Para obter detalhes, consulte o Capítulo 19.

      Intervalo de purga

      CLIENTE as variáveis ​​persistem com o tempo e são eliminadas (excluídas) em um intervalo predeterminado. O intervalo padrão é de 1 hora e 7 minutos e pode ser alterado se necessário.

      A Página de Variáveis ​​de Memória

      No Capítulo 18, você aprendeu sobre variáveis ​​de aplicativo, que permitem manter contadores, sinalizadores e outras variáveis ​​em uma base de todo o aplicativo. No Capítulo 19, você aprendeu sobre variáveis ​​de sessão, que fornecem uma maneira de rastrear variáveis ​​para seus usuários por sessão.

      Esta página do Administrador permite que você altere a forma como essas variáveis ​​são rastreadas e por quanto tempo. Qualquer tipo de variável pode ser desabilitado desmarcando a caixa de seleção Habilitar variáveis ​​de aplicativo ou Habilitar variáveis ​​de sessão.

      Use Variáveis ​​de Sessão J2EE

      O ColdFusion pode gerenciar variáveis ​​de sessão ou pode contar com o servidor J2EE subjacente para executar essa tarefa. Para que o servidor J2EE gerencie a sessão, marque esta caixa.

      Há vantagens significativas em usar variáveis ​​de sessão J2EE, idealmente, esta caixa de seleção deve ser marcada.

      Se você tiver aplicativos existentes que usam explicitamente CFID e CFTOKEN valores, não marque esta caixa sem atualizar o código.

      Habilitar Variáveis ​​de Aplicativo

      Para habilitar o uso de variáveis ​​de aplicativo, marque esta caixa (marcada por padrão).

      Como regra, esta caixa deve estar sempre marcada.

      Habilitar Variáveis ​​de Sessão

      Se algum aplicativo em seu servidor precisar usar variáveis ​​de sessão, marque esta caixa (ela é marcada por padrão).

      Como regra, esta caixa deve estar sempre marcada.

      Tempo Limite Máximo

      Você pode ajustar o valor do tempo limite máximo para cada tipo de variável, o que lhe dá uma maneira de se certificar de que nenhum & # 60cfapplication & # 62 tag especifica um sessão expirada ou tempo limite de aplicação valor que é excessivamente longo. Se o & # 60cfapplication & # 62 tag especifica um valor de tempo limite que excede o valor máximo que você fornece aqui, o valor máximo é usado em seu lugar.

      Tempo limite padrão

      Você também pode editar o valor de Tempo limite padrão para cada tipo de variável, digitando o número desejado de dias, minutos, horas e segundos. Este valor padrão será usado sempre que você não especificar um sessão expirada ou tempo limite de aplicação atributo em seu & # 60cfapplication & # 62 Tag. Por exemplo, você pode definir um tempo limite de sessão mais longo se os usuários reclamarem que suas variáveis ​​de sessão desaparecem enquanto preenchem formulários longos ou tomam decisões complexas. Você pode usar um tempo limite mais curto se suspeitar que muita memória está sendo usada para armazenar suas variáveis ​​de sessão.

      A página de mapeamentos

      A página Mappings é usada para definir mapeamentos de caminho, aliases que são usados ​​no código CFML para se referir a pastas específicas.

      Por padrão, dois mapeamentos são criados (cfide e Porta de entrada) e não devem ser removidos. Para adicionar seus próprios mapeamentos, insira o alias e o caminho no formulário exibido e clique em Adicionar.

      Se Habilitar Configurações por Aplicativo (na página Configurações) estiver marcado, você pode definir mapeamentos para aplicativos específicos em Application.cfc.

      A página de correio

      No Capítulo 20, "Interagindo com e-mail", no Volume 1, você aprendeu a criar páginas ColdFusion que enviam mensagens de e-mail dinâmicas e personalizadas com o & # 60cfmail & # 62 marcação. ColdFusion também pode enviar relatórios gerados automaticamente para administradores de servidor em caso de problemas, como você aprenderá na seção "A página de probes do sistema", posteriormente neste capítulo. Use a página Servidor de e-mail para estabelecer uma conexão de servidor de e-mail SMTP para ColdFusion usar para esses fins.

      Se você estiver usando o ColdFusion Developer Edition, algumas das opções listadas para esta página podem não estar disponíveis.

      Servidor de e-mail

      Insira o nome de domínio da Internet ou o endereço IP do servidor de saída de correio de sua empresa (também conhecido como servidor SMTP) na caixa de texto Servidor de correio.

      Nome de usuário (se o seu servidor SMTP exigir que você faça login, digite o nome de usuário aqui) e Senha (se o seu servidor SMTP exigir que você faça login, digite a senha aqui) são autoexplicativos.

      A opção Assinar permite que o ColdFusion assine digitalmente seu e-mail.

      Keystore

      A opção Keystore especifica a localização do keystore que contém o certificado e a chave privada. O armazenamento de chaves Java (JKS) e o armazenamento de chaves pkcs12 são suportados.

      A opção Keystore Password é autoexplicativa.

      Keystore Alias

      A primeira entrada no armazenamento de chaves é usada como um alias, a menos que essa opção não esteja em branco.

      Verifique a conexão do servidor de e-mail

      Ao definir seu servidor de e-mail, marque esta caixa para que o ColdFusion Administrator tente se conectar ao servidor de e-mail para verificar a conexão.

      Porta do servidor

      Digite o número da porta do seu servidor de e-mail. Quase sempre é 25, portanto, geralmente você pode deixar o número da porta sozinho.

      Servidores de email de backup

      Se você tiver acesso a servidores SMTP de backup (que podem ser usados ​​se o servidor SMTP principal não estiver disponível), liste-os aqui.

      Se você selecionar Manter conexão com o servidor de e-mail, a conexão não poderá ser interrompida pelo servidor ColdFusion.

      Tempo limite de conexão

      Essa configuração permite especificar o número de segundos que o ColdFusion deve esperar por uma resposta do servidor de e-mail. Em geral, o valor padrão de 60 segundos é sensato. Se o seu servidor de e-mail estiver longe ou disponível apenas por meio de uma conexão de rede lenta, pode ser necessário aumentar esse valor.

      Habilitar conexões de soquete SSL para servidor de correio

      Marque esta caixa de seleção para ativar a criptografia SSL nas conexões com o servidor de e-mail.

      Para usar esta opção, seu servidor de e-mail deve suportar criptografia SSL.

      Habilitar conexão TLS ao servidor de e-mail

      Marque esta caixa de seleção para habilitar a segurança de nível de transporte (TLS) na conexão com o servidor de e-mail.

      Para usar esta opção, seu servidor de e-mail deve suportar criptografia SSL.

      Intervalo de spool

      Essa configuração permite especificar o número de segundos que o ColdFusion aguarda antes de verificar se novas mensagens de e-mail estão aguardando para serem enviadas. Você pode diminuir esse valor se for essencial que suas mensagens sejam enviadas logo após serem criadas, você pode aumentar o valor para conservar os recursos do servidor. Observe que este valor é ignorado sempre que você usa o spoolenable = "Não" atributo em seu & # 60cfmail & # 62 Tag.

      Tópicos de entrega de correio

      Você pode especificar o número máximo de threads que o spooler de correio do ColdFusion pode usar. Quanto maior for esse número, maior será o número de mensagens que serão entregues a qualquer momento.

      Antes de aumentar este valor, certifique-se de que seu servidor de e-mail oferece suporte a várias conexões simultâneas do mesmo cliente.

      Spool Mail Mensagens para Entrega

      O correio é colocado em spool pelo ColdFusion e, em seguida, entregue pelo spooler. As mensagens podem ser enviadas para o disco ou para a memória.

      Como regra geral, as mensagens devem ser enviadas para o disco. Embora o spool para a memória possa ser mais rápido, ele aumenta a carga da memória e também evita a entrega de e-mails após uma falha do sistema.

      Número máximo de mensagens em spool na memória

      O spool do disco de mensagens ocorrerá depois que o servidor ColdFusion atingir o limite especificado aqui.

      Ver correio não entregue

      Esta opção abre uma janela que permite a exclusão e o reenvio de mensagens não entregues.

      Gravidade do log de erros

      A correspondência entregue pelo ColdFusion pode ser registrada para análise futura. Os logs são salvos no / ColdFusion9 / Log e pode ser visualizado usando as páginas do visualizador de log no ColdFusion Administrator (consulte a seção "A página de arquivos de log" posteriormente neste capítulo). Você pode especificar o nível de registro aqui.

      Registrar todas as mensagens enviadas por ColdFusion

      Para ajudar na solução de problemas, o ColdFusion pode registrar todas as mensagens (incluindo todo o conteúdo), se necessário (esta opção não é habilitada por padrão).

      Não deixe esta opção marcada por longos períodos de tempo, pois salvar todas as mensagens pode consumir uma grande quantidade de espaço em disco.

      Configuração do Mail Charset

      Para alterar o conjunto de caracteres padrão usado em mensagens de e-mail geradas, especifique o valor aqui.

      UTF-8 é o padrão e geralmente a opção preferida para esta configuração.

      A página de gráficos

      No Capítulo 16, você aprendeu como usar o ColdFusion & # 60cfchart & # 62 tag para criar tabelas dinâmicas e gráficos que criam representações visuais dos dados de seu aplicativo. ColdFusion armazena automaticamente em cache os gráficos para uso posterior. Conceitualmente, o cache de gráfico é o equivalente de gráfico do recurso de cache de consulta que você aprendeu no Capítulo 27. Seu objetivo é melhorar o desempenho, reutilizando automaticamente os resultados de um & # 60cfchart & # 62 tag se todos os seus dados e atributos forem iguais, em vez de ter que renderizar novamente cada gráfico para cada solicitação de página.

      A página Charting do ColdFusion Administrator contém várias opções que você pode usar para ajustar a maneira como o cache do gráfico se comporta.

      Tipo de Cache

      Você pode definir isso para Cache de disco (o valor padrão) ou Cache de memória. A configuração do cache de memória terá um desempenho melhor sob carga alta, mas exigirá mais memória do servidor para isso. A configuração do Cache de disco pode não funcionar tão rapidamente, mas não terá muito impacto na RAM do servidor. Recomendamos deixar esse valor sozinho, a menos que você esteja especificamente tendo problemas de desempenho com & # 60cfchart & # 62 sob carga pesada.

      Número máximo de imagens em cache

      Você pode aumentar esse número para permitir que o ColdFusion armazene mais gráficos em seu cache, melhorando assim o desempenho se seu aplicativo estiver servindo muitos gráficos diferentes. Se você estiver usando a opção Memory Cache, lembre-se de que isso fará com que ainda mais memória do servidor seja usada para o cache de gráficos.

      Número máximo de threads de gráficos

      O número máximo de & # 60cfchart & # 62 tags que você deseja que o ColdFusion esteja disposto a processar ao mesmo tempo. Sob carga alta, um número mais alto aqui pode melhorar a capacidade de resposta para solicitações de gráfico individuais, mas vai colocar mais pressão geral em seu servidor.

      Localização do cache de disco

      Se estiver usando a opção Disk Cache, você pode ajustar esse valor, que é o local onde o ColdFusion armazena os gráficos para reutilização posterior.

      A página de gerenciamento de fontes

      As fontes são usadas pelos recursos de impressão e relatório do ColdFusion. Ao gerar a saída impressa, o ColdFusion deve saber quais fontes estão disponíveis, que tipo de saída elas suportam e se as fontes devem ser incorporadas na saída gerada.

      A página Gerenciamento de fontes lista as fontes disponíveis e permite que você especifique uma pasta contendo fontes adicionais a serem instaladas.

      Consulte o Capítulo 16 para aprender sobre impressão e relatórios ColdFusion.

      A página do documento

      Esta página permite que você edite a configuração do OpenOffice. A configuração permite especificar a localização do OpenOffice e se ele pode ser configurado remotamente. Para obter mais informações sobre como usar o OpenOffice, consulte o Capítulo 67, "Integrando com o Microsoft Office," no Volume 3.

      A página Java e JVM

      ColdFusion é executado em cima da plataforma Java. Suas páginas do ColdFusion são traduzidas em classes Java e essas classes são executadas no contexto de uma Java Virtual Machine (JVM). A página Java e JVM do administrador permite que você ajuste qual JVM é usado para executar suas páginas. Você também pode fazer outros ajustes relacionados à JVM, como a quantidade de memória que a JVM tem permissão para usar durante a execução de suas páginas.

      Esta página está disponível apenas ao usar ColdFusion com o servidor J2EE integrado. Se ColdFusion estiver instalado em um servidor J2EE, use as ferramentas de gerenciamento de servidor para definir essas configurações.

      Caminho da máquina virtual Java

      Em teoria, o ColdFusion deve ser capaz de usar qualquer JVM atualizado. Para usar uma JVM alternativa, instale-a, altere a configuração Java Virtual Machine Path no ColdFusion Administrator e reinicie o ColdFusion Application Server.

      Antes de usar uma JVM diferente em seus servidores de produção, você definitivamente deve testar seus aplicativos com a mesma JVM em algum tipo de servidor de desenvolvimento, temporariedade ou teste beta. Você também deve verificar se o JVM é oficialmente compatível com a Adobe.

      Você sempre pode descobrir em qual JVM ColdFusion está sendo executado, clicando no link System Information na parte superior do ColdFusion Administrator.

      Tamanho mínimo do heap JVM

      Essa configuração permite que você forneça uma quantidade inicial de memória do servidor que a JVM deve reivindicar quando o ColdFusion é iniciado. Por padrão, essa configuração é deixada em branco, o que significa que a JVM tomará suas próprias decisões sobre a quantidade de memória que deve reivindicar na inicialização. Se o seu servidor encontrar muito tráfego, a JVM geralmente precisará solicitar mais memória. Você pode economizar algum tempo para a JVM, dizendo-lhe para solicitar uma quantidade maior de memória na inicialização. Em geral, isso pode tornar todo o processo de inicialização (que inclui o processamento inicial de suas páginas) mais eficiente.

      Se você fornecer um valor para esta configuração, é altamente recomendável que você especifique um tamanho de pelo menos 32 MB.

      Tamanho máximo do heap JVM

      Em uma instalação padrão do ColdFusion, a JVM é instruída a usar no máximo 512 MB de memória para o tempo de execução do ColdFusion e suas páginas do ColdFusion. Se o seu servidor tiver muito mais do que 512 MB de RAM instalado, você pode permitir que a JVM use mais disso, o que geralmente melhoraria o desempenho. Simplesmente especifique a quantidade máxima de memória que você deseja que a JVM (e, portanto, o servidor ColdFusion e, portanto, suas páginas ColdFusion) seja capaz de usar, em megabytes.

      Não defina esse valor para nada inferior a 32 MB, porque ColdFusion provavelmente não será capaz de iniciar com menos do que essa quantidade de memória.

      Caminho da classe ColdFusion

      Se seus aplicativos usam quaisquer objetos Java externos que por sua vez se referem a outras classes Java (ou seja, quaisquer classes Java que não são fornecidas pela própria JVM), você pode dizer ao ColdFusion onde encontrar os arquivos de classe ajustando a configuração Class Path no ColdFusion Administrator. De Objetos Java, Quero dizer qualquer classe Java que você está acessando por meio & # 60cfobject & # 62 ou CreateObject (), quaisquer servlets ou bibliotecas de tag JSP que você está usando via & # 60cfimport & # 62, Tags CFX que foram gravadas em Java e assim por diante.

      Em geral, você especificará o caminho para um diretório ou o caminho para um arquivo Java (.jar) Arquivo. Se você precisar especificar vários diretórios ou arquivos, separe-os com vírgulas.

      Se você estiver familiarizado com a invocação do Java na linha de comando, esta configuração do Administrador é equivalente ao -classpath ou -cp opção.

      Argumentos JVM

      Se você deseja que quaisquer argumentos adicionais sejam transmitidos à JVM quando o servidor ColdFusion é iniciado, você pode especificá-los aqui. Separe vários argumentos com espaços. Presumivelmente, você forneceria esses argumentos se eles fossem exigidos por um objeto Java externo que você desejasse usar ou se o argumento fosse sugerido pelo fornecedor da JVM para melhorar o desempenho ou a estabilidade. A finalidade e o efeito exatos dos argumentos dependerão da JVM e das classes que você está usando.

      Resumo das configurações

      A página Settings Summary fornece uma visão geral rápida de todas as configurações do ColdFusion Administrator. São exibidas informações detalhadas sobre todas as fontes de dados, tags CFX, mapeamentos, arquivos de texto completo Verity e quase todas as outras configurações discutidas neste capítulo. A maioria das informações da página Informações da versão também está incluída no relatório. Você pode imprimir esta página para obter uma cópia impressa de todas as configurações do ColdFusion no servidor.


      Assista o vídeo: Mapeamento Direto - Implementação em detalhes - Memória Cache (Outubro 2021).