sábado, 25 de janeiro de 2014

A INFLUÊNCIA DA FORÇA FLUÍDICA DO “BIG BROTHER”

Era uma terça-feira, eu estava sentado na cadeira da sala, usando o computador que estava sobre a mesa redonda.
No outro ambiente ao lado, deixei a TV ligada, mas eu não estava assistindo nada.
Para ser mais objetivo, acabei deixando o aparelho ligado por puro descaso, entretanto, era possível ouvir toda a programação dali da mesa em que eu estava.
Continuei concentrado na minha tarefa em frente ao computador, quando foi possível ouvir o início do referido programa: Big Brother
Não me importava com nada e continuei concentrado na minha tarefa, sem me interessar pelo programa que se iniciava.
Neste momento, surgiu ao meu lado a presença extrafísica (em espírito) de Antônio.
Trata-se de um protetor que aparenta um professor Grego, um pouco mais de 1,80m de altura, cabelos negros e volumosos, roupas brancas feitas à moda grega antiga.
Ele se aproximou de mim e disse:
Esse programa atingiu o seu ápice no que tange à formação de um psiquismo espesso e denso. Agora que por vários anos uma atmosfera de discórdia, sexo, promiscuidade, vaidades excessivas se cristalizaram ao redor desse acontecimento, o plano denso facilmente encontrou condições de utilizar este programa como um irradiador de densidades para todos os seus expectadores.
São muitos anos de brigas, intrigas, sexualidade desvairada e desinteresse por valores mais elevados, o que constrói uma nuvem negra de fluidos maléficos.
Ao sintonizar-se com esse acontecimento, o expectador recebe uma volumosa carga de fluídos densos que é engenhosamente manipulada por especialistas das sombras, para que os seus lares sejam lentamente densificados, pela falta de vínculos espirituais mais fortes por parte de todos que se prendem a essa rotina.
A ignorância cobra o seu preço. A massa de expectadores nem imagina que uma simples sintonia com um programa de TV pode trazer tantas influências negativas aos seus lares, pois não compreendem algumas leis naturais que só podem ser entendidas por seres abertos aos movimentos cósmicos mais sutis.
No plano espiritual, os mensageiros da luz nada podem fazer senão alertar para o fato de que a ligação com valores espirituais é o melhor caminho para uma vida de bem e amor.
“Semelhante atrai semelhante” quer dizer que a força que você segue torna-se o seu manancial.
Embora a humanidade já tenha conhecimento dos exemplos de grandes seres de luz que já passaram por aqui, bem como já esteja banhada por muito conhecimento universal, são os instintos primitivos que reinam com maior preponderância em relação aos valores espirituais.
Tecnicamente falando, quando um expectador se conecta ao referido programa por vários dias em seguida, e ainda se envolve emocionalmente com os seus acontecimentos, ele começa a formar em seu ambiente e em seu corpo espiritual, formas-pensamento exatamente semelhantes as que estão pairando sobre o local físico da casa onde se reúnem os integrantes do programa televisivo.
Depois da formação dessa energia chamada forma-pensamento, o que está lá dentro da casa também estará na aura da pessoa expectadora, pois, em um processo de simbiose natural, as formas-pensamento tornar-se-ão entidades vivas agindo como organismos pensantes e pulsantes.
A considerar que a humanidade como um todo tem enormes desafios no que tange a busca da angelitude de suas almas, e que essa caminhada ainda mostra-se muito longa, é de tal modo, sensato analisar que a hipótese de abandonar o hábito de sintonizar-se com tais programas seja uma alternativa saudável.
As forças negativas que convergem na direção dos expectadores são potencializadas por entidades escurecidas, habitantes de atmosferas sub umbralinas, muitíssimo interessadas na decadência da raça humana.
E, por último, é pertinente evidenciar que tais forças extrafísicas malignas têm como prática a utilização de acontecimentos populares de baixa moral, para a impregnação em massa de estímulos primitivos.
Depois de finalizar sua explicação, da mesma forma que chegou, Antônio olhou para mim e serenamente se despediu.
Texto psicografado por Bruno J. Gimenes, escritor, empresário, professor e palestrante. Criador da Fitoenergética, um sistema de cura natural inédito no mundo, que tem base na energia vibracional contida nas plantas, é cofundador da Instituição Luz da Serra.


Fonte: casadocinza.com 

A Vida Extraterrestre Avançada Pode Estar Para Além da Compreensão Humana

O nosso Sistema Solar de 4,5 bilhões de anos de idade existe num Universo que se estima ter entre 13,5 e 14 bilhões de anos de existência. Os especialistas acreditam que poderá haver civilizações avançadas lá fora que possam existir desde há 1,8 bilhões de anos. Lord Martin Rees, cosmólogo e astrofísico que é o presidente da Sociedade Real Britânica e astrônomo da Rainha de Inglaterra, disse que acredita que a existência de vida extraterrestre pode estar além da compreensão humana. “Eles poderiam estar a observar-nos face a face e nós não os reconhecermos. O problema é que estamos à procura de algo parecido connosco, assumindo que eles tenham pelo menos algo como a mesma matemática e tecnologia.” “Eu suspeito que poderá existir vida e inteligência lá fora em formas que não conseguimos conceber. Tal como um chimpanzé não consegue compreender teoria quântica, poderá haver aspectos da realidade que estejam para lá da capacidade dos nossos cérebros.” Fonte: TheDailyGalaxy

quinta-feira, 13 de junho de 2013

Extra Terrestre em Uberaba???

