logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Mar 24

RiaPT Meeting no Porto – A experiência, conclusão e os slides!

Escrito por riaPT em Adobe Air, amfphp, Eventos, flash, Flash Platform, Flash Player, Flex, Ria’s Geral, Ria's Geral @ 03 24th, 2010 | via http://riapt.org | Sem comentários
riaPT
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Bem, já lá vai mais de uma semana que o Meeting do Porto decorreu.

Posso dizer que, de início, pensamos em colocar um limite de 100 pessoas no evento, mas depois pensamos que a procura não iria ser muita, uma vez que no último encontro eramos apenas… três pessoas!

No entanto, lá nos aventuramos em colocar o limite de 70 + 10 speakers e a aposta foi ganha! No final, e totalizando toda a gente, eramos 67 pessoas juntas no evento!

O que correu bem?

  • O almoço

- Eramos cerca de doze pessoas e foi interessante falar das expectativas sobre o evento, de conversar com pessoas com quem não tivemos hipótese de trocar ideias noutros eventos, etc. O lombo estava bom e mesmo a queimar as duas, lá conseguimos pagar todos e lá fomos para o local onde ia decorrer o evento.

  • O evento

- Como todos notaram, o evento começou com cerca de vinte minutos de atraso. Não havia problema se ninguém se esticasse nas apresentações (o que não foi o caso!).

- Uma coisa a referir foi o espírito de todos! Durante as cerca de cinco horas em que tivemos no edifício Maus Hábitos houve sempre um bom convívio, as piadas típicas dos apresentadores ao qual a plateia correspondia sempre com umas gargalhadas. O que dizer do Luís Martins que arranjou um milagroso projector porque o nosso era “esverdeado”.

  • O jantar

Depois de tantas horas no evento, que bem que soube comer umas belas pizzas de… 50 centímetros, no S. Marino! Eramos também cerca de doze pessoas e o convívio foi muito interessante, dando para trocar ideias e falar sobre o que se passou no evento, sobre as novas tecnologias, experiências que tenhamos tido, etc. Tudo acabou, por volta da uma da manhã no Rivolli, onde decorria o Fantasporto.

  • Conclusões

Como nunca nada corre perfeito, temos noção que houve várias falhas, mas todas elas devido à pouca experiência que os organizadores tinham em realizar eventos.

  1. O local – Embora o local fosse interessante, era notório a falta de condições para a projecção dos conteúdos através do projector. O facto de ter ficado muito escuro a partir do meio do evento, fez com que o público quase não conseguisse ver os speakers.
  2. Talvez devêssemos ter apenas uma refeição em conjunto. Assim, podíamos tentar ter mais pessoas no mesmo espaço;
  3. O controlo do tempo. Esta sim, uma falha um pouco grave, umas vez que perdemos completamente a noção do tempo;

Apresentações:

Ainda não consegui que os vídeos ficassem todos disponíveis uma vez que temos limite, tanto no Vimeo, como no Youtube, de tempo para os vídeos (só dá para 10 minutos em cada).

No entanto, já podem ver o vídeo de introdução do evento aqui

Sendo assim, ficam aqui as apresentações que já nos foram facultadas pelos speakers. Quando me enviarem mais, actualizarei aqui o post

Mauro Martins:

Web – Construir é diferente de ver

Nuno Gomes:

HTML 5, a Realidade da Utopia

Miguel Pinto:

Zend Framework e Flash

Felipe Ávila:

The Usability Page

Cumprimentos a todos, e preparem-se porque vêm aí mais!

Mar 18

Integração flex + php + mysql – amfphp

Escrito por Luiz Tarabal em Adobe, amfphp, DataGrid, flash, Flex, mysql, PHP, RIA, Ria’s Geral @ 03 18th, 2010 | via http://luiztarabal.com.br/ | 1 comentário
Luiz Tarabal
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Bem, a polêmica do mês é flash x html 5 , e devido a isso nada melhor que um artigo sobre integração do Flex (RIA) com PHP, através do gateway AMFPHP, recomendado para quem já usa php como linguagem de servidor e pretende adotar a camada cliente e servidor, deixemos bem claro que neste ‘cliente e servidor’ apresentado existe uma conexão bem mais rápida devido a forma que os dados são transportados, no caso, determinantes para construção de grandes softwares com acesso via web , cloud clusters, etc.

