Actionscript/ Apollo/ AS 3.0/ Flex/ Notícias

MySQL Driver para aplicações Apollo

Para quem está fazendo aplicações em Apollo e quer ter a vantagem de se conectar diretamente ao banco de dados MySQL é uma ótima notícia, mais tenha cuidado, não tente por hipótese alguma usar essa extensão para aplicações Web.

Por que não usar?

Uma vez que nessa biblioteca você vai precisar setar seu usuário, senha e endereço do banco, fica facilmente possível conseguir todas essas informações fazendo um sniffer mesmo tendo uma pequena proteção como essa biblioteca tem que o “Scrambler” que é de prache para quem programa em PHP, é facil também ter um sniffer para copiar essas informações.

Para quem quer distribuir a aplicação e ser executada localmente sim, já que o propósito do Apollo é tornar qualquer aplicação RIA em uma aplicação desktop.

Como usar essa extensão?

Primeiramente faça o download aqui.

Depois usando o Flex Builder com o plug-in do Apollo instalado, crie um novo Apollo Project.

Com o projeto Apollo criado, vá no menu Project > Properties ; Selecione ao lado esquerdo, Apollo Build Path e na aba “Library Path” adicione o arquevo que você fez o download .swc apontando para seu projeto atual.

Uma vez feito isso, você vai ter a possibilidade de usar todas as bibliotecas do pequeno framework para conectar ao banco de dados local do seu arquevo de aplicação Apollo.

Defina um novo xmlns para essa biblioteca importada, caso você não defina o Flex Builder automaticamente adiciona uma como ns1. Veja um exemplo de como definir a minha.

1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8"?>
<mx:ApolloApplication
	 xmlns:apolloSQL="com.maclema.mysql.controls.*"
	 xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
 
 
</mx:ApolloApplication>

Criado isso, façamos agora a conexão dessa aplicação usando o construtor, responder, resultado e erro de conexão, ficando assim.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
<?xml version="1.0" encoding="utf-8"?>
<mx:ApolloApplication
	 xmlns:apolloSQL="com.maclema.mysql.controls.*"
	 xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
 
<mx:Script>
	<![CDATA[
 
		import com.maclema.mysql.events.SQLErrorEvent;
		import mx.rpc.events.FaultEvent;
		import com.maclema.mysql.events.ResponseEvent;
		import com.maclema.mysql.crypto.PlainTextScrambler;
 
		private function chamarBanco(db:String):void
		{
			minhaConexao.send(db);
		}
		private function ResultadoOK(event:ResponseEvent):void
		{
 
		}
		private function falhouConexao(event:SQLErrorEvent):void
		{
 
		}
 
	]]>
</mx:Script>
<apolloSQL:MysqlService id="minhaConexao"
	 host="localhost"
	 port="3306"
	 user="root"
	 scrambler="{new PlainTextScrambler('')}"
	 database="cdcol"
	 response="ResultadoOK(event)"
	 error="falhouConexao(event)"/>
 
 
</mx:ApolloApplication>

Um exemplo funcional você pode baixar direto do site do Autor. Clique aqui para baixar.

A documentação dessas classes você encontra aqui.

Lembrem-se que isso pode ser usado para aplicações tanto Flex quanto Apollo, porém o mais aconselhável em aspectos de segurança é mais ideal usar em aplicação criadas para desktop que é o caso do Apollo.