Esclarecida a “múmia ET” de Uberaba Ela veia à tona em 2004, em circunstâncias dignas de uma história de mistério. O patriarca Wilson Estevanovic seria zelador de inúmeros artefatos, e à beira da morte teria encarregado o filho Wellington com “a missão de recolher as peças” espalhadas em caixas lacradas pelo país. “A caixa número 7 deveria ser aberta apenas sete após a morte de Wilson”, teria ordenado o pai “momentos antes de morrer”. Quando a data chegou e a tranca foi aberta, “a surpresa. Dentro havia o esqueleto mumificado de um ser com características inusitadas. A cabeça mede 97 centímetros. Da traquéia à bacia, 12 centímetros. Os olhos são desproporcionais, não há ouvido, a arcada dentária está completa e há seis dedos nos pés. Ao lado do esqueleto, na mesma caixa, uma pedra. ‘É um fragmento de meteorito com 14 quilos’, explica [Wellington], citando características da suposta ‘pedra do espaço’”. [fonte] Novas informações lançam dúvida sobre todo este mistério com a sugestão nada sutil de que o esqueleto seria uma criatura extraterrestre. Esta idéia chegou ao cúmulo quando um questionável programa de TV japonês chegou mesmo a afirmá-lo e “reconstruir” o esqueleto nas imagens vistas acima, incluindo a cor azul (!) para o suposto alienígena. Mostramos aqui que o esqueleto é em verdade original de um Museu de Antropologia em Salvador, consistindo de um caso de hidrocefalia e outras malformações. Apesar delas, é muito humano. Foi descartado por volta de 1998, ao redor da mesma época em que Wilson Estevanovic faleceu e alguns anos antes que a “múmia ET” fosse supostamente descoberta pelos seus filhos. Continue lendo para as novas fotografias e esclarecimentos. Alerta: AS IMAGENS SÃO FORTES. São exibidas aqui com o intuito de elucidar de forma conclusiva este não-mistério. ESPÉCIME DE MUSEU Acima, à esquerda, a ossada exibida no Museu Estevanovic em 2004. E à direita, fotografias tomadas por Alexandre Araújo em 1995 de uma peça que fazia parte do acervo do Museu Antropológico Estácio de Lima, no prédio do Instituto de Medicina Legal Nina Rodrigues na Bahia. “Era uma criança com hidrocefalia, fissura palatina e pés retorcidos. O interessante é que a peça começou a se desgastar, porque o método com o qual foi embalsamada não era tão eficiente. Ela já apresentava sinais de decomposição e foi retirada do acervo. Foi nessa época [1995] que eu a fotografei. E então, em uma visita ao museu em 1998, foi-me dito que a criança com hidrocefalia havia sido ‘descartada’ do acervo porque se estragou bastante”, conta Araújo. “Após ver a ‘múmia dos Estevanovic’, descobri que uma integrante da família estudava biologia na UFBA. Assim, creio que foi dessa forma que o circo [Estevanovic] adquiriu sua múmia, e que a ossada já bastante decomposta é a mesma do Museu Estácio de Lima. Apenas um caso de hidrocefalia com outras teratologias”. Araújo complementa que “as fotos que possuo também apresentam os dois dentes incisivos num apêndice na fissura palatina e a ausência de nariz. É impressionante a semelhança, apenas, na foto, a criança ainda possui pele, cabelos e está mais conservada do que na ossada. Não posso afirmar, mas é muita coincidência que uma neta de Wilson Estevanovic, Veruska Estevanovic, estude biologia em Salvador, na UFBA, e que o Museu Estácio de Lima, na mesma cidade, tenha descartado a peça do acervo por volta de 1998, justamente quando os Estevanovic alegam terem ‘descoberto’ a múmia entre os pertences de Wilson Estevanovic”. De fato, embora os Estevanovic contem que o esqueleto teria sido descoberto dentro da caixa em 2004, a caixa em si teria sido coletada por volta de 1997. Artigos sobre o caso na imprensa também confirmam que Veruska Estevanovic seria na época “estudante de ciências biológicas da Universidade da Bahia”. São várias coincidências. IDENTIFICADA E falando em coincidências, vale notar que não há apenas a coincidência de todas as anomalias anatômicas entre o esqueleto exibido pelos Estevanovic como misterioso e o espécime no museu em Salvador exibido anos antes, indo desde a fissura palatina aos pés varos congênitos. Como destacado na imagem mais acima, mesmo uma mancha na parte esquerda da cabeça – decorrente talvez de uma falha nas fissuras cranianas – bem como as próprias falhas na caixa craniana encontram uma combinação aparentemente perfeita. É muito pouco plausível que duas crianças partilhassem não apenas as mesmas síndromes, já raras, como estas resultassem em falhas de forma e posição idênticas. De alguma forma, esta peça saiu de um museu de medicina legal em Salvador e foi parar nas mãos dos Estevanovic em Uberaba, que alegam desconhecer sua origem e mesmo se o esqueleto seria humano. Identificada a origem do esqueleto, estas novas evidências refutam de forma definitiva as declarações de “especialistas” citados por muitos veículos ao abordar o caso, embasando os pareceres que citamos na época de que “tudo indica serem os restos mortais de uma pobre criança afligida por hidrocefalia, lábio leporino e outras deformidades congênitas”. “Pelo tamanho, a criança deve ter no máximo dois anos de idade e era portadora de uma série de malformações, a saber: hidrocefalia, lábios leporinos e raquitismo (pela deformação das tíbias). Há síndromes que podem responder por isso como sífilis congênita”, declarou-nos o médico Carlos Pompilio. A explicação se soma às informações fornecidas na época pelo doutor Paulo Bandarra, que chegou mesmo a indicar outro caso extremo de hidrocefalia, e agora complementa que “se trata do mesmíssimo caso de uma criança morta há pouco tempo, desrespeitosamente tratada como ET”. O “SUPOSTO POSSÍVEL SER EXTRATERRESTRE” Tanto alguns ufólogos quanto veículos de mídia e os Estevanovic chegaram a mencionar a possibilidade de que fosse uma combinação de malformações, mas insistiram na mesma medida que se deveria considerar que talvez fosse um extraterrestre. Nossas negativas veementes de tal tipo de especulação irresponsável chegaram mesmo a ser classificadas de “comodistas”. Teríamos a mente fechada, seríamos “muito céticos”. Advertimos que “o prudente e ético a fazer seria sim analisar a ossada, mas declarações públicas conscientes devem contrariar qualquer tipo de especulação. As chances e conseqüências morais de que o caso aqui envolva a exploração vil do sofrimento humano superam e muito as ínfimas chances de que se confirme ser algo contrário”. Exemplares de teratologias humanas são conservados e exibidos em museus de medicina para fins educacionais. No entanto os fins educacionais de exibir a peça em um museu itinerante para crianças, com sugestões insistentes de que seria misteriosa e a especulação livre de que poderia ser mesmo extraterrestre são muito questionáveis. Contatamos Wellington Estevanovic a respeito destas novas informações. Estevanovic foi enfático ao negar que tenha afirmado alguma vez que o esqueleto fosse extraterrestre, disse ignorar a origem do material, e culpou aos ufólogos por explorar o caso. Fato é que todos que defendem que os restos mortais seriam de um alienígena incorrem no que pode ser mesmo vilipêndio ao cadáver. A imagem da criança em decomposição, com orelhas, cabelos e as pálpebras entreabertas deve assombrar aqueles que prefeririam que fosse um alienígena azul sem orelhas. Não bastasse a morte prematura da criança, alguns teimam em desumanizá-la. É nossa esperança que seu rosto nada azul encerre as especulações inconseqüentes a seu respeito. [Com enormes agradecimentos a Alexandre Araújo, que efetivamente identificou o esqueleto, e a consultoria de Carlos Pompilio e Paulo Bandarra]

sábado, 18 de fevereiro de 2012

domingo, 12 de junho de 2011

PROBLEMAS AO MONTAR UM SERVIDOR

