Cara esse tua função é muito parecida com a minha a diferença é que se vc
mudar de servidor vc vai ter que mudar aquele endereço ali e compilar tudo
de novo =/

Por isso prefiro pegar o endereço do servidor em tempo de execução:

Application.application.url.substring(0,Application.application.url.lastInd­exOf('/'))
+ "/messagebroker/amf")

o xml de update eu fiz um servlet mapeado com xml que retorna o endereco do
servidor tb dinamicamente.
ou seja se possivel faça de um jeito que seja plug and play e que não seja
necessario recompilar nada e nem sair mudando xml.

a parte mais complicada de fazer tudo isso é deixar a parte Air plug and
play... eu faço o usuario na primeir vz que netra digitar o endereço do
servidor... não é tão bonito mas fica plug and play.

Alguma ideia melhor para pegar a url do servidor na aplicação air de forma
dinamica?

2009/10/27 RafaelViana <[email protected]>

>
> Acho que esse assunto posso ajudar pois tive uma experiência recente.
>
> Estou no andamento do desenvolvimento de um sistema ele já está
> evoluido ( +- 30 tabelas no banco de dados, não sei como vocês avaliam
> o tamanho de um sistema) mas.. voltando ao asunto.Estava usando o Flex
> e distribuia uma aplicação por servidor, porém isso era custoso
> atualizar 5 vezes o sistema (uma para cada servidor), fora a demora na
> instalação quando o sistema é adquirido e o usuário já tinha uma
> hospedagem e essa não podia rodar java.... mas essa é outra
> história.Então preferi usar o AIR e conectar todos no mesmo servidor
> (sim... podia fazer isso com Flex mas todos iriam conectar no mesmo
> endereço não era que eu queria...).Então a parte servidor ficou igual
> como eu já tinha.
>
> Primeira diferença que eu senti e fiquei meio perdido no inicio.Nas
> configurações do BlazeDS já configurava os default-channels, conseguia
> isso pois estava tudo junto..Então não tinha o trabalho de configurá-
> los.
> Solução: Criei uma função que me retorna o channel ou pode ser criada
> uma variavel no application como ja falaram aqui:
>
> private function getChannel():ChannelSet{
>                var cs:ChannelSet = new ChannelSet();
>                var customChannel:Channel = new AMFChannel("my-amf",
>                    "http://enderecodoservidor/nomedaaplicacao/
> messagebroker/amf");
>                cs.addChannel(customChannel);
>                return cs;
>            }
>
> É meio trabalho mudar isso de algo que já estava feito mas comparando
> com o tempo que vou ganhar nas atualizações já é recompensador (além
> do que posso dar um feedback mais rápido para o cliente posso arrumar
> e atualizar algo durante a semana que todos já vão estar atualizados,
> antes só atualizava fim de semana - pela demora - e tinha que testar
> para ver se estavam ok :S)
>
> On 27 out, 16:57, Augustus Costa <[email protected]> wrote:
> > Tem outras formas de deixar esse processo menos trbalhoso mas isso
> deveria
> > ter sido feito no começo da aplicação.
> > Cara, na real mesmo que vc tenha 300 mxml ai não é tao complicado de
> fazer e
> > o retorno disso é "do caralho"! =]
> >
> > 2009/10/27 <[email protected]>
> >
> >
> >
> >
> >
> > >  bem resumindo pelo que entendi
> > > vou ter que abrir todos os meus mxmls
> > > e alterar mão
> > > certo?
> >
> > >  *From:* Augustus Costa <[email protected]>
> > > *Sent:* Tuesday, October 27, 2009 5:33 PM
> > > *To:* [email protected]
> > > *Subject:* [flexdev] Re: Aplicacao FLEX X Air
> >
> > > nesse caso provavelmente vc vai ter que definir o channel dos seus
> > > remotes... Para ficar 100% coloque uma variavel publica e bindable
> chamada
> > > channel do tipo Channel e nos primeiros momentos de execução da sua
> > > aplicação vc pode definir o channel assim: (isso no caso web )
> >
> > > private function getChannel():ChannelSet{
> > >                 var cs:ChannelSet = new ChannelSet();
> > >                 var customChannel:Channel = new AMFChannel("my-amf",
> >
> > >
> Application.application.url.substring(0,Application.application.url.lastInd­exOf('/'))
> > > + "/messagebroker/amf");
> > >                 cs.addChannel(customChannel);
> > >                 return cs;
> > >             }
> >
> > > e nos seus remotes vc coloca na assim
> > > channel={Application.application.channel}
> > > isso vai fazer a sua aplicacao air com base na aplicação flex chamar os
> > > metodos de servidor de boa. Mas a forma que eu to criando esse channel
> só é
> > > valida na web pois estou pegando o endereço do servidor em tempo de
> > > execução. Já no Air vc vai ter que por isso na mão ou pegar de outra
> forma
> > > como na primeira vez que qeo usuario entrar ele digita o endereco do
> > > servidor...
> >
> > > porem o Main do Flex é uma Application e do Air é uma WindowApplication
> > > entao vc cria uma WindowApplication copia o codigo da Application e
> cola
> > > dentro (isso vai ter algumas particularidades inclusive a forma de
> setar o
> > > channel).
> >
> > > Boa sorte
> > > Espero ter ajudado.
> >
> > > 2009/10/27 <[email protected]>
> >
> > >>  por exemplo eu gostei muito de
> > >> JAVA + FLEX + BlazeDS
> >
> > >> vcs me disseram que teria que apenas mudar
> > >> o <mx:Application
> >
> > >> mais teria alguma forma automatica ??
> >
> > >>  *From:* Augustus Costa <[email protected]>
> > >> *Sent:* Tuesday, October 27, 2009 5:08 PM
> > >> *To:* [email protected]
> > >> *Subject:* [flexdev] Re: Aplicacao FLEX X Air
> >
> > >> Com poucas linhas de codigo... =]
> > >> Cara o unico problema que vc vai ter é se vc estiver usando um tipo de
> > >> comunicação especifica como :
> >
> > >> - RemoteObject no caso Flex+Java - Nesse caso na sua aplicação Flex
> tem
> > >> que ter o channel definido nos remotes para a aplicação air acessar o
> > >> servidor sem problemas...
> >
> > >> Vc ainda pode usar o framework de auto update e tudo fica lindo.
> >
> > >> Uma app Web e desktop com auto update independente de plataforma!
> Caralho
> > >> isso é lindo =]
> >
> > >> 2009/10/27 <[email protected]>
> >
> > >>>  Amigos me diz uma coisa
> > >>> é possivel um sistema rodando em FLEX eu poder transforma-lo em AIR
> ???
> > >>> ou vice-versa??
> >
> > >>> Obrigado;
> >
> > >> --
> > >> Horus Augustus C. C. Lima
> >
> > >> Sagarana Tech
> > >> Mobile +55(85)8842.4402
> > >> Desk +55(85)3304.6530
> > >> [email protected]
> > >>http://www.sagaranatech.com
> >
> > > --
> > > Horus Augustus C. C. Lima
> >
> > > Sagarana Tech
> > > Mobile +55(85)8842.4402
> > > Desk +55(85)3304.6530
> > > [email protected]
> > >http://www.sagaranatech.com
> >
> > --
> > Horus Augustus C. C. Lima
> >
> > Sagarana Tech
> > Mobile +55(85)8842.4402
> > Desk +55(85)3304.6530
> > [email protected]http://www.sagaranatech.com
> >
>


-- 
Horus Augustus C. C. Lima

Sagarana Tech
Mobile +55(85)8842.4402
Desk +55(85)3304.6530
[email protected]
http://www.sagaranatech.com

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a