Para quem não sabe Flex usa a mesma maquina virtual usada no flash, porém sem timeline, e usando componentes que fazem do Adobe Flex Builder um framework para construções usando o padrão RIA, e ainda conta com auxilio da poderosa linguagem action script. Um aplicativo feito em RIA possibilita que suas funcionalidades serão sempre as mesmas em qualquer navegador, não existem bugs de compatibilidade, versões e muito menos se o navegador usado esta ai para as normas do W3C.

Mas este é um assunto para outro artigo.

Para um bom entendimento deste artigo recomendo uma base em action script 3, php, e mysql .

Durante o decorrer do artigo veremos:

- Como instalar o gateway AMFPHP,

- Como criar um serviço php-mysql para ser acessado pelo Flex,

- Usaremos Remote Object que é uma das mais usadas formas de comunicação entre softwares Flex e Flash com as outras linguagens, php, ruby, java, etc;

- Como configurar o caminho do AMFPHP no Flex,

- Trabalhando com DataGrid para visualização dos dados.

Primeiro deixo com vocês um gráfico sobre velocidades entre softwares cliente/servidor, no mesmo vemos facilmente a vantagem sobre a velocidade que existe no Flex usando AMF3 como gateway.

Clique para ampliar

Clique para ampliar.

Vamos começar, montando o cenário:

Supondo que você já tenha sua hospedagem com php e mysql rodando ok, pode ser servidor remoto ou no seu localhost mesmo, usando XAMPP,http://www.apachefriends.org/en/xampp-windows.html, um exemplo.

Iremos usar o Adobe Flex Builder, suponho que você já tenha instalado, caso não, o link é http://www.adobe.com/products/flex/ e você pode baixar uma versão para usar durante 30 dias de teste, depois devera obter uma licença para continuar usando.

Agora iremos instalar o AMFPHP no seu servidor, entre no site http://sourceforge.net/projects/amfphp/ e baixe ele.

Descompacte o mesmo em um diretório do seu servidor melhor no ROOT, no meu caso usando localhost com XAMPP no endereço HTTP ficou http://localhost/amfphp/

Após colocar os arquivos do AMFPHP no seu diretório escolhido iremos configurar o seu gateway, para isso acesse http://localhost/amfphp/browser/ veremos que são perguntadas algumas opções, deixe tudo como está e de clique em save. (tela abaixo)

Esse browser serve apenas para que tenhamos certeza que o gateway esta a funcionar corretamente, não necessita aprofundamentos agora, vejam que do lado esquerdo superior ele lista os serviços que o flex acessa no php, como ainda não criamos nenhum serviço, apenas o padrão do AMFPHP aparece.

Vamos configurar agora o banco de dados de onde virão os dados que serão visualizadados no flex, para isso iremos usar um banco típico, mysql, com algumas colunas e registros, exemplo abaixo das colunas e alguns dados:

Clique aqui para baixar o banco de dados em formato sql.

Ok, depois de baixar é só importar no seu phpmyadmin e teremos um banco de dados pronto para ser listado no flex.

Agora iremos criar um serviço para ser consumido pelo Flex, no caso este serviço é apenas uma classe php e dentro dela temos os métodos, cada método seria uma função, a nossa classe em php simplesmente vai ser conectar ao mysql e logo apos selecionar os dados da tabela.

Dentro da pasta do seu amfphp, vá até a pasta services e crie um arquivo la dentro chamado de mysqlList.php, (amfphp/services/mysqlList.php) e dentro deste arquivo coloque a nossa classe que vem a seguir:

<?php
class mysqlList
{

function mysqlList ()
{
$this->conn= mysql_pconnect('localhost', 'userbd', 'password');
mysql_select_db ('namedb');
}

function listTable()
{
return mysql_query("SELECT * FROM teste order by id desc");

}

}
?>

Nota: o nome do arquivo deve ser o mesmo nome da classe interna no php, no caso mysqlList.

Atenção a linha 6 do código acima, você deve alterar o usuário do banco de dados em userbd e a senha do mesmo em password, suponho que você já trabalhe com conexões mysql / php, ate aqui sem segredo algum, na linha 7 coloque o nome do banco de dados onde esta a tabela criada anteriormente, e na linha 12 selecione qual tabela do banco de dados deseja abrir, no caso ai esta a tabela teste que é o nome da mesma tabela criada anteriormente.