OBS.: OS CRÉDITOS DESTE TEXTO NÃO SÃO MEUS E SIM DE JOÃO PAULO LIMA

Ola amigos tive varios problemas na montagem de um servidor e gostaria de compartilhar com todos para se alguem tiver o mesmo problema nao tiver as mesmas dificuldades que eu.

hardware utilizado

01 placa mae intel s5500hcvr

2 x processador Quad-Core Intel Xeon E5630 2.53Ghz

16 GB de memória DDR-3 corsair

10 hd sas 2tb

01 controladora raid adaptec 5805

01 fonte redundante hp Dl360

software

windows server 2008 64bits

1° problema

A placa mae intel s5500hcvr mede 33cm e não serve em qualquer gabinete tem que ser gabinete atx-e.

2° problema

fonte redundante hp Dl360 não e compatível com a placa mae intel s5500hcvr tive que trocar por uma atx xfx real de 700w.

3° problema

A controladora raid adaptec 5805 não reconhecia no computador voce precisa apertar ctrl + a para entrar na bios dela porem ela não reconhecia, descobri que ela so funciona no slot pci-e 1 que e o mais próximo do processador.

4° problema

Eu instalei o sistema operacional e quando ela aparecia mensagem que ia reiniciar não reiniciava e após reiniciar manualmente a maquina não carregava o desktop, somente se entrasse em modo seguro, após varias tentativas e formatações descobri que a placa mae intel s5500hcvr so instala o sistema operacional se tiver uma rede conectada em uma das 2 placas de rede dela, assim resolvi este problema.

5° problema

Após formatar descobri que o sistema criou uma partição de 2tb e o restante 5 tb em outra partição não alocada, e os outros 3 tb o raid 5 utilizou, estes 5 tb não consegui criar partição ele so dava mensagem de não alocada, após varias tentativas descobri que para resolver este problema voce cria um array com 1 hd 2tb para o sistema e o restante voce cria um segundo array na instalação do sistema operacional antes de criar as partições tem que pressionar as teclas shift + f10 dai vai abrir prompt de comando ai voce da o comando diskpart depois list disk depois select disk 1 que e o segundo disco (observe o numero do disco no meu caso era 1) depois convert gpt, dai ele converte o disco em gpt, após instalar o sistema normalmente na partição que não foi alterada de 2tb voce vai no manage de discos no sistema operacional e voce aloca a partição.

quinta-feira, 11 de novembro de 2010

Utilizando o FPDF

Nesse artigo iremos aprender a gerar um arquivo PDF com nosso querido PHP. Para isso, utilizaremos a biblioteca FPDF que se encontra em:

http://www.fpdf.org

Caso tenha alguma dúvida, faça veja o manual do FDPF no site dele:

http://www.fpdf.org/en/download.php

Tem inclusive uma versão em português.

Os métodos aqui utilizados estão todos explicados nos comentários do código.

Vamos lá:

 
SetFont('arial','',10);

//define o titulo
$pdf->SetTitle("Testando PDF com PHP !");

//assunto
$pdf->SetSubject("assunto deste artigo!");

// posicao vertical no caso -1.. e o limite da margem
$pdf->SetY("-1");
$titulo="Titulo do Artigo";

//escreve no pdf largura,altura,conteudo,borda,quebra de linha,alinhamento
$pdf->Cell(0,5,$titulo,0,0,'L');
$pdf->Cell(0,5,'http://www.seusite.com.br',0,1,'R');
$pdf->Cell(0,0,'',1,1,'L');
$pdf->Ln(8);

//hora do conteudo do artigo
$pdf->SetFont('arial','',8);
$novo="A Agência Nacional de Aviação Civil (Anac) informou, nesta segunda-feira (2), que vai investigar se as companhias áereas têm culpa pelos atrasos e cancelamentos registrados durante o fim de semana.
No sábado (30), o percentual de vôos com mais de uma hora de atrasos chegou a 45,2%. No domingo (1º), até as 19h30, 36% dos vôos tiveram atrasos.
";

//posiciona verticalmente 21mm
$pdf->SetY("21");

//posiciona horizontalmente 30mm
$pdf->SetX("30");

//escreve o conteudo de novo.. parametros posicao inicial,altura,conteudo(*texto),borda,quebra de linha,alinhamento
$pdf->MultiCell(0,5,$novo,0,1,'J');

$novo="
Nesta segunda-feira, a situação começou a se normalizar, mas ainda há registro de problemas. Até as 10h, dos 623 vôos previstos nos 13 principais aeroportos brasileiros, 126 tiveram atrasos de mais de uma hora, segundo balanço divulgado pela Infraero, a estatal que administra os terminais aéreos. O número equivale a 20,2% do total. Quarenta e seis decolagens foram canceladas (7,3%).
Os terminais que tiveram maiores percentuais de atrasos foram os do Recife (PE) e de Fortaleza (CE). Na Capital de Pernambuco, oito dos 24 vôos marcados até as 10h atrasaram mais de uma hora (33,3% do total). No terminal cearense, oito das 25 partidas ocorreram fora
O terminal que registrou maior índice de cancelamentos foi o de Curitiba (PR). Das 22 decolagens programadas, quatro foram canceladas (18,1%).
A assessoria de Infraero informa que os atrasos são conseqüência dos transtornos do fim de semana. Muitos vôos tiveram que ser remarcados para o início desta semana.
Previsão - O presidente da Infraero, brigadeiro José Carlos Pereira, também foi prejudicado pela crise aérea. Ele tinha uma viagem marcada de Brasília para o Rio às 7h desta segunda, mas o avião só decolou às 9h59.
Apesar do transtorno, ele disse que as operações estão ocorrendo normalmente nos principais aeroportos do país e a situação deve se normalizar até as 14h.
";

//posiciona verticalmente 41mm
$pdf->SetY("41");

//posiciona horizontalmente 10mm
$pdf->SetX("10");

//escreve o conteudo de novo.. parametros posicao inicial,altura,conteudo(*texto),borda,quebra de linha,alinhamento
$pdf->MultiCell(0,5,$novo,0,1,'J');

//endereco da imagem,posicao X(horizontal),posicao Y(vertical), tamanho altura, tamanho largura
$pdf->Image("teste.jpg", 8,20,20,20);

/*******definindo o rodapé*************************/
//posiciona verticalmente 270mm
$pdf->SetY("270");

//data atual
$data=date("d/m/Y");
$conteudo="criado em ".$data;
$texto="por Alexandre Oliveira";

//imprime uma celula... largura,altura, texto,borda,quebra de linha, alinhamento
$pdf->Cell(0,0,'',1,1,'L');

//imprime uma celula... largura,altura, texto,borda,quebra de linha, alinhamento
$pdf->Cell(0,5,$texto,0,0,'L');

