Jul
16

Exemplo em Flex 2: Operações CRUD usando Flash Remoting via AMFPHP 1.9b2

Este exemplo é a versão em Flex 2 deste exemplo em Flash 8. Consiste numa aplicação que executa operações CRUD (create, read, update and delete) a uma lista de utilizadores numa base de dados, utilizando Flash Remoting para comunicar com o servidor.

Comparativamente à versão em Flash 8, o lado do servidor manteve-se igual (removi apenas a Method Table que em AMFPHP 1.9b2 já não é necessária). Utilizei AMFPHP 1.9b2 para tirar partido do suporte a AMF3, o protocolo de Flash Remoting utilizado por defeito pelo Flex 2.

Do lado do cliente, são cerca de 30 linhas de código para definir o interface gráfico, 6 para o RemoteObject que se encarrega do processo de comunicação com o servidor, e as restantes são os handlers de cada pedido feito ao servidor, que se encarregam basicamente de guardar em variáveis os dados que chegam do servidor.

Para colocar este exemplo a funcionar, é preciso ter em conta alguns passos importantes:

1. É preciso criar uma base de dados com o nome paw, e fazer dump deste ficheiro SQL

2. A directoria bin deve ser servida pelo servidor http

3. É preciso mudar o ficheiro GestorDeUtilizadoresService.php na directoria bin\amfphp\services nas linhas 15, 16 e 17, colocando os dados de acesso à base de dados. Este é também o único ficheiro do lado do servidor que interessa analisar (os restantes fazem parte do AMFPHP)

4. Convém testar colocando no browser o endereço do service browser do amfphp (provavelmente algo como http://{localhost}/{dirDoExemplo}/amfphp/browser) e chamando por exemplo o serviço getUtilizadores. Se for obtida resposta, é porque está tudo configurado correctamente.

5. Do lado do cliente, é preciso no Flex 2 adicionar o parâmetro “-services services-config.xml” ao compilador. Para fazer isto, basta clicar com o botão direito sobre o projecto, escolher “Properties | Flex Compiler” e na caixa “Additional compiler arguments” adicionar “-services services-config.xml” (sem as aspas)

6. No ficheiro services-config.xml é preciso alterar a linha 10, substituindo o endereço no argumento “uri” para o vosso endereço da gateway do AMFPHP.

O código pode ser descarregado daqui.

2 Comments

Make A Comment

Comments RSS Feed   TrackBack URL

Leave a comment

top