logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Nov 28

NoSQL, mas o que é isso?

Escrito por Erko Bridee em 1, 2.0, 2009, 4, 6, abas, action, Adobe, Adobe Flex, AMF, api, aplicaçoes, AR, arte, Banco de Dados, BI, Blazeds, blog, C#, class, comunidade, dados, Desenvolvedor, desenvolvedores, Desenvolvimento, Desenvolvimento de Software, Desktop, Excel, exemplo, Exemplos, facebook, Flex, for, ide, IE, if, image, int, Introdução, Java, Links, lista, Mate, mg, O, on, Pessoal, podcast, prova, pt, Redes Sociais, Remoting, RIA, Ria’s Geral, S+S, servidor, Software, Sun, tag, Tema, Twitter, UI, Ved, web, XP @ 11 28th, 2011 | via http://blog.erkobridee.com | Sem comentários
Erko Bridee
? 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 »

Caso voc? trabalha com desenvolvimento de software, ambiente web, provavelmente tem ouvido e lido sobre esse tal de NoSQL, mas o que ?, para que serve, quando usar, voc? sabe?

Aten??o a explica??o a seguir ? a minha com rela??o ao assunto:

Antes de mais nada, o NoSQL ? um novo modelo de base de dados, diferente do modelo relacional, que, creio eu ? muito conhecido de todos os desenvolvedores de software, o NoSQL surgiu para suprir a necessidade de lidar com um volume de informa??es que podem ir muito al?m da que voc? consiga imaginar. Este ? o cen?rio de redes sociais, exemplos cl?ssicos n?s temos o Twitter, Facebook e outras redes, onde a quantidade de informa??o gerada pelos usu?rios (essas redes que possuem milh?es de usu?rios ao redor do mundo) possui um crescimento que as bases de dados relacionais n?o conseguem comportar.

O NoSQL surgiu j? pensando em crescimento da informa??o armazenada e manipulada. As solu??es de NoSQL que temos dispon?veis hoje j? vem por padr?o com todo o conjunto de suporte para poder adicionar novos servidores (nodes) e comportar um crescimento dos dados a um custo muito menor do que a das bases relacionais. Esse crescimento ? chamado de crescimento horizontal, onde basta adicionar novas m?quinas e nessas bases NoSQL adicionadas como nodes da base e tudo pronto. Enquanto nas bases relacionais o crescimento ? vertical, ou seja, ? necess?rio aumentar o poder de hardware dos servidores (e este custo ? alto), al?m do fato que a implementa??o de servidores escravos e nodes n?o s?o simples de adicionar e gerenciar, pois essas bases n?o foram projetadas para atender a esse n?vel de demanda.

Sei que n?o sou o melhor para explicar o respectivo tema, ent?o vamos ao real objetivo do tema, segue alguns materiais interessantes para estudar quanto ao tema, segue estes excelentes postcats sobre o tema que apresenta uma boa vis?o e explica??o sobre o assunto, do pessoal do Grok Podcast:

Epis?dio 45 – Repensando os bancos de dados – NoSQL – Parte 1 de 3

Epis?dio 46 – Repensando os bancos de dados – NoSQL – Parte 2 de 3

Epis?dio 47 – Repensando os bancos de dados – NoSQL – Parte 3 de 3

Links para mais informa??es do assunto:

Informa??es na Wikipedia Br

Comunidade Brasileira de NoSQL

Listagem das bases NoSQL existentes

Escalabilidade – Introdu??o ao NoSQL 1

Escalabilidade – Introdu??o ao NoSQL 2

Compara??o das bases NoSQL (em ingl?s)


Veja também:

  • [Filosofia] KISS – Keep it stupid simple
  • Adobe Flex : porque usar remoting?
  • Mas que raios é esse tal de BPEL?!
  • Configurando o seu ambiente de desenvolvimento para Flex e Java : desenvolvimento com Maven
  • Construindo aplicações Web e Desktop com BlazeDS e AMF
Nov 13

AMFRestfull: Um back-end para qualquer front-end

Escrito por DClick Team em 1, 2.0, 6, AMF, AR, Arquitetura, back, Blazeds, blog, C#, Carreira, código, código fonte, demo, Flex, fonte, git, Java, novidade, O, on, Pessoal, problema, problemas, programação, rest, Ria’s Geral, S+S, screen, Screencast, serviço, Serviços, Source Code, TAT, Twitter, UI, XML @ 11 13th, 2011 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? 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 »

Twitter!

Olá pessoal, tudo bom?

Primeiro que estou contente por esse ser meu primeiro post no blog da DClick.
Segundo que este é o meu primeiro screencast da carreira. Ainda preciso melhorar muito, mas espero que gostem.

Pensem em um back-end Java que independa de front-end. Em uma arquitetura de serviços: RestFull.
Até então, nada de novidade, já que RestFull é algo ‘antigo’ quando se usa outputs em XML ou JSON. Mas e outputs em AMF??? Isso sim é novidade, e é isso que estarei demonstrando para vocês:

E então, alguém sabe os dois grandes problemas em usar/manter isso em um projeto “pra valer”?
Não percam a continuidade aqui!

Código fonte do projeto Java/Flex:
https://github.com/mariojunior/amf-restfull

Abraços galera!

Ago 27

Flex, Grails e BlazeDS

Escrito por DanielPedrinha em 1, 2.0, AR, back, BI, Blazeds, blog, C#, configuração, Exemplos, Flex, IE, instalação, Java, lite, O, on, rails, Ria’s Geral, S+S, Tutorial @ 08 27th, 2011 | via http://www.flexbrasilia.com.br/ | Sem comentários
DanielPedrinha
? 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 »

Bom, como sou basicamente um programador Flex, preciso de coisas que facilitem minha vida com relação ao back-end. Conheci o Grails e estou gostando bastante da praticidae. Já havia tentado trabalhar com Java outras vezes mas desisti antes de começar a produzir só pela complexidade dos ambientes. Até que o Grails apareceu pra resolver esse [...]

(Read more…)

Jul 10

[Flexmania 2011] Planejando e projetando – Dashboad : Flex + Java

Escrito por Erko Bridee em .NET, 1, 2.0, 3.5, 4, 6, action, Adobe, Adobe Flex, Adobe Flex - 3, api, AR, Arquitetura, BI, Blazeds, blog, C#, class, código, dados, Download, err, event, Evento, flash, flash builder, Flex, Flex 3, Flex 4, Flex Mania, Flexmania, git, ide, IE, image, Java, mg, mysql, O, on, Oracle, Palestra, problema, prova, pt, RIA, Ria’s Geral, S+S, screen, servidor, Spring, Tema, Twitter, UI, UX, web @ 07 10th, 2011 | via http://blog.erkobridee.com | Sem comentários
Erko Bridee
? 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 »

Este ano (2011), tive a oportunidade de participar e palestrar no evento FlexMania, na qual participei com o tema:? Planejando e projetando – Dashboad : Flex + Java.

Onde o objetivo central da minha palestra foi auxiliar a pensar e projetar uma aplicação Dashboad.

Segue os slides da palestra:

Slides da palestra no Flex mania 2011

Código do projeto de prova de conceito apresentado na palestra:

https://github.com/erkobridee/Twitter-Analyzer

Obs.: inclui instruções de como montar o ambiente nos arquivos README, além de disponibilizar um script de criação da base de dados com uma massa de dados inicial. (Atenção o nome da base deve ser: flexmania2011 no MySQL)

Visão da arquitetura da aplicação:

Tweet

Veja também:

  • Flerry 1.2.0 disponível
  • FlexMania 2010 – Adobe Flex + Oracle WebLogic 10.x
  • Adobe Flex + BlazeDS e um problema de conexão no servidor
  • Adobe Flash Builder + Flex 4 + BlazeDS 4
  • Adobe Flex 3.5 : UploadDownloadBlazeDS
Jul 5

Adobe @ the Museum 2

Escrito por Mauro Martins em .NET, 1, 2.0, 4, 6, Adobe, Adobe User Group, Air, Android, app, AR, AUG, BI, Blazeds, blog, break, C#, class, Desenvolvimento, Desenvolvimento RIA, development, err, event, Evento, Eventos, events, flash, Flash / Flex, flash builder, Flex, for, framework, Frameworks, image, int, Links e sugestões, map, Mate, mg, mobile, O, on, platform, produto, RIA, Ria’s Geral, S+S, site, Spring, tag, UI, User Group @ 07 5th, 2011 | via http://imauro.com/blog/ | Sem comentários
Mauro Martins
? 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 »

augPortoLogo Adobe @ the Museum 2

Olá a todos!