//imprime uma celula... largura,altura, texto,borda,quebra de linha, alinhamento
$pdf->Cell(0,5,$conteudo,0,1,'R');

//imprime a saida do arquivo..
$pdf->Output("arquivo","I");

/*
agora imaginem que estes dados viessem do banco de dados ?
que maravilha hein ! seus artigos convertidos em pdf dinamicamente hein?

REFERENCIAS :

FPDF - >Esta é o construtor da classe. Ele permite que seja definido o formato da página, a orientação e a unidade de medida usada em todos os métodos (exeto para tamanhos de fonte).

utilizacao : FPDF([string orientation [, string unit [, mixed format]]])

SetFont -> Define a fonte que será usada para imprimir os caracteres de texto. É obrigatória a chamada, ao menos uma vez, deste método antes de imprimir o texto ou o documento resultante não será válido.

utilizacao : SetFont(string family [, string style [, float size]])

SetTitle - >Define o título do documento.

utilizacao : SetTitle(string title)

SetSubject -> Define o assunto do documento

utilizacao : SetSubject(string subject)

SetX - >Define a abscissa da posição corrente. Se o valor passado for negativo, ele será relativo à margem direita da página.

utilizacao : SetX(float x)

SetY - > Move a abscissa atual de volta para margem esquerda e define a ordenada. Se o valor passado for negativo, ele será relativo a margem inferior da página.

utilizacao : SetY(float y)

Cell - > Imprime uma célula (área retangular) com bordas opcionais, cor de fundo e texto. O canto superior-esquerdo da célula corresponde à posição atual. O texto pode ser alinhado ou centralizado. Depois de chamada, a posição atual se move para a direita ou para a linha seguinte. É possível pôr um link no texto.

Se a quebra de página automática está habilitada e a pilha for além do limite, uma quebra de página é feita antes da impressão.

utilizacao - >Cell(float w [, float h [, string txt [, mixed border [, int ln [, string align [, int fill [, mixed link]]]]]]])

Ln - > Faz uma quebra de linha. A abscissa corrente volta para a margem esquerda e a ordenada é somada ao valor passado como parâmetro.

utilizacao ->Ln([float h])

MultiCell - > Este método permite imprimir um texto com quebras de linha. Podem ser automática (assim que o texto alcança a margem direita da célula) ou explícita (através do caracter n). Serão geradas tantas células quantas forem necessárias, uma abaixo da outra.

O texto pode ser alinhado, centralizado ou justificado. O bloco de células podem ter borda e um fundo colorido.

utilizacao : MultiCell(float w, float h, string txt [, mixed border [, string align [, int fill]]])

Image ->Coloca uma imagem na página - tipos suportados JPG PNG

utilizacao : Image(string file, float x, float y [, float w [, float h [, string type [, mixed link]]]])

Bom mais uma vez.. agradeço se for útil..

*/
?>

sábado, 4 de setembro de 2010

TECNOLOGIAS APLICÁVEIS AO DELPHI 7

Quando executamos o Delphi® 7, deparamo-nos com uma coleção de páginas organizadas numa paleta contendo centenas de componentes visuais e não visuais. Para quem é neófito no uso dessa ferramenta, dependendo da pessoa, isso pode ser desencorajador ou, contrariamente, desafiante. Até para mim, que já uso o Delphi há alguns anos, todo esse arsenal de recursos ainda apresentava uma certa nublagem.

As questões que me surgiam eram: qual das tecnologias presentes no Delphi é adequada para que propósitos? Quais as relações entre as centenas de siglas existentes neste planeta interconectado e as maneiras de trabalhar, no Delphi, com os recursos que elas representam? Quais dessas tecnologias vão permanecer e quais estão em processo de mutação ou substituição, notadamente para integração às novas plataformas (.NET, por exemplo) e novas concepções do mundo digital (software livre, sistemas independentes de plataforma, etc.)?

O compêndio a seguir visa reunir alguns aspectos marcantes dessas tecnologias, e foi elaborado a partir do livro Dominando o Delphi 7, de Marco Cantù. Essa obra, bastante extensa, considerada “a Bíblia” do Delphi, assim mesmo não alcança toda a profundidade e extensão dos recursos oferecidos por esse ambiente de desenvolvimento, tal a sua abrangência.

Quando produzi este material, tinha em mente apenas a minha própria orientação, mas, ao finalizá-lo, percebi que se foi útil para esclarecer alguns dos meus questionamentos, também poderia (e deveria) ser disponibilizado para a comunidade de desenvolvedores Delphi e quem mais tivesse interesse no tema. Afinal, conhecimento não disseminado não produz energia.

Ao final do artigo, temos um diagrama que mostra visualmente essas relações.


· ODBC (Open DataBase Connectivity):
§ Conectividade de banco de dados aberta, da Microsoft.

§ A Microsoft começou a substituir o ODBC pelo OLE DB em meados dos anos 90, através do COM.

§ É grande, complexo, impõe maiores demandas sobre programador e exige um nível mais alto de conhecimento, em troca de uma produtividade menor.

§ É destinado a ser usado por programadores em nível de sistema operacional.

§ O ADO é a camada sobre o OLE DB e é referido como uma interface em nível de aplicativo, sendo mais simples que esse.


· IDAPI (Integrated DataBase Application Programming Interface): interface de programação de aplicativo de banco de dados integrada, da Borland, mais conhecida como BDE.

· SOAP (Simple Object Access Protocol – protocolo de acesso a objetos simples):
§ Integrante da estrutura de WebServices (vide WDSL).

§ Criado com base no HTTP-padrão para que um servidor Web pudesse manipular os pedidos SOAP e os pacotes de dados relacionados pudessem passar por firewalls.

§ Define uma notação baseada em XML para solicitar a execução de um método por um objeto no servidor, passando parâmetros para ele, e uma notação para definir o formato de uma resposta.

§ É uma pedra fundamental da arquitetura .NET DA Microsoft e também das plataformas atuais da Sun e da Oracle.

§ O SOAP substituirá as chamadas ao COM, pelo menos entre computadores diferentes.


· WDSL (WebServices Description Language – linguagem de descrição de serviços para a Web):
§ Integrante da estrutura de WebServices.

§ Substituirá a IDL e as bibliotecas de tipo usadas pelo COM/COM+.

§ Os documentos WDSL são outro tipo de documento XML que fornece a definição de metadados de uma requisição SOAP.

§ Um WebService normalmente está contido em um servidor Web que usa uma das tecnologias de extensão de servidor Web disponíveis (CGI, ISAPI, módulos Apache e outras).

§ Um módulo WebServices contém pelo menos três componentes básicos:
a) HTTPSoapDispatcher: recebe a requisição da Web, como qualquer outro distribuidor HTTP.

b) HTTPSoapPascalInvoker: realiza a operação inversa do componente HTTPRIO, pois ele pode transformar requisições SOAP em chamadas a interfaces Pascal (em vez de transformar chamadas a métodos de interfaces em requisições SOAP).

c) WSDLHTMLPublish: pode ser usado para extrair a definição WSDL do serviço das interfaces que ele suporta e executar o papel oposto do WebServices Import Wizard.

· Indy (Internet Direct):
§ A página Internet da paleta de componentes do Delphi contém os componentes TcpClient e TcpServer, desenvolvidos em substituição a ClientSocket e ServerSocket, disponíveis em versões anteriores do Delphi. A Borland sugere o uso dos componentes Indy correspondentes.

§ A paleta Indy tem mais de cem componentes. Esses componentes usam exclusivamente conexões com bloqueio (blocking).

§ A base do trabalho com soquetes é o protocolo TCP/IP. Cada conexão de soquete é composto por um endereço IP e a porta TCP. As portas mais comuns são: 80-HTTP; 21-FTP; 25-SMTP; 110-POP3; 23-TelNet. O arquivo services lista as portas padrão.

§ Existem três tipos de conexão:
a) de cliente: são iniciadas pelo cliente e conectam um soquete cliente local a um soquete servidor remoto.

b) de escuta (listening connections): são soquetes servidores passivos esperando por clientes. Quando um cliente faz uma requisição, o servidor gera um soquete dedicado a essa conexão específica e, em seguida, volta ao estado de escuta. Os servidores de escuta indicam a porta que representa o serviço que fornecem.

c) as conexões de servidor são conexões ativadas por servidores, pois elas aceitam uma requisição de um cliente.

§ Os componentes TCP do Indy são: IdTCPClient e IdTCPServer. Coloca-se um deles em um programa e o outro em um programa diferente, configurando-os para a mesma porta e deixa-se que o programa cliente consulte o programa servidor.

§ Os sockets também podem ser usados para operações em bancos de dados remotos, usando DataSnap e SOAP. São adequados para uso em correio eletrônico, protocolos HTTP.

§ Através dos componentes produtores de HTML do Delphi, presentes na paleta Internet, é possível gerar tabelas HTML a partir de tabelas de bancos de dados, usando a tecnologia WebBroker:
a) PageProducer: manipula arquivos HTML nos quais foram incorporadas tags especiais.

b) DataSetPageProducer: extensão do PageProducer, substituindo automaticamente as tags correspondentes aos nomes de campo de uma fonte de dados conectada.

c) DataSetTableProducer: útil para apresentar o conteúdo de uma tabela, consulta o outro conjunto de dados, com pré-visualização em tempo de projeto..

d) QueryTableProducer e SQLQueryTableProducer: são especificamente personalizados para a construção de consultas paramétricas (para o BDE ou dbExpress).


· DataSnap:
§ Arquitetura de multicamada (multitier) física:
a) servidor de dados: instalação e configuração de acesso ao banco de dados;
b) servidor de aplicativos: comunicam-se com o servidor de dados;
c) clientes magros: não se comunicam diretamente com o servidor de banco de dados, mas com o servidor de aplicativos).
§ A vantagem dessa arquitetura é que a configuração do acesso ao banco de dados precisa ser instalada apenas no servidor de aplicativos.

§ Essa arquitetura era chamada Midas.

§ Com o Delphi 7, não é preciso pagar taxa de distribuição para os aplicativos DataSnap.

§ Desenvolvimento cliente/servidor: o banco de dados e o mecanismo de acesso ficam no servidor, reduzindo a necessidade de processamento nos clientes.

§ Exige instalação de bibliotecas específicas na camada intermediária que fornece a seus computadores clientes os dados extraídos do servidor de banco de dados.

§ Não exige um servidor SQL para armazenamento dos dados. Pode servir dados de uma variedade de fontes, incluindo SQL, CORBA e outros servidores DataSnap.

§ Suporta os seguintes protocolos e conexões:
a) DCOM (COM Distribuído), e COM sem estados (MTS ou COM+): oferecem recursos como segurança, gerenciamento de componentes e transações de bancos de dados. Devido a problemas de passagem através de firewalls, até a Microsoft está abandonando o DCOM em favor de soluções baseadas em SOAP.

b) Soquetes TCP/IP: distribuição de clientes através da Web onde não se pode contar com DCOM. Para isso, o computador da camada intermediária deve executar o ScktSrvr.exe, fornecido pela Borland, como aplicativo ou serviço, que recebe os pedidos dos clientes e os encaminha para o módulo de dados remoto, usando COM. Os soquetes não fornecem proteção contra falhas no lado cliente, pois o servidor não é informado e pode não liberar recursos quando um cliente desligar inesperadamente. Apresenta problemas com firewalls.

c) HTTP e SOAP: HTTP simplifica conexões através de firewalls ou servidores proxy (que não gostam de soquetes TCP/IP personalizados). Nesse caso, usa-se um aplicativo servidor Web específico, httpsrvr.dll, que aceite requisições de clientes e cria-se os módulos de dados remotos apropriados, usando COM. Essas conexões Web podem usar segurança SSL. As conexões Web baseadas no transporte HTTP podem usar o suporte de pooling de objetos do DataSnap.

§ O transporte HTTP do DataSnap pode usar XML como formato de pacote de dados, permitindo que qualquer plataforma ou ferramenta que possa ler XML participe. O uso de XML sob HTTP também é a base do SOAP.
§ O componente DCOMConnection pode ser usado no lado cliente para se conectar a um servidor DCOM e MTS, localizado no computador atual ou em outro computador indicado pela propriedade ComputerName. A conexão se dá com um objeto registrado que tem determinado ServerGUID ou ServerName.

§ O componente SocketConnection pode ser usado para se conectar com o servidor por meio de TCP/IP. Deve-se indicar o endereço IP ou o nome do host, e o IntercepGUID do objeto servidor.

§ O componente WebConnection é usado para manipular uma conexão HTTP, que pode passar por um firewall facilmente. Deve ser indicada a URL na qual sua cópia do arquivo httpsrvr.dll está localizada e o nome ou GUID do objeto remoto no servidor.

§ O componente ConnectionBroker pode ser usado como um alias de um componente de conexão real, o que é útil quando se tem um único aplicativo com múltiplos conjuntos de dados-cliente. Para mudar a conexão física de cada um dos conjuntos de dados, basta mudar a propriedade Connection.

§ O componente SharedConnection permite que um aplicativo conecte-se a múltiplos módulos de dados do servidor, com uma única conexão compartilhada.

§ O componente LocalConnection pode ser usado para fazer com que um provedor de conjuntos de dados local atue como a fonte do pacote de dados, permitindo escrever um aplicativo local com o mesmo código de um aplicativo multicamada complexo.