A função mysqlList é apenas um método construtor da classe, e é executado sempre que a classe é iniciada, desta maneira estamos usando a mesma para criar uma conexão mysql sempre que a classe for executada.

O metodo listaTable nos lista os registros da tabela ‘teste’ e retorna os mesmos atraves do return, ou seja, sem segredo algum, php como ja vimos e estamos cansados de ver por ai.

Pronto! Temos um serviço em operação no gateway AMFPHP, para testarmos volte ao browser do seu AMFPHP em http://localhost/amfphp/browser/ e de um refresh, observe que apareceu do lado esquerdo em Service browser o serviço que acabamos de criar, Ótimo, agora clique sobre o mesmo e observe que aparece o método listTable, então basta você dar um ‘Call’ que o AMFPHP testa o método e apresenta o resultado abaixo, vemos a pagina com os results da nossa tabela teste e listando os dados em um datagrid, que o próprio AMFPHP traz embutido:

Confira aqui um exemplo online.

Serviço ok, agora vamos configurar o Flex para se conectar a estes dados usando Remote Object.

Abra o seu Adobe Flex Builder e crie um novo projeto, de o nome que desejar, no meu caso ficou testeflex, dentro do arquivo mxml coloque o código a seguir, irei comentar não se preocupem:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application creationComplete="init()" xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="521" height="344">

	<mx:RemoteObject
        id="gateway"
        destination="amfphp"
        source="mysqlList"
        showBusyCursor="true">

    <mx:method name="listTable"
    	result="createDatagrid(event)"/>

          </mx:RemoteObject>

	 <mx:Script>
          	<![CDATA[

          	   import mx.rpc.events.ResultEvent;

          	public function init():void {

          		 gateway.listTable();

          		}

          		public function createDatagrid(event:ResultEvent):void {

          		 list_data_grid.dataProvider = event.result;

          		}

          	]]>
          </mx:Script>

	<mx:DataGrid x="51.75" y="56" width="418" height="188" id="list_data_grid">
	</mx:DataGrid>
	<mx:Button x="51.25" y="269" label="Refresh" click="gateway.listTable()"/>

</mx:Application>

Agora falta configurarmos o endereço de nosso gateway, para configurar o endereço do nosso gateway para que o Flex possa encontra-lo, vamos criar um arquivo chamado service-config.xml dentro da pasta src, ou dentro da

pasta onde esteja seu projeto mxml, no meu caso ficou assim:

Muita atenção agora, abra o arquivo recém criado service-config.xml e coloquem o seguinte codigo la dentro:

<?xml version="1.0" encoding="UTF-8"?>
<services-config>
<services>
<service id="amfphp-flashremoting-service" class="flex.messaging.services.RemotingService" messageTypes="flex.messaging.messages.RemotingMessage">
<destination id="amfphp">
<channels>
<channel ref="my-amfphp"/>
</channels>
<properties>
<source>*</source>
</properties>
</destination>
</service>
</services>
<channels>

<channel-definition id="my-amfphp" class="mx.messaging.channels.AMFChannel">
<endpoint uri="http://localhost/amfphp/gateway.php" class="flex.messaging.endpoints.AMFEndpoint"/>
</channel-definition>

</channels>
</services-config>

No codigo acima, você precisa alterar apenas a tag ‘endpoint’,  no valor uri coloque o endereço completo para o seu gateway AMFPHP, que foi instalado anteriormente, o meu já está configurado, é importante que voce coloque o endereço corretamente, observe os dominios onde a aplicação sera executada, deve ser a mesma onde esta o gateway, pois por segurança o remote object não consegue se conectar a gateways que estejam em um dominio diferente.

Ex se no seu servidor voce acessa o gateway por www. site.com será importante que você use um subdominio ex flex.site.com e no gateway ficaria flex.site.com/amfphp, logico isso é so um exemplo, e como estou usando via localhost irei deixar assim.

Agora precisamos indicar ao flex onde esta o arquivo de mapeamento services-config.xml, para isso basta ir dentro do Adobe Flex Builder em ‘Project’, ‘Properties’ e selecione ‘Flex Compiler’ , na caixa ‘Additional compiler arguments’ onde esta listado -locale en_US, coloque -locale en_US -services “services-config.xml” se tiver duvidas olhe abaixo:

O que fizemos foi avisar ao Flex onde está o arquivo xml de mapeamento de gateways, e este arquixo xml nos da a localização dos mesmos remotamente, um gateway deste pode acessar infinitos metodos.