Serve este post para vos dar conhecimento do próximo evento da Adobe User Group Porto, o Adobe @ the Museum 2.

O evento vai ter lugar no Museu Soares dos Reis, no dia 16 de Julho, e tem como “estrela” internacional o Mihai Corlan da Adobe.

O Mihai é um Adobe Platform Evangelist para, Flex, AIR, BlazeDS… (podem ver o site dele em http://corlan.org/)

Aqui fica o alinhamento:

  • 10:00 Recepção
  • 10:30 Developing mobile apps for Android, iOS, and PlayBook with AIR and Flex – Mihai Corlan
  • 11:15 Break
  • 11:45 Frameworks de desenvolvimento RIA (Swiz, Mate, Parsley, Spring4AS, RobotLegs) – Rui Silva
  • 12:30 Almoço
  • 14:00 Hands-on: Introduction to mobile development for Android/iOS/PlayBook using Flash Builder, Flex, and AIR (part I) – Mihai Corlan
  • 14:45 Break
  • 15:00 Hands-on: Introduction to mobile development for Android/iOS/PlayBook using Flash Builder, Flex, and AIR (part II) – Mihai Corlan
  • 16:30 A anunciar
  • 17:15 Encerramento

No final ainda vamos sortear uma suite de produtos Adobe, e mais alguns souvenirs!

Se puderem passem a palavra a vossos amigos, colegas etc. e, se se quiserem registar, por favor, façam-no em http://augporto.stagehq.com/events/905

Vai ser uma oportunidade em grande e a não desperdiçar!



Jun 11

FlexMania 2011

Escrito por Stefan Horochovec em 1, 2.0, 2009, 4, 6, Adobe, Adobe Flex, app, AR, BI, Blazeds, blog, C#, class, Desenvolvimento, Desenvolvimento RIA, engine, err, event, Evento, flash, Flex, Flex 4, Flexmania, for, Google, IE, if, image, Java, mg, O, on, Palestra, Palestras, Pessoal, platform, RIA, Ria’s Geral, S+S, site, Sun, UI, Vídeo, XP @ 06 11th, 2011 | via http://www.horochovec.com.br/blog | Sem comentários
Stefan Horochovec
? 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!

Ontem (10/06) tivemos o lançamento do site do FlexMania versão 2011. Estou muito feliz pelo convite feito peloIgor Costa para eu participar do evento.

Tive a honra de participar das três edições do evento, em 2009 com a palestra sobre Adobe Flex, Java e BlazeDS, em 2010 com a palestra sobre Adobe Flex 4, Java e Google App Engine – Alta escalabilidade para sua aplicação nas nuvens e esse ano estarei conversando com você sobre o Playbook, o tablet da BlackBerry ( que por sinal é patrocinadora do evento, olha a responsa :D ).

Espero contar com sua presença no evento e também na minha palestra.

Novamente o FlexMania será o evento do ano quando o assunto é desenvolvimento RIA utilizando a Adobe Flash Plataform! E o melhor, é de graça, assista de sua casa ou trabalho!

Não assistiu ainda meu vídeo convidando você para o FlexMania? Dá um play ali em baixo, mas assista apenas os primeiros 30 segundos!

Até o FlexMania!

Mai 20

Desenvolvedores Flex / Java – Home Office

Escrito por Fabio da Silva em 1, 2.0, 3.5, 4, 6, Air, AR, BI, Blazeds, blog, Blogs, C#, Desenvolvedor, desenvolvedores, Flex, Flex 4, framework, Google, Hibernate, IE, int, Java, mg, mvc, O, Office, on, Ria’s Geral, Spring, Tech, Tecnologia, UI, Ved @ 05 20th, 2011 | via http://fabiophx.blogspot.com | Sem comentários
Fabio da Silva
? 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 »

A Integritas Tecnologia – Open Solutions está contratando 3 a 4 desenvolvedores Flex/Java, para trabalho em tempo integral, com horário flexível, para início em meados de Junho, via home office, na modalidade PJ.

Requisitos:
1) conhecimento de um framework Flex MVC, especialmente Cairgor
m 3
2) conhecimento do framework BlazeDS, para integração Flex/Java

3) Flex 4

4) Spring + Hibernate

Por favor, enviem currículo para: rh@integritas.com.br

Mai 11

Upload de arquivo com Servlet e Flex – Parte II