§ Os componentes XMLTransform, XMLTransformProvider e XMLTransformClient se relacionam com a transformação do pacote de dados DataSnap em formatos XML personalizados.

§ O recurso de pooling permite que se compartilhe alguns objetos da camada intermediária entre um número muito maior de clientes, porque quando um cliente não está chamando um método do objeto camada intermediária, esse mesmo módulo remoto pode ser usado para um outro cliente.


· UDDI (Universal Description, Discovery and Integration – descrição, descoberta e integração universais):
§ Esforço para criar um catálogo de serviços Web oferecido por empresas de todo o planeta, objetivando criar uma estrutura aberta, global e independente de plataforma para que as entidades de negócios se encontrem, definam como interagem com a rede Internet e compartilhem de um registro global de negócios, agilizando a adoção do comércio eletrônico na forma de B2B (business to business).

§ Basicamente é um registro global de negócios, incluindo:
a) White Pages: informações de contato, endereços e outras informações.

b) Yellow Pages: registra a empresa em uma ou mais taxonomias, incluindo a categoria industrial, produtos vendidos, informações geográficas e outras.

c) Green Pages: relaciona os serviços Web oferecidos pelas empresas. Cada serviço é relacionado por tipo (chamado Tmodel).

§ A API UDDI se baseia no SOAP.

§ O Delphi 7 inclui um navegador UDDI que você pode usar para localizar um serviço Web ao importar um arquivo WSDL.

· IntraWeb: Desenvolvimento de aplicativos para Web (não sites Web).
§ Propõe-se a programadores que querem apenas criar aplicativos Web no Delphi da maneira como eles criavam aplicativos VCL ou CLX.

§ Os aplicativos criados podem ser usados em um programa WebBroker ou WebSnap.

§ Arquitetura relativamente aberta (o código fonte pode ser adquirido).

§ Disponível para Delphi, Kylix, C++ Builder, Java e .NET (esta última em andamento).

§ Aplicativos IntraWeb podem ser totalmente independentes de plataforma, dependendo de como são desenvolvidos.

§ Ao se trabalhar com WebBroker ou WebSnap, faz-se isso muito no nível de geração de HTML. Quando se trabalha com IntraWeb, faz-se isso em termos de componentes, de suas propriedades e de seus manipuladores de evento, como faz no desenvolvimento visual do Delphi.

§ Podem ser usadas diferentes arquiteturas para criar e implantar aplicativos: o modo application leva em conta todos os recursos da IntraWeb, e pode ser implantado como biblioteca ISAPI, módulos Apache ou modo standalone da IntraWeb. O modo page é uma versão simplificada que você pode ligar aos aplicativos Delphi WebBroker ou WebSnap existentes, e pode ser implantado como ISAPI, Apache, CGI, etc.

§ Incorpora gerenciamento de sessões pré-definido e simplifica o trabalho com elas.

§ Integra-se com WebBroker e WebSnap.


· ModelMaker: Ambiente de Projeto: UML (Unified Modeling Language): ferramenta CASE e de diagramação em UML de ciclo completo extensível, personalizável e específica do Delphi.

· Rave Reports: Geração de Relatórios.

· CLX (Component Library for Cross-Platform): Criação de Sistemas que funcionam em ambientes Windows e Linux (independente de plataforma)

· .NET
§ O Runtime Enviroment da estrutura .NET pode ser baixado gratuitamente no site Web MSDN da Microsoft. O .NET Framework SDK (Software Development Kit), que é mais completo e inclui documentação e ferramentas para desenvolvedores também pode ser baixado dali. Antes de rodar o Delphi for .NET Preview, uma dessas estruturas deve estar instalada.

§ Sob o ponto de vista do programador, o recurso básico da plataforma .NET é o seu ambiente gerenciado, que permite a execução de código intermediário compilado por várias linguagens de programação diferentes (desde que sejam compatíveis com uma definição comum para os tipos de dados básicos). Esse ambiente incorpora muitos recursos, que variam do gerenciamento de memória sofisticado à segurança integrada.

§ A biblioteca de classes cobre diversas áreas de desenvolvimento (formulários baseados no Windows, desenvolvimento para a Web, desenvolvimento de serviços Web, processamento XML, acesso a bancos de dados e muito mais).

§ CLI (Common Language Infrastructure – infra-estrutura de linguagens comum): compreende:
a) CTS (Common Type System – sistema de tipos comuns): cria a fundação para integrar linguagens de programação diferentes. Ela especifica como os tipos são declarados e usados, e os compiladores de linguagem devem ser compatíveis com essa especificação, para aproveitar a integração independente de linguagem da plataforma .NET.

b) Extensible Metadata (metadados extensíveis): Cada unidade (assembly) deve trazer com ela os dados que a identificam completamente (nome, versão, cultura e chave pública opcionais), os dados que descrevem os tipos definidos, os dados que relacionam os outros arquivos referenciados e todas as permissões especiais de segurança exigidas. Pode conter ainda outros elementos.

c) CIL (Common Intermediate Language – linguagem intermediária comum): é a linguagem de programação de um ambiente de execução virtual com um microprocessador abstrato. Os compiladores que têm como destino a plataforma .NET não geram instruções de CPU nativas, mas instruções na linguagem intermediária do processador abstrato. É semelhane aos bytecodes da Java.

d) P/Invoque (Platform Invocation Services – serviços de chamadas de plataforma): Os programas executados no ambiente em tempo de execução da .NET são reproduzidos em sua própria sandbox particular. Existe uma camada grande e complicada de software entre os programas e o sistema operacional. O embiente de execução da .NET não substitui completamente a API Win32, de modo que deve haver uma maneira de fazer a ponte entre os dois mundos.

e) FCL (Framework Class Library – bibliotecas de classe da estrutura): é uma hierarquia de classes semelhante à VCL. Todas as classes, numa aplicação Delphi .NET devem ser herdadas da .NET Fx.

f) PE (Extended Portable Executable – executável portátil extendido): formato usado pelos arquivos-padrão executáveis do Win32 – para dar suporte aos requisitos de metadados da CLI. Assim, o sistema operacional pode carregar um aplicativo .NET da mesma forma que carrega um aplicativo Win32 nativo.

§ CLR (Common Language Runtime – ambiente de tempo de execução de linguagens comum): a CLI é uma especificação e o CLR é a implementação daquela. É uma biblioteca runtime que unifica a grande variedade de serviços oferecidos pelo sistema Operacional Windows e os apresenta ao programador dentro de uma estrutura orientada a objetos. É responsável por todo o universo .NET: carregamento da imagem executável, verificação de sua identidade e segurança quanto a tipos de dados, compilação do código CIL em instruções nativas de CPU e gerenciamento do aplicativo durante sua vida útil. O código CIL que deve ser executado no CLR é chamado de código gerenciado, enquanto o código restante (como o código executável Intel produzido pelo Delphi 7) é não gerenciado.

