DClick

Arquivos da categoria "ColdFusion"

Segundo Censo Nacional de ColdFusion

Categorias relacionadas: ColdFusion, Notícias
Twitter!

O CFUGBR convida todos para participarem do 2º mapeamento da realidade da comunidade CF brasileira! Para participar é simples. São 24 questões objetivas que não tomam nem cinco minutos para serem respondidas. O resultado deste censo será público, permitindo planejar o crescimento da tecnologia bem como o nosso crescimento profissional. Lembrando que nenhum dado pessoal será coletado, somente o e-mail será cadastrado e o CFUGBR se compromete em não divulgar nem comercializá-lo.

Participe do censo e ajude a fortalecer a comunidade ColdFusion!

O CFUGBR está de parabéns pela iniciativa e também pela continuidade dos trabalhos!

Por Fabio Terracini em 2/July/2007
Nenhum Comentário »


No Translations

Sintaxe: Uma questão de forma ou de função?

Categorias relacionadas: ColdFusion, Notícias
Twitter!

O RIAForge anunciou recentemente este projeto que permite escolher uma dentre diversas linguagens de Script para trabalhar no CF. Seguindo o exemplo do .NET, isto significa que o programador é livre para escolher a sintaxe que mais lhe agrada.

Agrada? Por isto eu poderia escolher aquela que eu mais gosto? Ou seja, seria a sintaxe uma questão de forma ou teria ela uma importante função?

Algumas sintaxes são mais expressivas que outras. Isto quer dizer que eu posso expressar mais escrevendo menos sob o custo de uma legibilidade reduzida. Para um projeto simples, por exemplo, poderíamos adotar a sintaxe mais expressiva, conseqüentemente mais produtiva embora menos legível. Já para um projeto grande a sintaxe deveria ser a mais legível possível mesmo sendo um pouco mais “burocrática”.

Desta forma, a sintaxe escolhida pode estar relacionada ao projeto e não ao gosto pessoal de cada programador. Logo, a sintaxe não é apenas uma questão de forma, desempenhando sim uma importante função no código do software.

Por Beck Novaes em 7/June/2007
Nenhum Comentário »


No Translations

Ben Forta em São Paulo!

Categorias relacionadas: ColdFusion, Flex, Notícias
Twitter!

Adobe Brasil e o AUG-SP convidam-o para conhecer Ben Forta, Senior Technical Evangelist da Adobe e autor de inúmeros livros sobre desenvolvimento web.

Ben Forta estará no Brasil no dia 28/02 para apresentar alguns dos impressionantes recursos da nova versão do Adobe ColdFusion Server 8 (codinome Scorpio) e as inúmeras possibilidades de integração com a tecnologia de frontend Adobe Flex 2.

O evento é gratuito e as vagas são limitadas! Informações sobre o local e inscrições no site do AUG-SP.

Ben Forta também visitará algumas empresas como Embraer, Correios e a DClick.

Por Fabio Terracini em 9/February/2007
Nenhum Comentário »


No Translations

Primeiro Censo Nacional de ColdFusion

Categorias relacionadas: ColdFusion, Notícias
Twitter!

O CFUGBR está com uma iniciativa muito bacana que pretende traçar o perfil do desenvolvedor ColdFusion brasileiro. É importante que os desenvolvedores participem e respondam à pesquisa – que é fácil e não demora dois minutos para ser completada. A pesquisa pode ser preenchida até o dia 30 de dezembro, mas como é tão rápida, dá para responder fácil-fácil após a leitura desse post. :-)

Participe! e divulgue!

Para interagir com o projeto, participe da lista CF-Brasil, que é de onde essa e outras idéias estão surgindo.

Por Fabio Terracini em 1/December/2006
Nenhum Comentário »


No Translations

Utilizando o FusionDebug

Categorias relacionadas: ColdFusion, Flex, Notícias
Twitter!

FusionDebug é um plugin para o Eclipse que permite debuggar aplicações em ColdFusino tal como é feito em aplicações Java e em Flex. Eu já havia comentado sobre ele no CFGigolo.com. Assim, quando occorrer uma parada via debug (tanto em caso de erro quanto por um breakpoint adicionado manualmente), é possível visualizar o valor das variáveis, o conteúdo dos escopos, o stack trace, roda expressões, executar o código passo-a-passo, e por aí vai.

