Bem vindo ao SOS Designers

Faça o seu cadastro gratuito no Portal SOS Designers e tenha um acesso personalizado.

Empresas

Cadastre gratuitamente suas vagas, crie sua propria Lista de Curriculos Favoritos, e tenha um acesso personalizado.

Usuarios

Cadastre gratuitamente seu curriculo, crie sua propria Lista de Noticias Favoritas e tenha um acesso personalizado.

Área de Empresas | Vagas

Área de acesso a empresas cadastradas que desejam postar vagas de empregos no Portal e pesquisar curriculos.

Cadastre-se gratuitamente
Esqueceu a sua senha?

Área de Usuarios | Curriculos

Área do Usuario que deseja cadastrar seu curriculo e pesquisar vagas.



Cadastre-se gratuitamente
Esqueceu a sua senha?


Redes Sociais
Siga o Portal SOS Designers no Twitter Siga o Portal SOS Designers no Facebook

Flash


Você está aqui: Home » Flash » Integração Flash X ColdFusion

Integração Flash X ColdFusion


Pesquisar no Portal SOS Designers





Tempo Real



Siga o SOS Designers








pub_flash( 'http://www.sosdesigners.com/banners/mktdigital_flash_468x60.swf', 468, 60 ); " alt="Tecnoponta - 468 x 60 - webdesign" />
Integração Flash X ColdFusion

Por Ken Awamura

Nota: os arquivos deste tutorial estão disponíveis aqui para download e pode ser ser vistos funcionando em www.kencwb.com.

Neste tutorial vamos ver como o Flash pode receber dados de um banco de dados que por questões de facilidade e que provavelmente todos têm acesso à ele, será o Access. O objetivo é buscar uma listagem de nomes e URLs de alguns sites que estão armazenados neste BDs, sendo que as URLs destes sites estão formatadas com tags HTML. (As tags que o Flash pode reconhecer). O middleware usado é o Coldfusion.

Porquê o Coldfusion?

Boa e importante pergunta: o Coldfusion possui um tempo de desenvolvimento reduzido à aproximadamente 2/3 em relação às demais tecnologias, bem como uma facilidade de uso e curto tempo de aprendizagem. Após testá-lo durante 2 ou 3 dias e fazer algumas comparações com outras soluções, resolvi adotá-lo como minha solução de middleware. Existe também o fato da incorporação da Allaire pela Macromedia que só trouxe vantagens no uso do Coldfusion, mas esta é uma opinião pessoal e acredito que cada um deve tirar as suas próprias conclusões de acordo com gostos, afinidades e necessidades.

Como usar o ColdFusion?

Estou considerando para este tutorial que a pessoa que o leia já tenha um conhecimento básico do Coldfusion, porém resolvi abrir um pequeno parágrafo aqui para falar sobre os requisitos necessários para se usar o Coldfusion caso você ainda não o conheça.

Vamos começar este pequeno briefing com uma analogia com o ASP que acredito que a maioria o conhece : o ASP é uma pequena DLL que utiliza o poder do IIS e funciona como o middleware e deste modo as instruções passadas para o ASP são processadas em sua maioria via o IIS que também é o webServer. (O assunto é bem mais complexo que isso, mas serve como tempero). O Coldfusion também funciona em conjunto com um webServer, mas ele também é um webServer. Como assim? Como o Coldfusion possui um script proprietário que é o CFML - Coldfusion Markup Language, ele usa o seu próprio webServer (Coldfusion Server) para processar o que é específico do CFML e aproveita para deixar o IIS ou outro webServer para processar o que é comum aos dois, como por exemplo as variáveis CGI.

Então preciso instalar o Coldfusion Server?

Sim, mas não se assuste: atualmente existem algumas versões para o CF Server sendo que uma delas é gratuita e é a que utilizo: o Coldfusion Express que pode ser baixado no site da Allaire: http://www.allaire.com.

Como instalá-lo?

O procedimento de instalação é semelhante á qualquer pacote de software, mas lembre-se que você precisa ter um webServer previamente instalado e funcionando em seu computador : pode ser o IIS, PWS, Apache, etc.

Como configurá-lo?

A configuração básica para seu funcionamento já vem 'presetada', a única coisa que você precisará fazer é criar um DSN, pois estaremos usando um banco de dados neste tutorial.

Como criar a DSN e o que é isso?

Quando queremos acessar um banco de dados, seja com o Coldfusion, ASP, PHP, etc precisamos nos conectar à este BDs primeiro. Existem vários modos de se fazer esta conexão, via strings de conexão aonde você indica o caminho físico até o arquivo do BDs ou via uma DSN - Data Source Name onde você cria um 'alias' até o BDs, isto é, você indica o caminho até este BDs, mas o acessa através de um nome(alias), deste modo você oculta o caminho ao BDs. Existe uma grande controvérsia sobre qual opção é melhor, pois muitos dizem que strings de conexões são mais rápidas do que DSNs, mas isto é um outro assunto.

Para criar a DSN :

1. menu Start
2. Coldfusion Express / Coldfusion Express Administrator
3. entre com a sua senha
4. escolha o ítem de menu 'ODBC'. A tela aonde você criará o DSN aparecerá
5. digite 'myDSN' para o Data Source Name, pois é este o nome que utilizei
neste tutorial e click no botão 'ADD'
6. na tela seguinte click no botão 'Browse Server' do campo Data Base File,
um tipo de Explorer aparecerá aonde você irá direcionar até o local onde
se localiza o arquivo 'db1.mdb'. Click 'OK' e retorne a tela inicial.
7. pronto, seu DSN está criado e toda vez que você quiser abrir o BDs
em um arquivo CFM, isto será feito ao se referir à esta DSN.
Aonde codificar em CFML?

CFML é texto puro, então podemos usar um Notepad, mas o Coldfusion possui um editor específico chamado Coldfusion Studio. Alternativamente você pode usar o Homesite ou o Ultradev que possui extensões e um dicionário CFML. Já testei todos e na minha opinião o Coldfusion Studio é o melhor.

Finalmente estamos prontos para iniciar o tutorial e para facilitar o entendimento vamos dividir o processo em etapas:

Primeira Etapa.

Vamos analisar o Banco de Dados e sua informação:

o arquivo do BDs chama-se db1.mdb.
Ele é formado por uma tabela chamada 'favorites' que contém os campos id, name e url, sendo id a chave primária e name e url campos de textos.

O campo 'name' receberá o nome do site e o campo 'url' receberá o link para este site e estará formatado com tags HTML. Exemplo:

name = Astoria Federal Savings Bank - US
url=view

A fig01 mostra um screenshot da tabela favorites do banco de dados db1.mdb :

Lembrando que a tag HTML é o underline, a tag é a que cria o link sendo o atributo Target='_blank' responsável por abrir este link em uma nova página do Browser. Portanto todos os registros desta tabelas são construídos de forma análoga.

Segunda Etapa.

Vamos analisar o arquivo Coldfusion que vai pegar as informações contidas no BDs e enviá-las ao Flash. Abaixo temos a listagem do código do arquivo favorites.cfm:

Listagem do código do arquivo: favorites.cfm

-----------------------------------------------------------------------



SELECT name,url
FROM favorites
ORDER BY name





#ArrayAppend(myArray, "#name# : #url#")#


#ArrayAppend(myArray,"#name#: #url#")#




&CFresponse=ok&
&CFfavs=

#myList#

&

---------------------------------------------------------------------------


Este comando exclusivo da linguagem CFML do Coldfusion garante que somente informações entre as tags são mostradas..


SELECT name,url
FROM favorites
ORDER BY name

Nesta etapa é feita a conexão com o BDs através da DSN = myDSN. Através do uso da linguagem SQL utilizamos um Select para selecionar os campos 'name e url' da tabela 'favorites' e ordenamos a saída por 'name'. Neste momento o Coldfusion já está apto para enviar as informações contidas no BD, porém se criássemos uma variável, por exemplo : var01 para receber a dupla 'name e url' teríamos a seguinte situação:


lê o primeiro registro da tabela 'favorites' e joga a informação à variável var01. lê o segundo registro e torna a jogar a informação na mesma variável var01.
E a cada leitura de a variável var01 é sobre-escrita e no final da leitura de toda a tabela somente o último registro estaria armazenado em var01.

Para resolver este problema podemos armazenar todos os registros de 'favorites' em um vetor e depois passá-los para uma 'list' é assim teremos todos os registros de uma só vez.





#ArrayAppend(myArray, "#name# : #url#")#


#ArrayAppend(myArray,"#name#: #url#")#



: é o constructor para o nosso array.

: é um loop para que a nossa query percorra todos os registros do BDs e os armazene no array

A variável 'flag' : se flag for 0 nosso array receberá o registro com a cor de texto default(preto) e se flag for 1 a cor do texto será um Azul Claro. Desta forma ao apresentarmos todos os registros no Flash, eles serão intercalados entre as cores preto e azul facilitando a leitura para o cliente.


&CFresponse=ok&
&CFfavs=

#myList#

&

Uma vez terminado o loop passamos todo conteúdo do array para uma 'list' sendo que as tags "

" são usadas para fazer a quebra de linha entre um registro e outro e finalmente passamos esta 'list' para o Flash. As variáveis CFresponse e CFfavs serão explicadas na etapa a seguir que é a análise do que acontece no arquivo Flash.

Terceira Etapa

Finalmente vamos ver o que o Flash deve fazer para receber estas informações. Primeiramente vamos verificar os objetos utilizados no arquivo 'favorites.fla'

Este arquivo Flash possui 3 movieClips:

txtField mc: possui um campo de texto dinâmico chamado 'records' que receberá o conteúdo do BDs. Ver fig02 abaixo :

scroller mc: que fará o scroll do conteúdo.

loading mc: usado durante o processo de recebimento dos dados, que pode levar algum tempo dependendo do congestionamento do BDs ou da conexão Internet. Este movieClip serve como um sinal visual ao cliente de que as informações estão sendo processadas e a parte mais importante está no final da timeline deste mc onde é feito a verificação se os dados já foram recebidos e caso positivo são mostratos no campo de texto dinâmico do MC txtField e o MC loading é descarregado do stage. A fig03 abaixo ilustra este caso:

É justamente aqui que aquelas variáveis no final do código do arquivo coldfusion entram em ação:


&CFresponse=ok&
&CFfavs=

#myList#

&

Note que o MC loading tem o seguinte código:

if(_root.CFresponse == "ok")
{
_root.txtField.records = _root.CFfavs;
this.removeMovieClip();
}

Se o Flash recebeu a variável Coldfusion 'CFresponse=ok' então está garantido que o conteúdo do BDs também foi recebido e como este conteúdo está armazenado na variável 'Cffavs' que recebeu o conteúdo da 'list' devemos passar este conteúdo para o campo de texto dinâmico chamado 'records' que está no MC txtFields : _root.txtField.records = _root.CFfavs. E após isto podemos remover o MC loading do stage completando assim o processo.

Por último vamos verificar os comandos que estão na timeline principal no frame1 da layer actions. A fig04 ilustra esta etapa:

O código a ser analisado é o seguinte:
loadVariablesNum("favorites.cfm", 0, "POST");

attachMovie("loading","loading",1);
_root.loading._x = 54.9;
_root.loading._y = 155;

attachMovie("txtField","txtField",0);
_root.txtField._x = 140;
_root.txtField._y = 80;

Como o código acima está no frame1, no momento que o arquivo 'favorites.fla/swf' é executado o arquivo Coldfusion 'favorites.cfm' é chamado através da função loadVariablesNum utilizando o método POST que envia e recebe dados através de um http separado. (GET enviaria as variáveis via URL). Ao ser chamado, 'favorites.cfm' processará todo seu código (já analisado na segunda etapa), ao mesmo tempo anexamos ao stage do Flash o movieClip 'loading' (cuja função já foi discutida) e também anexamos ao stage o MC 'txtField' que receberá os dados provenientes do banco de dados. Deste modo chegamos ao final do processo.

Conclusão.

A noção de actionScript necessária para integrar o Flash com Banco de Dados é relativamente simples, ficando a parte mais pesada no lado servidor. Esta é somente uma aplicação dentre inúmeras que podemos fazer para integrar o Flash com banco de dados e scripts server-side, mas creio que é o suficiente para você ter uma idéia do poder do Flash em relação à integrações à tecnologias externas. Lembre-se que usamos também a formatação dos dados com tags HTML que não deixa de ser um tipo de integração do Flash.

Onde posso aprender mais sobre ColdFusion?

Existe uma grande literatura sobre Coldfusion. No Brasil atualmente existem uns 4 livros sobre Coldfusion sendo que para quem está começando eu indicaria o livro chamado : Coldfusion - A Ferramenta Profissional para a Criação de Páginas Dinâmicas, da Editora Érica e do autor : Wanderlei Cristiano A. Souza. É um livro bem básico, mas bom para começar. E utilizar o help do Coldfusion Studio que é completo e muito bem elaborado.

Mais uma vez vale lembrar que no meu site: www.kencwb.com você pode encontrar mais exemplos e também em www.flashcfm.com que é um portal especializado em integração Flash e Coldfusion.

Enviem sugestões e dúvidas por e-mail, ou visite o Fórum - S.O.S
Grande abraço,
[ ]´s
Ken Awamura
--------------------------
Ken Awamura tem graduação em Bacharelado em Informática e iniciou sua carreira na área de análise de sistemas porém em 1998 decidiu se especializar em Desenvolvimento para a Web, especialmente com o uso do software Macromedia Flash que começou a usar na sua versão 3. Atualmente dedica-se mais na área de programação com actionScript e na integração do Flash com soluções externas tanto client como server side.
--------------------------
info@kencwb.com


Deixe seu comentário:





© Copyright 2002-2018
Portal SOS Designers
Webmaster: Luiz Antonio Bovi