Logo depois clique no arquivo mxml principal, e depois clique exporte o projeto para swf, usando o menu ‘File’ ,  ‘Export’ e depois ‘Release Build’ e acesse o html gerado pelo navegador.

Explicando os codigos mxml e actionscript:

No codigo mxml do flex, temos o objeto remoto,

<mx:RemoteObject

id=”gateway”

destination=”amfphp”

source=”mysqlList”

showBusyCursor=”true”>

<mx:method name=”listTable”

result=”createDatagrid(event)”/>

</mx:RemoteObject>

A tag id  da nome ao objeto remoto, destination o id do gateway no caso amfphp, source é a classe php e showBusyCursor indica que o cursor do mouse indicara atividade ao ser usado este objeto, abaixo vem o metodo name que será executado no php listTable e logo apos o result é a funcao que deve ser chamada quando acabar de receber os dados, no caso a função createDatagrid, que recebe os dados, cria um datagrid (componente de listagem de dados do flex) e depois reabastece a mesma com os dados que vieram direto do mysql, esses dados vem em formato ArrayCollection, onde você poderá manipular eles, ordenar, trabalhar colunas etc.

Reparem em <mx:Application creationComplete=”init()” indica que quando a criação do projeto estiver concluída no navegador do usuário, a mesma será executada, neste caso a init() executa depois as funções de remoto objeto alimentando a datagrid com os dados vindos do mysql.

O buttom colocado foi só para demonstrar como atualizar via um click, ou como chamar estas funções de outra forma.

A aplicação ficou da seguinte forma:

Clique sobre para ver a aplicação em ação!

Nos próximos artigos falarei sobre como criar remote objects e datagrid dinamicamente por action script, trazendo mais dinamismo a aplicação.

Bem chegamos ao fim deste primeiro artigo, espero ter sanado as dúvidas iniciantes deste ambiente Flex e caso tenha  dúvidas favor postar em nossos comentários, ou e-mail me@luiztarabal.com.br .

O conteúdo deste artigo pode ser publicado 100% em outros meios desde que citada  a fonte no caso www.luiztarabal.com.br

Esse browser serve apenas para que tenhamos certeza que o gateway esta a funcionar corretamente, não necessita aprofundamentos agora, vejam que do lado esquerdo superior ele lista os serviços que o flex acessa no php, lendo os services, como ainda não criamos nenhum serviço, apenas o padrão do AMFPHP aparece.

Vamos configurar agora o banco de dados de onde virão os dados que serão visualizadados no flex, para isso iremos usar um banco típico, mysql, com algumas colunas e registros, exemplo abaixo das colunas e alguns dados:

Fev 8

RiaPT meeting no Porto!

Escrito por riaPT em Adobe Air, amfphp, Best Practices, flash, Flash Platform, Flash Player, Flash Remoting, Flex, Introduções, PHP, Ria’s Geral, Ria's Geral, silverlight @ 02 8th, 2010 | via http://riapt.org | Sem comentários
riaPT
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

6 de Março de 2010 o RiaPT vai voltar ao Porto!

Marca desde já essa data na agenda e prepara-te para passar uma tarde bem disposta juntamente com pessoas que partilham contigo interesses e paixões pela Internet e não só!

Vamos ter speakers a abordar temas de elevado interesse da actualidade que te vão deixar com água na boca para aprender, explorar e procurar as inovações para o design e desenvolvimento das tuas aplicações!

O universo de desenvolvimento de aplicações web está em perfeita erupção! Não são só as tecnologias cliente, mas toda a “pilha” de desenvolvimento com as suas diversas tecnologias, linguagens e ferramentas está a ser posta em causa e cada um quer encontrar o seu nicho nesta realidade. Não perca esta oportunidade de ouvir alguns experts  portugueses na área do desenvolvimento de Rich Internet Applications.

Como se isto não fosse suficiente ainda vamos ter prémios para distribuir pelo pessoal que estiver a assistir que vão desde licenças de software a vouchers de cursos de formação e outros.

Publicaremos a actualizaremos a agenda à medida que os speakers e temas forem sendo confirmados.

Não percam! Dia 6 de Março, no Edifício “Maus Hábitos”, às 14:00, e sim, no Porto!

Inscreve-te em: http://riapt.stagehq.com/events/182/booking/new

Agenda