Escrito por Cognitiva Soluções em 1, 2.0, 3.5, 4, 6, AR, arte, Blazeds, blog, Blogs, C#, class, classe, err, erro, error, event, EventListener, exemplo, Flex, function, Google, handle, html, if, image, Java, mg, O, on, problema, progress, reference, RIA, Ria’s Geral, RoR, S+S, string, Tutorial, UI, vs @ 05 11th, 2011 | via http://blog.cognitivasolucoes.com | Sem comentários
Cognitiva Soluções
? 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 »

Vamos a segunda parte. Para evitar o problema de perda de sessão ocasionado pelo Upload utilizando método upload da classe FileReference do Flex é preciso recuperar no Java o jsessionid.

Vamos ao exemplo de como recupera-lo:
public String getSessionId()
  // Pegando Request no blazeDS
  HttpServletRequest request = FlexContext.getHttpRequest();
  HttpSession session = request.getSession();

  return request.getSession().getId();

Já no Flex para utilizar o FileReference:

protected function btEscolher_clickHandler(event:MouseEvent):void
   if(fileRef == null)
    this.fileRef = new FileReference();
    this.fileRef.addEventListener(Event.SELECT, onSelect);
    this.fileRef.addEventListener(Event.COMPLETE, onUploadComplete);
    this.fileRef.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErro);
    this.fileRef.addEventListener(IOErrorEvent.IO_ERROR, onErro);
    fileRef.addEventListener(ProgressEvent.PROGRESS, onProgress);

   this.fileRef.browse();
  }

Apenas é necessários realizar os tratamento para cada EventListener colocado.

Caso você não tenha lido a Parte I deste tutorial acesse aqui.

Mar 29

Pattern Delegate e os Mocks

Escrito por Janderson Cardoso em Adobe Flex, Blazeds, Design Patterns, Ria’s Geral, Swiz Framework @ 03 29th, 2011 | via http://www.jandersonfc.com/ | Sem comentários
Janderson Cardoso
? 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 »


 Pattern Delegate e os Mocks

Hoje vou falar sobre um pattern muito importante e que é muito usado no Flex(client) chamado de Delegate. Para quem nunca ouviu falar vou resumir da seguinte forma:

“Delegate é o pattern que indica a comunicação do cliente com as regras de negócio sem a necessidade do cliente conhecer as regras de negócio.”

Explicação Abstrata – Todo sistema possui suas regras de negócio, que normalmente são expostas através de serviços. o Delegate tem justamente esse papel, centralizar um local no cliente(aplicação frontend) para essa chamada ao serviço que expôe as regras de negócio do sistema. Uma coisa muito importante nesse pattern é que ele não deve conhecer as regras de negócio em si, normalmente consomem serviços mas não sabem o que realmente eles fazem.

Explicação Concreta - Em 90% dos projetos em que trabalho cujo o frontend é em Flex o backend é em Java, toda a lógica do sistema(Regras de Negócio) ficam no java. No Java possuo um Serviço que via Blazeds é disponibilizado para ser consumido no Flex. Com esse cenário costumo ter uma classe Delegate no lado do flex que consome o serviço disponibilizado pelo blazeds através de RemoteObject.

Na teoria é tudo muito funcional e faz sentido, porém na prática sempre existe a dúvida se realmente vale a pena ter mais esse nível de conceito e organização no flex, então vou colocar 2 pontos positivos para estimular essa boa prática:

Definição de uma padrão na comunicação com backend – a partir de hoje quando você analisar um código em flex que possui um classe com parte do seu nome Delegate você terá a certeza que toda a comunicação com o backend se encontra ali, não precisa que ninguém te mostre ou que desenhe pra você icon smile Pattern Delegate e os Mocks

Grande Facilidade para usar os Mocks – Outro ponto positivo que está diretamente ligado a minha opinião é o uso de Mocks, para quem não sabe o que é Mocks precisa de um tapa na orelha..rs brincadeira icon razz Pattern Delegate e os Mocks . Mocks são dados que são gerados de forma “falsa” para testar ou simular uma parte de um sistema, normalmente uso muito no flex para simular uma chamada ao serviço do backend, isso é bom porque não preciso de um servidor rodando para testar(me refiro a teste funcional) se o client(flex) está funcionando corretamente.

Vou terminar com 2 exemplos práticos de como o uso do Delegate me ajudou a padronizar meu projetos e a usar os mocks:

Flex 4 + Swiz – neste Tutorial Básico Swiz Framework 1.0 uso o conceito de Delegate como pode ser analisado nesse pacote e Também os Mocks(no caso dos Mocks uso o utilitário do próprio swiz para criar mocks) que é justamente a classe ContactDelegateFake.as.

Flex 4 + Springas – neste Tutorial Spring ActionScript uso o conceito de Delegate como pode ser analisado nesse pacote e também os Mocks(No caso dos Mocks uso o utilitário do springas para criar mocks) que é justamente a classe ContactDelegateFake.as.

Em ambos os casos acima na controller(que é onde fica a classe que faz referência ao delegate) é feito apenas referência a uma interface IContactDelegate, então fica fácil mudar de mock para o Delegate que realmente invoca o backend, se a comunicação com backend já fosse feita no controller essa mudança de mock para o real ficaria muito mais difícil.

Bem, bons estudos e espero ter justificado o porque que em meus exemplos aqui no blog costumo usar o pattern delegate icon wink Pattern Delegate e os Mocks

Cumps.


 Pattern Delegate e os Mocks

Similar Posts:

  • TUTORIAL JAVA + FLEX NA PRÁTICA 4/6
  • Swiz não é mais Framework MVC!
  • MVC da teoria para a prática
  • Tutorial Spring ActionScript
  • TUTORIAL JAVA + FLEX NA PRÁTICA 5/6

Mar 7

BlazeDS – do básico ao avançado – Parte 1

Escrito por DClick Team em 1, 2009, 4, 6, action, Actionscript, Adobe, AMF, apache, app, AR, arte, auto, BI, Blazeds, blog, botão, class, classe, cliente, código, código fonte, Componente, componente flex, Componentes, comunicação, configuração, control, Controls, Crossdomain, custom, dados, demo, developer, Diversos, Documentação, Download, Eclipse, err, erro, event, Evento, events, exemplo, Exemplos, falha, flash, Flex, fonte, for, framework, Frameworks, function, Galileo, git, handle, Hibernate, HTTPService, ide, IE, if, image, instalação, int, Java, library, LOB, Messaging, mg, MXML, NaN, O, on, opensource, Outros, Plugin, problema, problemas, pt, reference, referencia, Remoting, RIA, Ria’s Geral, runtime, screen, Screencast, screencasts, Segurança, Sem categoria, server, serviço, Serviços, servidor, site, spark, Spring, string, tag, TAT, Tecnologia, Twitter, UI, uint, web, Webservice, window, XML @ 03 7th, 2011 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? 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 »

BlazeDS é uma aplicação Java opensource mantida pela Adobe, sob licensa GNU Lesser General Public License, Version 3 (LGPL v3), que fornece um conjunto de serviços, todos sobre o protocolo HTTP(Hyper Text Transfer Protocol), para permitir uma aplicação Flex fazer chamadas a serviços remotos Java, retornando os dados tanto de forma assíncrona como em tempo real.

Por utilizar o formato de dados binário chamado AMF(Action Message Format) para a serialiazação e deserialização de dados, a comunicação entre uma aplicação Flex e o servidor Web se torna muito otimizada. Existem estudos feitos comparando as diversas tecnologias, como o Jamesward, mostrando o potencial do AMF.

Outra grande vantagem quando usamos o BlazeDS é a facilidade de ter classe Java automaticamente convertida para uma classe ActionScript e vice-versa.

O BlazeDS pode ser baixado do site da Adobe em dois formatos:

  1. Turnkey – Versão que já vem com exemplos e servidor tomcat pré configurado
  2. Binary – Versão com os binários

Você pode optar também por fazer o download do código fonte. A documentação também está disponível neste link.


Entendendo os arquivos de configuração do BlazeDS
A estrutura de arquivos do BlazeDS é bem simples, quando descompactamos o blazeds.war, presente na versão binária, podemos ver a seguinte estrutura:

Devemos nos atentar a duas pastas. A pasta lib, que contém todos os jars necessários, e a pasta flex, que contém todos os arquivos de configuração do BlazeDS. Vamos ver o que cada arquivo significa:

  1. services-config.xml: É neste arquivo que estão as principais configurações do BlazeDS como segurança, logging, serviços disponíveis (Canais), fábricas para a integração com Frameworks Java como Spring e EJB3 e as referências para os outros três arquivos de configuração.
  2. remoting-config.xml: É nesse arquivo que iremos configurar os serviços Java para serem “consumidos” pela aplicação Flex. Sempre quando configuramos este arquivo, iremos trabalhar com o componente Flex chamado RemoteObject.
  3. message-config.xml: Aqui é configurado tudo o que for relacionado com mensageria, sempre necessário quando trabalhamos com os componentes Flex Consumer e Producer. Um exemplo da utilização desta tecnologia seria fazer um bate bapo, ou até mesmo aplicações colaborativas, onde é desejável a iteração simultânea de diversos usuários.
  4. proxy-config.xml: Além da possibilidade de utilizarmos o componente RemoteObject, o Flex disponibiliza mais duas formas de integração: O HTTPService e o WebService. Porém, por questões de segurança, os serviços só podem ser chamados quando os mesmos estão no mesmo domínio que a aplicação, ou que exista uma configuração específica que permita um cliente Flex fazer a consulta (esta configuração é feita por um arquivo chamado crossdomain.xml e está sempre no servidor onde está o serviço chamado). Caso uma das duas condições acima não seja satisfeita, deveremos utilizar o BlazeDS como proxy , e é ai que configuração deste arquivo se torna necessário.



Criando o seu primeiro projeto com o BlazeDS

Para criar o projeto iremos precisar de:

  1. Eclipse Galileo JEE
  2. FlashBuilder Plugin
  3. BlazeDS 4 Binary
  4. Tomcat 6



Feito os downloads e a instalação do Eclipse e FlashBuilder, vamos iniciar o FlashBuilder para criar o projeto.
Antes de criar o projeto, vamos configurar o Tomcat:

  1. Nas preferências do Eclipse, vá em Server — Runtime Environments e clique em Add…
  2. Na pasta Apache selecione Apache Tomcat v6.0 e clique em Next
  3. Selecione a pasta onde você descompactou o Tomcat e clique em Finish

Feito a configuração do Tomcat, vamos criar o projeto:

  1. Vá em File – New – Flex Project
  2. Preencha os dados do primeiro passo como na imagem abaixo e clique em Next
  3. Neste passo vamos configurar os dados do servidor. Deixe tudo configurado como na imagem e clique em Next


    Para selecionar o “Target Runtime”, clique em New e depois escolha o Apache Tomcat 6, como na imagem abaixo.
  4. No último passo não será necessário mudar nada, clique em Finish

Agora vamos criar a classe Java que terá o serviço para retornar a string “HelloBlazeDS”

  1. Crie uma classe Java br.com.dclick.service.RemotingService
  2. Crie o serviço:
    1
    2
    3
    4
    5
    6
    7
    8
    package br.com.dclick.service;
    public class RemotingService {

    ? ? public String sayHello() {
    ? ? ? ? return “HelloBlazeDS”;
    ? ? }
    ? ?
    }

Agora vamos configurar o BlazeDS para disponibilizar o serviço que acabamos de criar.

  1. Abra o arquivo remoting-config.xml que está na pasta WebContent/WEB-INF/flex
  2. Para que seja possível chamar os métodos da classe Java, precisamos configurar um destination. Isso é necessário para cada classe Java.
    O arquivo fica assim:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    xml version=“1.0″ encoding=“UTF-8″?>
    “remoting-service” class=“flex.messaging.services.RemotingService”>
    ? ?
    ? ? ? ? “java-object”
    ? ? ? ? ? ? class=“flex.messaging.services.remoting.adapters.JavaAdapter”
    ? ? ? ? ? ? default=“true” />
    ? ?

    ? ?
    ? ? ? ? “my-amf” />
    ? ?

    ? ? “blazeServices”>
    ? ? ? ? ? ? ? ? ? ? br.com.dclick.service.RemotingService
    ? ? ? ?
    ? ?

