Série de palestras ASP (7) Usando componentes e objetos
Autor:Eve Cole
Data da Última Atualização:2009-05-30 19:59:15
Os componentes ActiveX são a chave para a criação de aplicativos Web poderosos. Os componentes fornecem objetos que são usados em scripts para executar tarefas. ASP também fornece objetos internos que podem ser usados em scripts. Este tópico discute como usar objetos fornecidos por componentes, bem como objetos internos fornecidos diretamente pelo Active Server Pages.
Sobre componentes
Um componente ActiveX é um arquivo que contém código que executa uma tarefa ou conjunto de tarefas. Os componentes podem executar tarefas comuns para que você não precise criar o código para executar essas tarefas sozinho. Por exemplo, um componente ticker pode exibir as últimas cotações de ações em uma página da Web. ASP vem com componentes prontos para uso, como o componente Database Access. Obtenha componentes opcionais de desenvolvedores terceirizados. Ou você pode escrever seu próprio componente.
Você pode aproveitar os componentes como blocos de construção básicos para scripts e aplicativos baseados na Web. Basta saber como acessar o objeto fornecido pelo componente. Até mesmo um criador de scripts novato pode escrever scripts sem entender como os componentes funcionam. Em resumo, os componentes permitem escrever scripts poderosos sem aprender a programar.
Se você for um desenvolvedor de aplicativos Web, poderá encapsular a lógica de negócios escrevendo componentes. Por exemplo, você pode escrever um componente para calcular o imposto sobre vendas de um produto. Esse componente pode então ser chamado em scripts que processam pedidos de vendas. O cálculo independente das taxas de imposto durante o processamento do pedido permite atualizar apenas o componente quando o imposto sobre vendas muda em algum lugar, sem ter que alterar todo o processo de processamento. Os componentes podem ser escritos em qualquer linguagem que suporte o Component Object Model (COM), como C, C++, Java ou Visual Basic. Se você estiver familiarizado com a programação COM, o componente ActiveX é o servidor de automação. Para serem executados em um servidor Web, os componentes ActiveX não podem ter elementos de interface gráfica com o usuário, como a função MsgBox do Visual Basic.
Os componentes são reutilizáveis. Depois que um componente é instalado em um servidor Web, ele pode ser chamado a partir de um script ASP, de um aplicativo ISAPI, de outro componente no servidor ou de um programa escrito em outra linguagem compatível com COM.
Um componente de instância que gera um objeto componente é um código executável contido em uma biblioteca de vínculo dinâmico (.dll) ou arquivo executável (.exe). Um componente pode fornecer um ou mais objetos e seus métodos e propriedades. Para usar um objeto fornecido por um componente, crie uma instância do objeto e atribua a essa nova instância um nome de variável. Instâncias de objetos podem ser criadas usando o método Server.CreateObject do ASP. Em seguida, use as instruções de atribuição de variáveis da linguagem de script para nomear a instância do objeto. Ao criar uma instância de objeto, você deve fornecer o nome registrado (PROGID) da instância. Para os componentes básicos fornecidos pelo ASP, o PROGID do objeto pode ser obtido na página de referência.
Por exemplo, o componente Ad Rotator do ASP percorre anúncios gráficos. O componente Ad Rotator fornece um objeto chamado Ad Rotator, cujo PROGID é "MSWC.AdRotator". Para criar uma instância de um objeto Ad Rotator, use o seguinte comando:
VBScript:
<% Definir MeusAnúncios = Server.CreateObject("MSWC.AdRotator") %>
JScript:
<% var MeusAnúncios = Server.CreateObject("MSWC.AdRotator") %>
Se você já estiver familiarizado com VBScript ou JScript, notará que não há funções de linguagem de script para criar novas instâncias de objetos, como CreateObject em VBScript ou New em JScript. Você deve usar o método Server.CreateObject do ASP, caso contrário, o ASP não poderá rastrear o uso de objetos em linguagens de script.
Instâncias de objetos também podem ser criadas usando a tag HTML <OBJECT>. Você deve fornecer o valor do servidor para o atributo RUNAT e também fornecer o grupo de atributos de ID para o nome da variável que será usada na linguagem de script. O objeto pode ser identificado utilizando o nome de registro (PROGID) ou número de registro (CLSID). O exemplo a seguir cria uma instância do objeto Ad Rotator usando o nome registrado (PROGID):
<OBJECT RUNAT=ID do servidor=MyAd PROGID="MSWC.AdRotator"></OBJECT>
O exemplo a seguir cria uma instância do objeto Ad Rotator usando o número de registro (CLSID):
<OBJECT RUNAT=ID do servidor=Meu anúncio
CLASSID="Clsid:1621F7C0-60AC-11CF-9427-444553540000"></OBJETO>
Criando um objeto a partir de uma classe Java Os componentes ActiveX escritos na linguagem Java podem ser enviados como classes Java em vez de DLLs. Para usar Server.CreateObject para criar uma instância de um objeto de classe Java, a classe deve ser registrada como um componente COM usando o programa Javareg. Você pode então usar Server.CreateObject com PROGID ou CLSID.
Se a instância do objeto não precisar acessar objetos integrados do ASP e participar de transações, ela poderá chamar a classe Java diretamente usando o mecanismo mais simples fornecido pelo monitor Java. Você deve utilizar a máquina virtual Microsoft para Java 2.0 (fornecida pela distribuição do Internet Information Server e do Personal Web Server) para utilizar o monitor Java.
Se desejar usar um monitor para instanciar um objeto, você deverá usar o comando VBScript ou JScript GetObject e fornecer o nome completo da classe java no formato java:classname. O exemplo VBScript a seguir gera uma instância de um objeto Java Date.
<%
Data escura
Definir data = GetObject("java:java.util.Date")
%>
<p> A data é <%= date.toString() %>
Os objetos gerados pela chamada de GetObject em vez de Server.CreateObject não podem acessar objetos internos do ASP e não podem participar de transações.
Usando objetos integrados ASP
ASP fornece objetos internos que executam tarefas. Por exemplo, o objeto Request armazena referências de tabelas HTML.
Chamando Métodos de Objeto Métodos são atividades que podem ser executadas em um objeto ou usando-o. A sintaxe geral para chamar um método é:
Parâmetros Object.Method
Os parâmetros variam de método para método.
Por exemplo, você pode usar o método Write do objeto interno Response para enviar informações ao navegador seguindo as seguintes instruções:
<% Response.Write "Olá, mundo" %>
Observe que algumas linguagens de script não suportam a sintaxe Object.Method. Se a linguagem que você está usando não suportar essa sintaxe, você deverá fazer uma entrada no registro para usar essa linguagem como linguagem de script principal.
Configurando Propriedades do Objeto Propriedades são valores característicos que descrevem um objeto. As propriedades definem as características de um objeto (como o tipo de objeto) ou o estado de um objeto (como ativado ou desativado). A sintaxe geral é:
Objeto.Propriedade
Os valores das propriedades podem ser lidos e definidos. Para alguns objetos, novas propriedades também podem ser adicionadas.
Por exemplo, o componente Ad Rotator possui uma propriedade Border, que especifica se o anúncio possui uma borda e a espessura da borda. A expressão a seguir não especifica nenhuma borda:
<% MyAds.Border = 0%>
Você pode usar a diretiva de saída ASP para exibir os valores atuais de determinadas propriedades. Por exemplo, o comando a seguir retornará TRUE se o navegador ainda estiver conectado ao servidor:
<%= Response.IsClientConnected %>