14:00 Abertura Rui Silva, Mauro Martins
14:10 Zend Framework com Flash Miguel Pinto
14:35 Web – Construir é diferente de ver! Mauro Martins
15:00 Flex Decoupled – Build Strong from the Foundation Vítor Monteiro
15:25 Balsamiq Mockups e Napkee: A arte de “rabiscar” Rui Silva
15:50 Papervision 3D João Crispim
16:10 Coffee Break Networking
16:25 Make Web not War: A plataforma Microsoft Luís Martins
16:50 Silverlight 101: Anatomia de uma Aplicação Ricardo Castelhano
17:15 a anunciar a anunciar
17:40 “HYPE”: Voltar à criatividade em Flash! João Gonçalves
18:05 a anunciar a anunciar
18:30 Encerramento – Prémios Rui Silva, Mauro Martins
Fev 5

Curso de Adobe Flex focado em PHP – turma 03

Escrito por Eduardo Kraus em AMF, amfphp, aprender flex, AR, Comunicação de Dados, Flex, framework, Iniciando, int, O, PHP, Ria’s Geral, zend, Zend Framework @ 02 5th, 2010 | via http://blog.mxml.com.br | Sem comentários
Eduardo Kraus
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Para aqueles que estiverem interessados em aprender Flex, estou iniciando mais uma turma voltado a Flex com integração ao PHP com AMFPHP e Zend Framework.

Fev 5

Curso de Adobe Flex focado em PHP – turma 03

Escrito por Eduardo Kraus em AMF, amfphp, aprender flex, AR, Flex, for, framework, Iniciando, int, O, PHP, RIA, Ria’s Geral, UI, uint, zend, Zend Framework @ 02 5th, 2010 | via http://blog.mxml.com.br | Sem comentários
Eduardo Kraus
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Para aqueles que estiverem interessados em aprender Flex, estou iniciando mais uma turma voltado a Flex com integração ao PHP com AMFPHP e Zend Framework.
As aulas serão divididas da seguinte forma: De Segunda a Quinta teremos aula interativa, e na sexta uma aula de reforço e para tirar dúvidas, não sendo esta obrigatória. Os exercícios não são obrigatórios mais …

Fev 2

O AMFPHP não morreu

Escrito por Eduardo Kraus em AMF, amfphp, AR, demo, Flex, Flex AMFPHP, O, on, PHP, Ria’s Geral, zend @ 02 2nd, 2010 | via http://blog.mxml.com.br | 1 comentário
Eduardo Kraus
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Três dias após eu demonstrar que o AMFPHP é mais rápido que o Zend_Amf, saiu uma atualização do AMFPHP.

Jan 31

AMFPHP ou ZendAmf

Escrito por Eduardo Kraus em AMF, amfphp, AR, Comunicação de Dados, Curso, Cursos, Desenvolvimento, exemplo, Flex, framework, Monitoramento, O, on, PHP, pt, Ria’s Geral, Software, UI, validação, XML, zend, Zend Framework, zendAMF @ 01 31st, 2010 | via http://blog.mxml.com.br | 1 comentário
Eduardo Kraus
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Uma discussão que esta em alta é em relação a velocidade do ZendAmf. O ZendAmf é realmente mais lento por possuir recursos extras e ser baseado no Zend Framework.

Eu já fiz a validação do XML ou AMFPHP, e nesta mostrei que o AMFPHP é muito mais rápido que o XML.

Então aproveitando o exemplo mostro que o AMFPHP ainda continua mais rápido que o ZendAmf e por isso muitos programadores ainda optem por este no desenvolvimento de seus softwares.

Nov 23

Curso de Adobe Flex focado em PHP ? turma 01

Escrito por Eduardo Kraus em AMF, amfphp, aprender flex, AR, Componente, Componentes, dados, Flex, framework, Iniciando, int, O, on, PHP, Ria’s Geral, Treinamento, zend, Zend Framework @ 11 23rd, 2009 | via http://blog.mxml.com.br | Sem comentários
Eduardo Kraus
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Para os programadores PHP que estiverem interessados em aprender Flex, estou iniciando a primeira turma voltado a Flex com conexão ao PHP com AMFPHP e Zend Framework.

No decorrer do treinamento os componentes que necessitarem de dados será utilizado conexões com o PHP para prover estes dados.
Aqueles que tiverem interesse, leia mais em …

Nov 14

ZamfBrowser – O browser do Zend Amf