Vamos colocar na aplicação a chamada para o servidor.

  1. A primeira coisa que precisamos fazer é configurar o RemoteObject. Fazer isso é muito simples:
    1
    2
    3
    4
    5
    ? ? ? ?
    ? ? ? ? “services” destination=“blazeServices”
    ? ? ? ? ? ? ? ? ? ? ? ? result=“services_resultHandler(event)”
    ? ? ? ? ? ? ? ? ? ? ? ? fault=“services_faultHandler(event)” />
    ? ?


    Alguns detalhes:

    * Perceba que a propriedade destination aponta para o destination que configuramos no arquivo remoting-config.xml

    * Precisamos declarar um id para poder referenciar o RemoteObject

    * Adicionamos um ResultHandler para tratar o resultdo do serviço

    * Adicionamos um FaultHandler para tratar a falha do serviço

  2. Os Handlers ficam assim:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    ? ? ? ?
    ? ? ? ? [CDATA[
    ? ? ? ? ? ? import mx.controls.Alert;
    ? ? ? ? ? ? import mx.rpc.events.FaultEvent;
    ? ? ? ? ? ? import mx.rpc.events.ResultEvent;

    ? ? ? ? ? ? protected function services_resultHandler(event:ResultEvent):void
    ? ? ? ? ? ? {
    ? ? ? ? ? ? ? ? Alert.show(event.result.toString());
    ? ? ? ? ? ? }

    ? ? ? ? ? ? protected function services_faultHandler(event:FaultEvent):void
    ? ? ? ? ? ? {
    ? ? ? ? ? ? ? ? Alert.show(event.fault.message);
    ? ? ? ? ? ? }

    ? ? ? ? ]]>
    ? ?


    Alguns detalhes:

    * A propriedade result do evento ResultEvent vai conter o resultado do serviço. No nosso caso o serviço retorna uma String “HelloBlazeDS”

    * A propriedade fault do evento FaultEvent contém os detalhes do erro.

  3. A última coisa é chamar o serviço. Vamos fazer isso no evento creationComplete, como segue:
    1
    2
    3
    4
    ? ? ? ? protected function application1_creationCompleteHandler(event:FlexEvent):void
    ? ? ? ? ? ? {
    ? ? ? ? ? ? ? ? services.sayHello();
    ? ? ? ? ? ? }
  4. A aplicação inteira fica assim:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    ? ? ? ? xml version=“1.0″ encoding=“utf-8″?>
    “http://ns.adobe.com/mxml/2009″
    ? ? ? ? ? ?? ? xmlns:s=“library://ns.adobe.com/flex/spark”
    ? ? ? ? ? ?? ? xmlns:mx=“library://ns.adobe.com/flex/mx” minWidth=“955″ minHeight=“600″
    ? ? ? ? ? ?? ? creationComplete=“application1_creationCompleteHandler(event)”>
    ? ?
    ? ? ? ? [CDATA[
    ? ? ? ? ? ? import mx.controls.Alert;
    ? ? ? ? ? ? import mx.events.FlexEvent;
    ? ? ? ? ? ? import mx.rpc.events.FaultEvent;
    ? ? ? ? ? ? import mx.rpc.events.ResultEvent;

    ? ? ? ? ? ? protected function services_resultHandler(event:ResultEvent):void
    ? ? ? ? ? ? {
    ? ? ? ? ? ? ? ? Alert.show(event.result.toString());
    ? ? ? ? ? ? }

    ? ? ? ? ? ? protected function services_faultHandler(event:FaultEvent):void
    ? ? ? ? ? ? {
    ? ? ? ? ? ? ? ? Alert.show(event.fault.message);
    ? ? ? ? ? ? }

    ? ? ? ? ? ? protected function application1_creationCompleteHandler(event:FlexEvent):void
    ? ? ? ? ? ? {
    ? ? ? ? ? ? ? ? services.sayHello();
    ? ? ? ? ? ? }

    ? ? ? ? ]]>
    ? ?
    ? ?
    ? ? ? ? “services” destination=“blazeServices”
    ? ? ? ? ? ? ? ? ? ? ? ? result=“services_resultHandler(event)”
    ? ? ? ? ? ? ? ? ? ? ? ? fault=“services_faultHandler(event)” />
    ? ?

Agora só falta fazer o deploy da aplicação e subir o servidor.

  1. Vá em Window – Show View – Other. Na janela que abrir, digite Servers e clique OK
  2. Na view Servers, clique com o botão direito em Tomcat v6.0 e selecione Add and Remove…
  3. Selecione a aplicação HelloBlazeDS e clique em Add e depois Finish
  4. Na view Servers, clique com o botão direito em Tomcat v6.0 e clique em Run

Agora é só executar a aplicação e ver o resultado:

Isso é tudo, guarde esse projeto configurado para ser usado nos próximos posts.

« Entradas anteriores |

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 2750 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