Após alguns testes, adquirimos licenças para a DClick. Porém, quando, fomos utilizar efetivamente em um projeto, ele não funcionou.

Em nossos projetos nós criamos uma pasta “src” (tal como acontece por padrão em projetos Java). Assim, esse era o nosso “source folder”, e os arquivos ColdFusion dali era jogados para o webroot. Assim, um “localhost/arquivo.cfm” simplesmente não tinha um correspondente “arquivo.cfm” no projeto – pois ele estava em “src/arquivo.cfm”.

Nós reportamos o ocorrido para a FusionReactor (fabricante do FusionDebug) quue prontamente respondeu estar ciente do problema e nos orientando para um workaround simples (não utilizarmos a pasta “src”) e afirmando que na próxima versão do produto (1.5, já em beta) isso já está corrigido.

Por Fabio Terracini em 30/November/2006
Nenhum Comentário »


No Translations

“RemoteObject” no Flex 2 com PHP e com Java sem Data Services

Twitter!

É possível no Flex 2, hoje, consumir objetos do PHP tal como era feito no Flex 1.5 com o uso do AMFPHP, assim como é possível consumir objetos Java com o OpenAMF sem a necessidade do Flex Data Services.

Para consumir objetos Java diretamente do Flex 2.0 usa-se o componente RemoteObject, que implementa um conjunto de funcionalidades - entre elas a serialização ("tradução") dos objetos - do Java para o ActionScript 3.0. No Flex 2 o RemoteObject troca informação com o servidor utilizando um formato chamado AMF3 (ActionScript Message Format 3), de forma que ele pode conversar com qualquer servidor que também saiba receber e enviar objetos (bem como fazer sua serialização) em AMF3. O Flex Data Service é uma aplicação J2EE para comunicação entre a camada de apresentação feita em Flex e a camada de negócios em Java de alta performance, que além de "falar" em AMF3 e ter o RPC (Remote Procedure Call) via RemoteObject oferece funcionalidades de Messaging (colaboração, push de dados, etc) e de Data Management (sincronização de objetos, clientes off-line, etc). O Flex também pode se comunicar com serviços em SOAP (WebServices) ou via HTTP.

Contudo, nem sempre é possível utilizar um servidor capaz de se comunicar em AMF3, como o Flex Data Services ou o ColdFusion.

A versão anterior do Flex (versão 1.5) era baseada no ActionScript 2.0, cujo formato para troca de dados do RemoteObject era o AMF0 (não existe AMF1 nem AMF2). Para esse formato de troca de mensagens há outros servidores que podem ser utilizados, como o OpenAMF (para Java) e o AMFPHP (para PHP). O ColdFusion já conversava nativamente com o Flex 1.5, assim como faz com o Flex 2.

É esperado que essas tecnologias (OpenAMF e AMFPHP) sejam atualizados para se comunicar também em AMF3 e conversar nativamente com o Flex 2, mas ainda assim é possível utilizar as versões existentes do OpenAMF e AMFPHP que se comunicam apenas via AMF0 com o Flex 2. O que precisa ser feito, basicamente, é dizer para o Flex que os dados que serão trocados estarão no formato AMF0, e não no formato AMF3.

Como o RemoteObject só conversa em AS3, podemos utilizar a classe flash.net.NetConnection que igualmente pode ser utilizada para se comunicar com o servidor e contém uma propriedade (objectEncoding) indicando o encoding dos objetos trocados com o servidor. Essa variável é static e os possíveis valores para ela estão definidos na classe flash.net.ObjectEncoding:

NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;

Assim, podemos criar um novo serviço regido pela classe NetConnection:

public var service:NetConnection = new NetConnection();

E definir qual o endpoint ele acessará:

service.connect("http://localhost:8080/TesteAMF/amfgateway");

A partir daí, basta usar o método call() de nosso serviço (que é um NetConnection) para chamar os métodos no servidor. Nesse momento vamos também definir os responsáveis por tratar a resposta do servidor, utilizando a flash.net.Responder:

service.call("Teste.getArrayList", new Responder(resultHandler, faultHandler));

Abaixo um exemplo completo em Flex 2.0 que se consome uma classe Java via AMF0:

XML:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application
  3.     xmlns:mx="http://www.adobe.com/2006/mxml"
  4.     initialize="initApp()">
  5.  
  6.     <mx:Script>
  7.     <![CDATA[
  8.     import flash.net.ObjectEncoding;   
  9.     import flash.net.NetConnection;
  10.     import mx.collections.ArrayCollection;
  11.     import mx.controls.Alert;
  12.    
  13.     // O serviço poderá ser chamado de qualquer lugar.
  14.     public var service:NetConnection = new NetConnection();
  15.    
  16.     [Bindable]
  17.     public var meses:ArrayCollection;
  18.        
  19.     public function initApp():void
  20.     {
  21.         // define o encoding para amf0
  22.         NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;
  23.        
  24.         // Conecta no servidor amf. O endereço é o "endpoint" do RemoteObject
  25.         service.connect("http://localhost:8080/TesteAMF/amfgateway");
  26.     }
  27.    
  28.     public function getArrayList():void {
  29.         // Chama o método getArrayList da classe Teste.
  30.         // Define um handler para o o resultado e um para a falha.
  31.         service.call("Teste.getArrayList", new Responder(resultHandler, faultHandler));
  32.     }
  33.    
  34.     public function resultHandler(result:Array):void
  35.     {
  36.         meses = new ArrayCollection(result);
  37.     }
  38.  
  39.     public function faultHandler(fault:String):void
  40.     {
  41.       Alert.show('Erro');
  42.     }
  43.  
  44.     ]]>
  45.     </mx:Script>
  46.  
  47.     <mx:RemoteObject />
  48.     <mx:ComboBox dataProvider="{meses}" />
  49.    
  50.     <mx:Button buttonDown="getArrayList()" label="Pegar dados do servidor" />
  51.    
  52. </mx:Application>

É possível até mesmo conectar à serviços disponíveis em uma instalação do Flex 1.5. Assim, novas aplicações podem ser desenvolvidas em Flex 2 para aproveitar os novos recursos de interface, até o servidor ser efetivamente migrado para o Flex Data Services.

Esse é um exemplo simples de integração, uma prova de conceito. Boa parte da lógica de conexão com o serviço remoto pode ser encapsulada em uma classe para ser mais fácil de trabalhar. Já há um componente muito interessante chamado RemoteObjectAMF0 que visa justamente isso.

A prática de consumo e troca de objetos é encorajada em relação ao WebService e à serviços HTTP. Além dos ganhos de performance e escalabilidade, há troca (e serialização) dos objetos nativos das linguagens. Prefira o uso do RemoteObject, aproveite os benefícios do AMF.

Por Fabio Terracini em 28/November/2006
8 Comentários »


No Translations

Sneak Peeks: Connect e ColdFusion

Categorias relacionadas: ColdFusion, MAX 2006, Notícias
Twitter!

Hoje foram apresentados alguns “sneak peeks”, funcionalidades que os engenheiros da Adobe estão trabalhando que são realmente inovadoras.

Para o Adobe Connect, foi mostrado um plugin feito em Flash para o Yahoo Messenger. Dali foi aberta uma conferência no Connect (anteriormente conhecido como Breeze). E dentro do Connect (que é feito em Flash) foi aberto um documento PDF! Eles abriram um PDF dentro do Flash Player!

Para o ColdFusion, Tim Buntel, que está de volta à Adobe, agora como Senior Product Manager, tentou entrar no site do Ben Forta, e por algum motivo o site não entrava. A equipe do CF, e especialmente o Tim Buntel, adoram fazer “showzinhos”, e nessa MAX não podia ser diferente. Tim Buntel, preocupado em porque o site forta.com não estava funcionando, chamou seu super-herói favorito: o Scorpio!

Adivinhem quem era o cidadão fantasiado de escorpião (e naquela cor azul-calcinha do ColdFusion)… sim, ele mesmo! O Ben Forta em pessoa! Ou melhor, em super-herói. Scorpio, para os que ainda não ouviram falar, é o codinome da próxima versão do ColdFusion.

Então eles apresentaram os recursos de server monitoring, com estatísticas de cache, página, slow times, memória, com a possibilidade de configurar alertas, etc etc. Outro recurso apresentado rapidamente foi a tag cfimage, para manipulação de imagens, como redimensionamento, escrever na imagem, captcha e afins.

Por Fabio Terracini em 26/October/2006
Nenhum Comentário »


No Translations