§ CLS (Common Language Specification – especificação de linguagens comum): é um subconjunto da CTS, definindo regras que governam o modo como os tipos criados nas diferentes linguagens de programação podem interoperar.

· OLE/COM/COM+/DCOM (Distributed Component Object Model):
§ Tecnologia que define uma maneira-padrão para um módulo (aplicativo ou biblioteca) cliente e um servidor se comunicarem, por meio de uma interface específica. Ex.: geração de dados para Excel, Word, AutoCad, um webbrowser, etc.

§ A página Servers da paleta de componentes do Delphi tem os principais servidores de automação DCOM. Os controles ActiveX podem também ser desenvolvidos no Delphi.

· InterBase Express (IBX):
§ Não é um mecanismo de banco de dados independente de servidor, mas um conjunto de componentes para acessar um servidor de banco de dados específico.

§ Esse conjunto de componentes aplica-se a diferentes ambientes (Delphi, Oracle) e plataformas (Linux).

§ Oferecem melhor desempenho e controle, à custa de flexibilidade e portabilidade.

§ Transações: Cada operação de edição/postagem é considerada uma transação implícita, mas deve-se alterar esse comportamento manipulando as transações implicitamente. Deve-se evitar as transações que esperam entrada do usuário para serem concluídas, pois o usuário poderia ficar foram indefinidamente e a transação permaneceria ativa por um longo tempo, consumindo peformance do sistema. Deve-se isolar cada transação corretamente, por meio do nível de isolamento SnapShot para relatórios e ReadCommited para formulários interativos. Uma transação começa automaticamente quanto você edita qualquer conjunto de dados ligados a ela. O comando CommitRetaining não abre uma nova transação, mas permite que a transação atual permaneça aberta.

§ Componentes Ibx: IbSQL: executa instruções SQL que não retornam um conjunto de dados (instruções DDL ou instruções update e delete); IbDataBaseInfo: consultar estrutura e status do banco de dados; IbSqlMonitor: depurador do sistema (o SQL monitor do Delphi é específico para o BDE); IbEvents: recebe eventos enviados pelo servidor.


· Midas (Middle-tier Distributed Applications Services):
§ Serviços de aplicativos distribuídos de camada intermediária.

§ Vide DataSnap.


· WebBroker:
§ Permite a geração páginas HTML com relatórios dinâmicos, a partir de bancos de dados, incluindo contadores de acesso, pesquisas interativas, etc.

· WebSnap:
§ Complementa a base fornecida pelo WebBroker. A diferença básica é que, em vez de ter um único módulo de dados com múltiplas ações eventualmente conectadas aos componentes produtores, o WebSnap tem múltiplos módulos de dados, cada um corresondente a uma ação e tendo um componente produtor com um arquivo HTML anexado.

§ Um aplicativo WebSnap é técnicamente um programa CGI, um módulo ISAPI ou Apache.

§ As vantagens em relação ao WebBroker: permite que cada um de vários módulos Web corresponda a uma página, a integração de script no lado servidor, a XLS (Extensible Stylesheet Language – linguagem de folhas de estilo extensível) e a tecnologia Internet Express. Além disso, existem muitos outros componentes prontos para manipular tarefas comuns, como login de usuários, gerenciamento de sessões, permissões, etc.

§ Oferece um bom suporte à manipulação de conjuntos de dados: o DataSetAdapter conecta-se a um conjunto de dados, através de um ClientDataSet e exibe seus valores em um formulário ou tabela, por meio do editor visual do componente AdapterPageProducer.

§ Além de visualização, permite edição dos dados de formulários.

§ Permite relacionamentos mestre/detalhe.


· ActiveX:
§ Evolução da tecnologia VBX (16 Bits, Delphi 1): componentes da Microsoft para Visual Basic, quando passou a se chamar OLE, ou OCX (que é a extensão usada).

§ Os controles típicos Windows usam uma interface baseada em mensagens, enquanto os objetos de Automação e os controles ActiveX usam propriedades, métodos e eventos (como os objetos do Delphi).

§ Mesmos componentes ActiveX podem ser usados em vários ambientes de desenvolvimento, como Delphi, Borland C++ Builder, etc.


· dbExpress (DBX):
§ Tecnologia de Acesso a Banco de Dados, sem depender do BDE.

§ É chamada camada ‘magra’ de acesso a banco de dados, substituindo o BDE.

§ Baseia-se no componente ClientDataSet (paleta Data Access), o qual tem a capacidade de salvar tabelas em arquivos locais – algo que a Borland tenta vender com o nome de MyBase.

§ Disponível para as plataformas Windows e Linux.

§ Basicamente não exigem nenhuma configuração nas máquinas dos usuários finais.

§ Limitada em termos de recursos: pode acessar apenas servidores SQL (nada de arquivos locais, só se salvá-los localmente); não tem recursos de cache e oferece apenas acesso unidirecional (só para consultas, não inclui, altera, exclui, etc.)

§ Indicada para produção de relatórios em HTML (só consultas).

§ Para uso numa interface de edição de dados, deve ser usado juntamente com um componente Provider (cache e queries), que pode importar dados. É útil para arquiteturas cliente/servidor ou de múltiplas camadas.

§ Acessa muitos mecanismos de bancos de dados diferentes: Interbase, Oracle, MySql (Linux), Informix, Db2, Ms SQL Server, mas enfrenta alguns problemas de diferenças de dialeto SQL.


· ADO (ActiveX Data Objects):
§ Interface de alto nível da Microsoft para acesso a banco de dados.

§ Implementado na tecnologia de acesso a dados OLE DB da Microsoft.

§ Acessa banco de dados relacionais, não relacionais, sistemas de arquivos, e-mail e objetos corporativos personalizados.

§ Independe de servidor de banco de dados, com suporte a servidores locais e SQL.

§ Mecanismo pesado e configuração simplificada. O tamanho da instalação do MDAC (Microsoft Data Access Components) atualiza grandes partes do sistema operacional.

§ Compatibilidade limitada entre versões: obriga o usuário a atualizar os computadores para a mesma versão que utilizou para desenvolver o programa.

§ Apresenta vantagens para quem usa Access ou SQL Server, oferecendo melhor qualidade de drivers que os dos provedores de OLE DB normais.

§ Não serve para desenvolvimento independente de plataforma: não disponível no Linux ou em outros sistemas operacionais.

§ O pacote ADO foi denominado pela Borland de dbGo, e seus componentes principais são: ADOConnection (para conexão ao banco de dados), ADOCommand (para execução de comandos SQL) e ADODataSet (para execução de requisições que retornam um conjunto de resultados). Além desses, existem 3 componetes de compatibilidade: ADOTable, ADOQuery e ADOStoredProc, que podem ser usados para portar aplicativos baseados no BDE. E ainda há o componente RDSConnection, que permite acessar dados em aplicativos multicamadas (multitier) remotos.