Escrito por Jose Carlos Fiel em 1, 2009, 4, 6, Adobe, Adobe Flex, Air, AMF, amfphp, AR, blog, browser, certificação, class, Curso, Flex, IE, if, image, mg, Notícias, novidade, Novidades, O, on, Pessoal, PHP, prova, Ria’s Geral, site, Sun, Teste, Twitter, UI, ZamfBrowser, zend, Zend Amf @ 11 14th, 2009 | via http://blog.josecarlosfiel.com.br | Sem comentários
Jose Carlos Fiel
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Olá pessoal. Para aqueles que acompanham meu blog, deve ter visto que eu sumi por um bom tempo, mas estou de volta e com novidades.

Primeiro o motivo de estar desaparecido pelo blog, é que estava estudando para a certificação Adobe Flex/AIR e consegui passar na prova hoje. Isso hoje, em plena sexta-feira 13.

A outra novidade trago no assunto do post mesmo, que é a melhor novidade para os PHPzeiros de plantão. O ZamfBrowser (Figura 1).

ZamfBrowserFigura 1: ZamfBrowser – O primeiro browser para Zend Amf desenvolvido em AIR.

Ele é o primeiro browser para o Zend Amf, como todos perguntavam, por que o Zend Amf não possuia ainda um browser e muitos desistiam dele por que não tinha este recurso e voltava para o AMFPHP, já sem manutenção a um bom tempo.

Vocês podem ver mais sobre o ZamfBrowser no site oficial: http://www.zamfbrowser.org/

Ainda não vou comentar sobre ele, até mesmo porque ainda não testei. Assim que testá-lo estarei trazendo notícias dele aqui e no twitter. Fique ligado!

Espero que seja útil para todos da turma do Zend Amf e aqueles que desejam finalmente migrar para ele.

Abraços e até a próxima.

Out 30

Flash Remoting + ColdFusion + AMFPHP

Escrito por Lucas Marçal em Actionscript 3.0, amfphp, ColdFusion 8, Destaque, Flash Remoting, Tutoriais @ 10 30th, 2009 | via http://www.lucasmarcal.com.br/blog/ | Sem comentários
Lucas Marçal
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Salve pessoal
Historicamente eu sempre trabalhei com ColdFusion isso já tem alguns anos, porém nos últimos 2 anos e venho trabalhando bastante com PHP por motivos óbvios, a falta de programador ColdFusion visto que eu não faça mais todo o processo de desenvolvimento de um site.

Porém essa semana eu tive uma demanda de um site feito em flash que deveria consumir métodos de um CFC (ColdFusion Componente), como eu não fazia isso desde a época que eu trabalhava com AS2 decidi escrever uma nova classe para conexão em AS3 e foi exatamente ai que meus problemas começaram.

Primeiramente eu teria que instalar o ColdFusion 8 na minha maquina e de preferência ele deveria rodar em cima do Apache, para isso eu usei o Tutorial do meu brother Marcio Nakano:
Instalando servidor Apache com Mysql e as linguagens ColdFusion e PHP.

Feito isso (e depois desfeito, pois achei que isso poderia ser a causa do erro que eu descrevo a seguir) agora era a hora de escrever a classe, mas por onde começar, Google é a solução? Não foi bem assim.

O material que fala sobre Flash Remoting + ColdFusion na web é bem fraco e muito confuso sem falar que a grande maioria é em inglês o que dificultou um pouco mais o entendimento já que não sou um expert na língua do “Tio Sam”, abaixo estão listados alguns dos melhores que encontrei:
Delicious Flash Remoting

Foi então que tive a feliz idéia de Twittar essa minha raiva e logo depois recebi uma mensagem do Neto Leal e de Bruno Ribeiro me oferecendo ajuda, na parte do Neto Leal ele me indicou esse link:
Ativando Flash Remoting

Mesmo fazendo o que o link indica o erro ainda persistia foi então que comecei a trocar idéia com o Bruno Ribeiro, depois de algumas dicas e do envio da classe que ele mesmo usa para fazer isso eu consegui conectar e consumir um método do ColdFusion.

Eu sempre digo isso, mas é bom reforçar, na vida uma das melhores coisas é ter amigos e eu agradeço ao Neto Leal e ao Bruno Ribeiro pela ajuda, então nada mais lógico do que eu postar aqui a classe que eu fiz baseada nesse longo caminho percorrido para conseguir conectar o Flash ao ColdFusion e ao AMFPHP, lembrando que essa classe foi baseada na classe do Bruno Ribeiro e não tenho a pretensão de achar que ela é a melhor do mundo, mas pelo menos ela funciona com ColdFusion e AMFPHP, segue o código:

RemotingConexao.as

package lmcosta.remoto.cf
{
	import flash.display.MovieClip;

	import flash.events.Event;
	import flash.events.EventDispatcher;
	import flash.events.NetStatusEvent;

	import flash.net.NetConnection;
	import flash.net.ObjectEncoding;
	import flash.net.Responder;
	import nl.demonsters.debugger.MonsterDebugger
	/**
	 * ...
	 * @author lmcosta
	 * @link www.lucasmarcal.com.br/blog - www.brunoribeiro.net
	 * @return
	 * @version 1.0
	 */

	public class RemotingConexao extends MovieClip
	{
		public var _servico    :        NetConnection;
		public var _responder  :        Responder;
		public var _fcnRetorno :        Function;
		public var _cfc        :        String;
		public var _metodo     :        String;
		public var _resultado  :        Object;
		public var debug       :        MonsterDebugger;

		public function RemotingConexao()
		{
			this._responder =                new Responder(resultado, falha);
			this._servico   =                new NetConnection();
			this._servico.objectEncoding =   ObjectEncoding.AMF0;
			this.debug = new MonsterDebugger(this);
			this._servico.connect("http://www.seudominio.com.br/flashservices/gateway");
			MonsterDebugger.trace(this, "Chamou a classe de conexão:");
		}
		/**
		 *
		 * @param	$cfc = String que contém o caminho do CFC
		 * @param	$metodo = String com o nome do método do CFC
		 * @param	$fcnRetorno = Metodo de retorno na referencia dessa classe
		 * @param	$args = Argumentos
		 */
		public function consome($cfc:String = "" , $metodo:String="" , $fcnRetorno:Function = null , $args:Object = null ):void
		{
			MonsterDebugger.trace(this, "Consumindo metodo:");
			var refCFCMetodo:String = $cfc + "." + $metodo;

			this._fcnRetorno = $fcnRetorno;
			this._cfc = $cfc;
			this._metodo = $metodo;

			if ($args == null)
			{
				MonsterDebugger.trace(this, "Chamou sem parametros:");
				this._servico.call.apply(null, [refCFCMetodo, this._responder]);
			}
			else
			{
				MonsterDebugger.trace(this, "Chamou com parametros: " + $args);
				this._servico.call.apply(null, [refCFCMetodo, this._responder].concat($args));
			}

		}
		/**
		 *
		 * @param	f = Objeto que retorna Erros
		 */
		private function falha(f:Object):void
		{
			trace("fault"+f.details);
			trace("fault"+f.description);
		}
		/**
		 *
		 * @param	re = Objeto que retorna os resultados
		 * @return  Retorna o valor que veio do CFC na referencia da classe
		 */
		private function resultado(re:Object):Object
		{
			this._resultado = re;
			return this._fcnRetorno(this._resultado);
		}

	}

}

Consumindo a classe
Para utilizar essa classe você deve criar um novo arquivo no Flash do tipo Actionscript 3.0, depois crie uma classe que no meu caso eu chamei de “Teste.as” e escreva o seguinte:

Teste.as


package
{
	import flash.display.MovieClip;
	import lmcosta.remoto.cf.RemotingConexao;
	/**
	 * ...
	 * @author lmcosta
	 */
	public class Teste extends MovieClip
	{
		public var re:RemotingConexao

		public function Teste()
		{
			trace("Conetando.......")
			this.re =  new RemotingConexao();
			this.re.consome("remotoAS3.componente", "ola", this.resultadoItem, {msg:"Seja Bem vindo"});
		}

		public function resultadoItem(obj:Object):void
		{
			trace("Tudo certo hora de trampar  " + obj)
		}

	}

}

Arquivos do Tutorial

Para utilizar a mesma classe para conectar ao AMFPHP basta você trocar o caminho do Gateway na classe RemotingConexao.as e indicar a classe e o método na classe Teste.as
Gostaria mais uma vez de agradecer ao Bruno Ribeiro e ao Neto Leal pela ajuda e espero que essa classe possa ajudar a todos.
Até a próxima pessoal e sigam-me pelo Twitter

« Entradas anteriores | Entradas recentes »

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2791 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com