Olá Pessoal, Este artigo faz uso do Framework OpenAMF que já foi desecontinuado.
Recomendo a leitura deste artigo -> http://blog.digows.com/?p=103
Que faz uso da solução OpenSource da Própria Adobe, o BlazeDS.
Porém, se você está aprendendo, ainda sim o tutorial abaixo é válido.
EDITADO DIA 13/10/2007
ATENCÃO!
O código fonte disponibilizado, foi melhorado e atualizado.
Para fazer o Download do mesmo clique aqui**:
Projeto JavaFlex com OpenAMF
Para utilização, apenas extraia o arquivo TutuJavaFlex.rar na pasta webapps do tomcat, ficando:
..\Tomcat\webapps\JavaFlex\*.*
Após isso, gere um banco de dados através do script dentro da Pasta JavaFlex: javaflexBD.sql
Feito isso, acesse: http://localhost:8080/JavaFlex/bin
Para edições , importe o projeto no Eclipse com o plugin do FlexBuilder instalado.
Lembrando que a apresentação abaixo apenas esclarece cada passo realizado.(...)
(...)
Mais então, um dos assuntos mais comentados pela net, é como deixar o Flex, como Camada de Apresentação para o Java,
realmente, se tem poquissimo material sobre este assunto, e o pouco que tem, meio complicado de entender,
eu mesmo já apanhei muito no começo, quem me deu uma mão na roda foi o "Mindu" do Grupo Google (FlexDev), hoje até já montei uma arquitetura usando Java, Flex, Hibernate, e OpenAMF trocando somente objetos!
Mas então, vamos lá?!
=====================================================
Requerimentos:
-- Ambiente configurado com Flex Builder, Java e TomCat ou similar;
--Conhecimentos Básicos de Java e Flex;
--MySQL® Connector/Java;
(Download: Link)
--OpenAMF RC12 - Java Flash Remoting;
(Download: Link)
1- Abra seu Eclipse, com Plugin do FlexBuilder, e crie um novo projeto Java com o nome de TutuJavaFlex (File=>New=>Project=>JavaProject).
O Projeto tem que ficar na pasta webapps do TomCat normalmente: "C:\tomcat\webapps\"
Ficando: "C:\tomcat\webapps\JavaFlex"
2- Vá até o a pasta "JavaFlex" pelo o explorer, e dentro dela, crie uma pasta chamada de
"WEB-INF" e dentro desta pasta, adicione os esses arquivos:
- Bibliotecas do OpenAmf e o driver do MySql utilizadas na aplicação
- ant.jar
- astranslator-1.5.9.jar
- axis.jar
- commons-beanutils-1.7.0.jar
- commons-codec-1.3.jar
- commons-collections-3.1.jar
- commons-digester.jar
- commons-discovery.jar
- commons-httpclient-3.0.jar
- commons-lang-2.1.jar
- commons-logging-1.0.4.jar
- dom4j-1.6.jar
- log4j-1.2.9.jar
- mysql-connector-java-xxx-bin.jar
- openamf.jar
- wsdl4j.jar
- O Arquivo de configuração openamf-config.xml não sofreu alteração, basta copiá-lo do arquivo openamf-xxx.zip e adicionar na pasta WEB-INF da sua aplicação.
- Arquivo web.xml da aplicação com a configuração do OpenAmf se encontra no .rar baixado.
/WEB-INF/lib/"OS JARS";
/WEB-INF/"openamf-config.xml" e "web.xml";
/WEB-INF/classes/"Futuras Classes Javas";
Volte ao FlexBuilder e de um F5 para Atualizar o projeto, e depois de um botão direito sobre a pasta raiz do projeto(TutuJavaFlex), e vá até properties =>Java Builder Path =>Libraries => ADDJars , navegue até a pasta lib, e selecione todos os Jars disponiveis, OK;
Em Source, vá até "default output folder" e navegue até a pasta classes dentro de WEB-INF
("WEB-INF/classes") OK.
3- Vamos Criar uma Tabela 'pais' em um banco qualquer para o exemplo:
CREATE TABLE `pais` (
`id` int(10) unsigned NOT NULL auto_increment,
`pais` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
4- Volte ao FlexBuilder, e crie uma pasta src no diretório raiz do projeto, e dentro dela, uma chamada java;
5- Dentro da pasta java, crie uma classe Java chamada Pais.java, dentro dela crie uma bean java normal:
package src.java;
public class Pais{
public int id;
public String pais;
public int getId(){
return id;
}
public void setId(int id){
this.id = id;
}
public String getPais(){
return pais;
}
public void setPais(String pais){
this.pais = pais;
}
}
6- Ainda Dentro da pasta Java, crie uma classe chamada PaisDAO.java que se encontra no projeto
baixado.
Esta é uma classe java normal, aonde tem os Sqls, e a conexão com o banco;
No método:
public Connection getConnection()throws Exception {
if(conn == null){
Class.forName("org.gjt.mm.mysql.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=");
conn.setAutoCommit(false);
}
return conn;
}
Altere, o "test" para o nome do Banco que Você irá usar, assim como "user" e "password".
7- Crie mais uma nova classe java, chamada PaisService.java, e adicione os códigos igual ao do rar baixado.
8- Agora, dentro da pasta src, crie uma pasta chamada flex, até agora, já criamos todos os arquivos java necessários para este exemplo;
9- Já que o java já esta criado, de um Botão direito sobre o projeto e vá em
Flex Project Nature -> Add Flex Project Nature
10- Agora vá até a pasta flex e crie uma classe ActionScript chamada RemotingConnection.as
iguamente ao que se encontrar no aquivo rar baixado.
Perceba a que exite essa linha:
public var sURL:String = "http://localhost:8080/JavaFlex/gateway";
Se Voce Não mudou o nome do diretório, deixe como está.
Esta é a classe principal, é ela que faz a conexão entre o Flex(Flash) e o Java, isto é, ela cria um
gateway (Ponto de Acesso) , entre os 2.
11- Belza!! agora vamos ao mais divertido, criar telas! +)
para isso, automaticamente deve ter criado um arquivo chamado: JavaFlex.mxml na raiz do projeto, e adicione códigos iguamente ao que se encontrar no aquivo rar baixado.
O código esta bem comentado, está bem fácil de entender! =)
Pronto!! Sua Aplicação Já está Feita!! +)
Vamos Executar?
Vá ao menu:
Project=>Clean
(Depois em desenvolvimento, gosto de deixar marcado a opção "Build Automatically")
Start o TomCat e
acesse: http://localhost:8080/JavaFlex/bin/JavaFlex.html
se vc fez tudo correto, funcionará!! +)
bom pessoal, para entender melhor como funciona a comunicação entre essas 2 poderosas linguagens, bacana seria ler a documentação do OpenAMF, Vale a pena!
Abraço Pessoal!!!! \o/
Download do Projeto Completo: Link
(Para utilizar, é só importar para o eclipse e dar um Clean)