§ A Microsoft está substituindo o ADO pela sua versão .NET, a qual se baseia nos mesmos conceitos básicos. Assim, o uso do ADO pode fornecer uma boa preparação para quem caminha na direção de aplicativos .NET nativos (embora a Borland também planeje portar o dbExpress para aquela plataforma).


· ADO .NET:
§ Evolução significativa da ADO, para a arquitetura .NET, voltada a desenvolvimento para a Web.

§ Supre as falhas do COM, que é a base da ADO como por exemplo:

a) o COM é inaceitável como mecanismo de transporte;

b) o COM só roda em ambiente Windows;

c) o COM não penetra firewalls corporativos.

§ A solução para os problemas da ADO veio com o uso de XML.


· ASP .NET:
§ Adoção da arquitetura .NET, voltada a desenvolvimento para a Web.

· MyBase (vide dbExpress):
§ Apropriado para aplicativo de banco de dados monousuário local.

§ Para executar qualquer aplicativo que use ClientDataSet, você precisa implementar a biblioteca midas.dll, (vide Midas) que pode apresentar conflitos de versões.

§ A partir do Delphi 6, a midas.dll pode ser ligada diretamente ao executável pela unidade MidasLib (vide Midas).

§ O componente ClientDataSet suporta os formatos CDS (padrão) e XML (Extended Markup Language).


· MDAC (Microsoft Data Access Components): componentes de acesso a dados da Microsoft
§ É um guarda-chuva para as tecnologias de bancos de dados da Microsoft e inclui ADO, OLE DB, ODBC e RDS (Remote Data Services – serviços de dados remotos).

§ O MDAC é lançado independentemente e disponível para download gratuito e distribuição praticamente gratuita.

§ O Delphi 7 vem com o MDAC 2.6.

§ O MDAC SDK faz parte do Platform SDK do Windows, que pode ser baixado gratuitamente.

§ Estão inclusos no MDAC os seguintes provedores: Drivers ODBC, Jet 3.5 (Access 97), Jet 4.0 (Access e outros DB), SQL Server, Oracle, Serviços OLAP (Online Analytical Processing – processamento analítico on-line), CSV e Texto Simples.


· XML (Extensible Markup Language – Linguagem de Marcação Extensível):
§ É uma versão simplificada da SGML.

§ É extensível porque permite marcas (tags) livres, em contraste com HTML, que tem tags prédefinidas.

§ Existem duas técnicas normais para gerenciar documentos XML em programas Delphi:
a) DOM (Document Object Model – modelo de objetos documento): carrega o documento inteiro em uma árvore hierárquica de nós, permitindo leitura e manipulação.

b) SAX (Simple API for XML – API simples para XML): analisa o ocumento, chamando um evento para cada elemento desse, sem construir qualquer estrutura na memória.


· BDE (Borland Database Engine):
§ Acesso a bancos de dados locais: Paradox, dBase e servidores SQL, bem como tudo o que possa ser acessado por meio de drivers ODBC.

§ A Borland a considera obsoleta, tende a sair do ambiente Delphi.

§ A paleta BDE do Delphi 7 ainda mantém os componentes Table, Query, StoredProc e outros do BDE.


· CORBA (Common Objects Request Broken Architecture): arquitetura de agente de requisições de objetos comuns.
§ Até o Delphi 6, era um mecanismo de transporte para os aplicativos DataSnap. Devido a questões de compatibilidade com as versões mais recentes da solução CORBA da Visibroker da Borland, esse recurso foi descontinuado no Delphi 7.

§ Essa arquitetura foi redirecionada através da transformação de pacotes de dados em XML e entrega dos mesmos a um navegador Web (cria-se uma camada extra: o servidor Web recebe os dados da camada intermediária e os distribui para o cliente). É a arquitetura Internet Express.


· Internet Express: é parte da plataforma WebSnap.
§ Contém um componente-cliente chamado XMLBroker, que pode ser usado em lugar de um conjunto de dados-cliente para recuperar dados de um programa DataSnap de camada intermediária e torná-los disponíveis para um tipo específico de produtor de página, denominado InetPageProducer.

§ É uma arquitetura de quatro camadas: servidor SQL, servidor de aplicativos (o servidor DataSnap), servidor Web com um aplicativo personalizado e o navegador Web.

§ É uma tecnologia para a construção de clientes baseados em navegador, a qual permite enviar o conjunto de dados inteiro para o computador cliente, com o código HTML e algum código JavaScript para manipular o arquivo XML e exibí-lo na interface com o usuário definida pelo código HTML. É o código JavaScript que permite ao navegador exibir os dados e manipulá-los.


· CGI (Common Gateway Interface):
§ Protocolo para a programação de servidores Web, permitindo a geração de páginas HTML dinâmicas.

§ É independente de plataforma, permitindo ao navegador enviar e requisitar dados. Quando o servidor detecta uma requisição de página do aplicativo CGI, ele lança o aplicativo, passa dados de linha de comando da requisição de página para o aplicativo e, em seguida, envia a saída-padrão do aplicativo de volta para o computador-cliente.

§ Os aplicativos CGI podem ser gerados através de várias ferramentas e linguagens, inclusive o Delphi.

§ É limitado aos sistemas baseados no processador Intel.


· APIs:
§ Alternativas ao CGI são o uso das APIs de servidor Web: ISAPI (Internet Server API, da Microsoft); NSAPI (Netscape Server API) ou API Apache. Essas APIs permitem escrever uma biblioteca que o servidor carrega em seu próprio espaço de endereçamento e mantém na memória. Após carregar a DLL, o servidor API pode executar requisições individuais por meios de linhas de execução dentro do processo principal, em vez de iniciar um novo arquivo EXE para cada requisição, como no caso de aplicativos CGI, sendo ainda mais rápidas que estes.

§ No Delphi, essas tecnologias são implementadas através do WebBroker.



Creio que esta síntese possa facilitar aos usuários do Delphi na tomada de decisões, no momento do planejamento de sistemas, auxiliando na escolha das tecnologias apropriadas para os objetivos dos softwares, assim como poderá auxiliar na adequação das aplicações aos recursos de hardware e software disponibilizados pelos clientes. Não tive a pretensão de alcançar toda a abrangência do ambiente Delphi, mas somente fornecer um ponto de partida para orientar a seleção do ferramental, considerando algumas circunstâncias atuais e tendências futuras do mundo do software.

O diagrama a seguir mostra visualmente as relações entre as tecnologias, pacotes de componentes Delphi, linguagens e protocolos de comunicação.