Arquivo

Arquivo de abril, 2009

Plugin para Identar Codigos Flex

10, abril, 2009 admin Sem comentários

Olá pessoal,

Esses dias dando uma vasculhada pela net adentro, encontrei no sourceForge um projeto bem legal.
Os caras criaram um plugin para identação de códigos Flex Mxml e As.

O link do projeto http://sourceforge.net/projects/flexformatter/
Para instalar o plugin é muito simples.
- Faça o download do jar e coloque dentro da plasta plugin de seu Eclipse ou FlexBuilder.
- Reinicie o Eclipse com o comando -clean e show de bola
- Em sua barra de tarefa irá aparecer dois novos icones de identação.

Barra de Tarefas.
Plugin

Você pode fazer seu proprio estilo de identação e tambem tem opção de Exportar ou Importar para outra maquina que tenha o plugin instalado.

Categories: Java Fast Code Tags:

IBM retira oferta de compra da Sun, dizem jornais

7, abril, 2009 admin Sem comentários

Salve pessoal,

Para alguns esta noticia é um alívio, para outros é uma satisfação e para outros uma decepção.
Enfim acaba a angustia e a especulação de o Java 7 não ser mais free.

Segue a notícia do G1

Categories: Java, Notícias Tags:

Trabalhando com FlexSession

1, abril, 2009 admin 6 comentários

Salve pessoal,

Após ter recebidos alguns e-mails e ter visto a mesma dúvida nas listas de discuções resolvi criar um post sobre Gerenciamento de Sessão em aplicações Flex.

Apenas resaltando este é um assunto muito complexo este post não irá sanar todas as suas duvidas, mais irá lhe dar um Norte nos seus estudos. Em caso de duvidas leia a documentação do BlazeDS ou mande um e-mail.

Então vamos lá.


Gereciamento de sessão usando BlazeDS

O blazeDS nos fornece três classes para sincronização entre a aplicação Flex e Servidor, são estas: FlexClient, MessageClient e FlexSession.
Segue um breve resumo de cada ojbeto.

# FlexClient

Toda aplicação Flex escrita em MXML ou em ActionScript, ambas são compiladas e incluidas dentro de um SWF. Quando o SWF se conecta com o servidor BlazeDS, o objeto flex.messaging.client.FlexClient é criado para representar o SWF no servidor.
O arquivo SWF e o objeto FlexClient tem um relacionamento um-para-um (one-to-one), deste modo todo
FlexClient tem um identificador unico em sua propriedade ID, no qual o servidor BlazeDS gera.

# MessageClient

Se uma aplicação Flex contém um componente flex.messaging.Consumer, o servidor irá criar uma correspondente instância do objeto flex.messaging.MessageClient para representar a subscrição do estado do componente Consumidor (Consumer).
Todo objeto MessageClient tem um identificador único chamado clienteId.
BlazeDS pode gerar automaticamente um valor para o clientId, mas a aplicação Flex também pode definir um valor para a propriedade Consumer.clientId antes de chamar o metodo Consumer.subscribe().

# FlexSession

Um objeto FlexSession representa a conexão entre a aplicação Flex e o Servidor. Este ciclo de vida depende diretamente do protocolo subjacente, no qual é determinado pelos canais e parâmetros utilizados no Cliente e Servidor, respectivamente.
Se uma base de canal HTTP, tais como AMFChannel ou HTTPChannel, é utilizada na aplicação Flex, um objeto FlexSession é embutido numa sessao HTTP.
Se um canal HTTP se conecta a um servlet, o subjacente a sessão HTTP é um objeto J2EE HttpSession.

Todo este pequeno resumo acima pode parecer um bixo de 1000 cabeça mais conforme você for usando em
aplicações tudo isso ficará claro e simples.

# Relacionamento entre FlexClient, MessageClient e FlexSession

Um objeto FlexClient pode ter um ou mais intancias de FlexSession a ela associados, em função dos canais que Flex a aplicação utiliza.
Por exemplo, se a aplicação Flex usa um HTTPChannel e um FlexSession isso representa apenas um HTTP session criado pelo HTTPChannel no servidor.
Um FlexSession também pode ter um ou mais objeto FlexClient associadas a ele. Por exmeplo, quando o usuario abre a aplicação Flex em duas tabs no navegador dois objetos FlexClient são criados, porém o servidor considera dois separadores partilhando a mesma subjacente HTTP sessão.

Em termos de hierarquia, FlexClient e FlexSession são pares que existe uma relação entre pais e filhos FlexClient / FlexSession e MessageClient.

Resaltando Novamente: Sei que os explicações acima são bem complexas por isso é interessante que vocês parem um tempo e
leiam a documentação do BlazeDS para um maior entendimento do assunto, este post tem o intuito apenas de abrir a mente e dar um Norte.

## Exemplo Rápido e Fácil.

# Usando FlexContext com FlexSession and FlexClient.

A classe utilitária flex.messaging.FlexContext expõe o contexto atual sobre a execução do servidor, a mesma fornece acesso ao FlexSession e ao FlexClient.
Ela também fornece contexto global através do acesso MessageBroker, ServletContext, e ServletConfig instâncias.
O seguinte exmplo mostra uma classe Java que chama o metodo FlexContext.getHttpRequest() e pega do mesmo o objeto HTTPServletRequest e também chama o metodo FlexContext.getFlexSession() para obter o objeto de sessao atual.

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
package br.com.fabielprestes
 
import flex.messaging.*;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
 
public class SessionCorrente {
	public HttpServletRequest request;
	public FlexSession session;
 
	public SessionCorrente() {
		request = FlexContext.getHttpRequest();
		session = FlexContext.getFlexSession();
	}
 
	public String getSessionId() throws Exception {
		String s = new String();
		s = (String) session.getId();
		return s;
	}
 
	public String getHeader(String h) throws Exception {
		String s = new String();
		s = (String) request.getHeader(h);
		return h + "=" + s;
	}
}

Então é isso pessoal na proxima parte irei demonstrar como utilizar o objeto ExternalInterface para trabalhar com as sessões, fiquem atento.

Dúvidas ou Sugestões deixem seu comentário.

Categories: Dicas, Flex Tags:

Links projetos OpenSource #1

1, abril, 2009 admin Sem comentários
Categories: Links Tags: