Category Archives: Adobe

Proposta de Arquitetura com Adobe Flex e PHP usando Zend Framework

Olá Pessoal,

Um item básico quando se trata de sites, é um local onde o visitante pode de alguma forma entrar em contato com a empresa do site, hoje existem algumas boas soluções para isso, como por exemplo um client msn que pode ser colocado no site e se o visitante quiser, pode entrar em contato com o msn da empresa.

Mas hoje vou mostrar a vocês uma forma simples e funcional, que consiste em um formulário onde o visitante preenche os dados, e gera um e-mail para o destinatário.

Mostrarei isso usando PHP/ZEND/AMFPHP/FLEX, poderia fazer isso somente com HTTPService? concerteza, ficaria menos código e até mais simples, porém concordamos que ninguém iria fazer uma aplicação só com essa funcionalidade, pois o Formulário de Contato seria apenas um módulo do sistema.

Então vou lhes mostrar também uma proposta de como você pode trabalhar arquiteturalmente com Flex e PHP, trocando apenas VO/TO/DTO entre as camadas, lembrando que isso é uma boa prática, vejo muitos porae trocando array’s com Flex e PHP, isso é totalmente desnecessário.

Detalhes da Arquitetura

ZEND Framework;

AMFPHP;

Adobe Flex;

A arquitetura usa o ZEND para abstração do banco de dados usando a Classe Zend_Db_Table, e outros recursos como o Zend_Loader e Zend_Registry.

AMFPHP para a comunicação entre o AdobeFlex e o PHP, esta comunicação rodando em cima do protocolo AMF3, que provém comunicação binária não mais String como no HTTP puro, e também compactação.

Estruturando a aplicação

Estrutura de Pastas  
Listagem 1

Crie uma estrutura de pastas como mostrado na Listagem 1

O package entitybean contém classes que segue os conceitos de um EntityBean como nas especificações J2EE/JEE, só que claro BMP através do Zend_Db_Table, e uma outra classe que eu fiz chamada EntityBeanImpl, que abstrai ainda mais os métodos CRUD de um caso de uso, como por Exemplo eliminei os métodos Inserir e Atualizar, e criei um Salvar, que insere ou atualiza baseado na Primary-Key. Em poucas palavras, um EntityBean, é reponsável pela abstração de um Banco de Dados Relacional, as camadas acima de entityBean apenas conhecem o entitybean, não tem acesso ao Banco de dados.

Para Garantir transação e concorrência, criei uma classe chamada DB que cotém um singleton me garantindo apenas uma instância da mesma em uma transação,  ela é reponsavel por iniciar uma transação através do método beginTransaction() realizar o commit se toda a operação ocorrer com sucesso atraveés do método commit()  e realizar o roolback no banco de dados através do método rollback().

O package sessionbean contém classes que segue os conceitos de um SessionBean também como nas especificações J2EE/JEE só que apenas sendo Stateless. Em poucas palavras um SessionBean tem a responsábilidade de implementar a regra de negócio do caso de uso, como por exemplo validações, calculos e etc.

O package facade contém classes que implementam o Pattern Facade em outras palavras é a fachada do sistema, neta arquitetura ela é responsável por garantir a transação usando a classe DB, também é reponsável pelo tratamento de exceções (Erros).

O package vo contém simples classes que implementam os Patterns VO/TO/DTO, são os vo’s encarregados de transportar entre as camadas as informações de cada caso de uso. Lembrando que o mesmo VO no PHP, será automaticamente serializado pelo AMFPHP para um VO no Flex para isso os VO devem ficar assim:

Continue reading

Trabalhando com CSS no Adobe Flex Builder 3

O Adobe Flex é resposável por cuidar da camada view de um sistema, só que em nível de desenvolvimento o Flex não é apenas Visual, mas exige uma certa analize sobre como será arquiteturado e etc…

Logo, o ideal é que o desenvolvimento seja divido em 2, uma parte que cuida do controle das telas, lógicas de telas, e a  comunicação com o Beck-end.

Outra parte é o Design do sistema, este que gera componentes, padrões de cores e etc.. Estes fatores as vezes desconsiderado por muitos, mas sempre lembro: O usuário ve tela, não ve código!.

Hoje gostaria de apresentar a vocês, algumas de minhas experiências com Design, (É também gosto de dar uma de web designer) e todo Designer sabe o quão terrível é montar padrões de tela com html/js/css fatores como: Falta de uma boa IDE, Fazer CSS compátiveis para os browsers.

Já no Flex, com o Flex Builder 3, facilita muito a vida do designer, pois através do plugin visual, é capaz de se realizar quase todas as configurações de Layout e design.

Vamos a um exemplo:

Crie um novo projeto no Flex Builder 3;
*O Compiler deve usar o Flex SDK 3

image

Continue reading

Adobe celebra 25 anos de inovação!

Olá pessoal!

Para aqueles que ainda não viram, a mãe Adobe está fazendo 25 anos de história.

Fizeram um vídeo contando sua história, e um Timeline Show! que mostra todas as suas inovações até hoje, que como eles costumam dizer, Innovations that changes the world!

Link do Vídeo:
http://www.adobe.com/aboutadobe/history/

Link do Timeline:
http://www.adobe.com/aboutadobe/history/timeline/

Não sei vocês, mais fiquei muito feliz ao ler a notícia!

Abraço a todos!

o/

Adobe Flex, Padronizando seu código

Olá Pessoal,

Todo programador sabe o quão essencial é padronizar seus códigos, seja para um desenvolvimento em grupo, ou independente.

Ao padronizar, você dá ao seu código algumas características que trazem benefícios futuros, ou presentes, como por exemplo:

  • Legibilidade no código;
  • Facilidade de distribuir os códigos;
  • Ajuda na manutenção do código;
  • Evitar que estagiários possam fazer códigos selvagens! =x

Para quem ainda não viu,o Fábio Terracini da lista FlexDev fez há um tempo atráz, um Coding GuideLines para a DClick que visa padronizar os códigos MXML e ActionScript. O doc é muito bom, tanto que certas pessoas estão comentando até na lista FlexCoders.

Link’s:

Adobe Flex Coding Guidelines v1.2 (English).pdf

Adobe Flex Coding Guidelines v1.2 (Portugues).pdf

Adobe Flex Coding Guidelines (English version) *
*Não deixe de olhar também os comentários do post, há algumas críticas, mas sabe como os Norte Americano são né….

Bom, a dica está dada, agora… Produzir!

=)

Abraços!

o/

Modularizando sua aplicação com Modules e Flex Builder 3

Olá pessoal,

Uma vez apresentei um artigo falando sobre o Adobe Flex, e neste artigo, e como entusiasta da tecnologia apenas apresentei pontos positivos, e como era de se esperar alguns perguntaram: Esse tal Flex não tem pontos negativos?!

Hoje posso dizer que desenvolver uma aplicação de grande porte com o Adobe Flex requer uma atenção necessária, o problema aparece quando se quer diminuir o tamanho do .swf final, ou então dividir a aplicação em modulos.

Confesso senhores que tentei usar o Module no Flex Builder 2 (SDK 2.0.1) e não atendeu muito bem, era custoso ter que ficar compilando cada modulo, e depois quando usava dava uns problemas muito estranhos.

Hoje quero apresentar a vocês algo que o Flex Builder 3 trouxe de novo, a manipulação dos modules via Flex Builder.

Vamos ao código então:

Continue reading

Upload de Arquivos com Flex , PHP e Java

Olá Pessoal!

Uma coisa que o pessoal sempre pede na lista, é como fazer o upload de arquivos com Flex,

Um modo é você tratar o Flex como se fosse um form HTML, outro modo é através de ByteArray como este Link.

Hoje mostrarei o modo mais simples, usando a API FileReference.

*Nota: Por questões de segurança do browser, a VM ActionScript não tem acesso direto a arquivos no disco, logo a API apenas da a possibilidade de trabalhar com:
Tamanho, Nome do Arquivo, Data de Criação, Data de modificação e Tipo (extenção).

Continue reading

Olá Pessoal!

É com grande prazer q inicio este novo blog, e este veio para ficar!

agradeço aqueles que sempre me visitam, e espero que gostem da casa nova.

 

Estou aceitando críticas ou quem sabe elogios!

 

E para começar já arrebentando, anuncio aqui o lançamento do

Adobe Flex Builder 3 Beta 3 hoje dia 12/12/07 .

Detalhe, nem o Ted Patrick anunciou ainda, meu amigo Leandro que me avisou.

Não espere muito, faça seu download já:

http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_adobeflexbuilder3

 

Muito Obrigado,

Abraços!

o/