jun 23 2008

Integrando Adobe Flex - FluorineFx - C#.net (Parte 1/2)

Categoria: C#.net, Flex, FluorineFxVinícius Sandim @ 12:32

[ Assista agora a palestra sobre este post realizada durante a Flex Mania 2009 ]

Olá pessoal, hoje estou aqui para falar sobre a integração de três ótimos frameworks para desenvolvimento de aplicativos web atualmente:

Adobe Flex
FluorineFx
Microsoft C#.net

Introdução

Existem diversas formas de integrar o Flex com nossa camada de dados, neste tutorial usarei a integração via RemoteObject utilizando o framework open source FluorineFx. Este tipo de método é em média 50% mais rápido do que outros métodos, como por exemplo via HTTP service, ou WebService. Veja um teste com outras formas de integração.

Requerimentos

Microsoft Visual Studio 2005 ou WebDeveloperExpress 2005
FluorineFx
Adobe Flex Builder 3

Vamos lá

Tendo em mente que vc já possua os componentes necessários instalados vamos iniciar o tutorial.

1 - Crie uma pasta em um diretório de sua preferência com o nome de IntegracaoFlex.

2 - Dentro desta pasta, crie duas subpastas com os nomes Interface e Negocio.

3 - Crie um projeto no VisualStudio do tipo ASP.NET WebSite dentro da pasta Negocio:

4 - Exclua a pasta App_Data que foi criada automaticamente pelo template

5 - Renomeie o arquivo Default.aspx, criado automaticamente, para Gateway.aspx. Este servirá como ponte para o acesso dos objetos asp.net.

6 - Adicione uma pasta App_Code. (Botão direito do mouse sobre o projeto, Add ASP.NET Folder… > App_Code)

7 - Crie um arquivo do tipo Web.config. (Botão direito do mouse sobre o projeto, Add New Item… > Web Configuration File)

8 - Deixe o arquivo Web.config da seguinte forma:

<?xml version="1.0"?>
<configuration>
  <configSections>
    <sectionGroup name="fluorinefx">
      <section name="settings"
               type="FluorineFx.Configuration.XmlConfigurator, FluorineFx"/>
    </sectionGroup>
  </configSections>
  <system.web>
    <httpModules>
      <add name="FluorineGateway"
           type="FluorineFx.FluorineGateway, FluorineFx"/>
    </httpModules>
    <compilation debug="true" />
  </system.web>
</configuration>

Esta é a configuração mínima para que o Fluorine funcione.

9 - Agora crie uma referência do seu projeto ao FluorineFx. (Botão direito do mouse sobre o projeto, Add Reference…) :

Caso vc não tenha alterado a pasta de instalação do fluorine padrão é C:\Arquivos de programas\FluorineFx\Bin\net\2.0

10 - Crie uma classe chamada Pessoa.cs (Botão direito do mouse sobre a pasta App_Code, Add New Item… > Class):

11 - O seu Solution Explorer deverá ficar assim.

12 - Agora finalmente vamos implementar a classe Pessoa.cs:

using System;
using FluorineFx;
using System.Collections.Generic;
namespace IntegracaoFlex
{
    /// <summary>
    /// Representa uma Pessoa.
    /// </summary>
    [RemotingService]
    public class Pessoa
    {
        #region Atributos
        private int _id_Pessoa;
        /// <summary>
        /// Id da Pessoa.
        /// </summary>
        public int Id_Pessoa
        {
            get { return _id_Pessoa; }
            set { _id_Pessoa = value; }
        }
        private string _nome;
        /// <summary>
        /// Nome da Pessoa.
        /// </summary>
        public string Nome
        {
            get { return _nome; }
            set { _nome = value; }
        }
        private string _telefone;
        /// <summary>
        /// Telefone da Pessoa.
        /// </summary>
        public string Telefone
        {
            get { return _telefone; }
            set { _telefone = value; }
        }
        #endregion
        #region Construtores
        /// <summary>
        /// Construtor padrão da classe.
        /// </summary>
        public Pessoa()
        {
        }
        /// <summary>
        /// Construtor que alimenta todos os atributos da classe.
        /// </summary>
        /// <param name="id_Pessoa">Id da Pessoa.</param>
        /// <param name="nome">Nome da Pessoa.</param>
        /// <param name="telefone">Telefone da Pessoa.</param>
        public Pessoa(int id_Pessoa, string nome, string telefone)
        {
            this._id_Pessoa = id_Pessoa;
            this._nome = nome;
            this._telefone = telefone;
        }
        #endregion
        #region Metodos
        /// <summary>
        /// Insere um novo cliente no banco de dados.
        /// </summary>
        /// <returns>Cliente inserido no banco de dados.</returns>
        public string Insere(Pessoa _pessoa)
        {
            string _retorno = "--- Pessoa Inserida ---\n";
            _retorno += "Id_Pessoa: " + _pessoa._id_Pessoa.ToString() + "\n";
            _retorno += "Nome: " + _pessoa._nome + "\n";
            _retorno += "Telefone: " + _pessoa._telefone;
            return _retorno;
        }
        /// <summary>
        /// Seleciona uma lista de pessoas no banco de dados.
        /// </summary>
        /// <returns>Lista de pessoas cadastradas.</returns>
        public List<Pessoa> Lista()
        {
            List<Pessoa> _lista = new List<Pessoa>();
            //Adiciona algumas pessoas para exemplificar
            _lista.Add(new Pessoa(1, "Vinicius", "(16)3711-1111"));
            _lista.Add(new Pessoa(5, "Cristian", "(16)3722-2222"));
            _lista.Add(new Pessoa(9, "Juliano", "(16)3733-3333"));
            _lista.Add(new Pessoa(15, "Ricardo", "(16)3744-4444"));
            _lista.Add(new Pessoa(3, "Euripedes", "(16)3755-5555"));
            return _lista;
        }
        #endregion
    }
}

Note a tag [RemotingService] na declaração da classe, esta serve para que o Fluorine saiba que esta classe é remota e será acessada por um método do flex.

Bom pessoal, nesta primeira parte criamos o nosso projeto no Visual Studio o configuramos o Fluorine para que possamos chamar os métodos via flex.

No próximo tutorial iremos fazer o projeto no Flex chamar nossos métodos Insere e Lista do .net.

Agradeço a todos e até a próxima!


jun 17 2008

Mozilla libera versão final do Firefox 3

Categoria: NovidadesVinícius Sandim @ 16:44

A Mozilla Foundation, desenvolvedora do navegador Firefox, lançou oficialmente ás 14h desta terça-feira (17) a versão finalizada do Firefox 3.

Após três anos de desenvolvimento e seis meses de testes com o público, o programa está disponível para download no site oficial da Mozilla, ou na página especial do “Download Day 2008″.

É possível que os sites oficiais fiquem congestionados nas primeiras horas.

Download: versões para Windows

Firefox 3 (em Português) no site oficial

Firefox 3 (em Inglês) no site oficial

Download: versões para Linux

Firefox 3 (em Português) no site oficial

Firefox 3 (em Inglês) no site oficial

Download: versões para Mac

Firefox 3 (em Português) no site oficial

Firefox 3 (em Inglês) no site oficial

O objetivo da campanha “Download Day 2008″ é a quebra de um recorde: a Mozilla convocou os usuários das versões anteriores do Firefox para baixarem o programa e conseguir o maior número de downloads no período de 24 horas logo após o lançamento.

O download do novo navegador é recomendado para todos os usuários de Firefox, já que o programa corrige problemas (ou “bugs”), inclusive de segurança, das versões anteriores.

Desde a terceira versão beta do novo programa, os desenvolvedores recomendam que os internautas troquem o Firefox 2 pelo navegador mais recente. “O Firefox 3 é muito mais estável que qualquer outro navegador”, afirma o vice-presidente de engenharia da Mozilla Corp., Mike Schroepfer.

Fonte G1.