Flex/ Flex 2 Open-source/ Granite Data Services/ Open-source/ OSFLash/ Tomcat

Granite Data Services 0.3 lançado

Franck Wolff enviou-me um email para alertar que o Granite Data Services 0.3 está liberado para download com muitos bugs corrigidos, e uma coisa bem interessante é que o Granite DS 0.3 está com a documentação bem completa.

O que há de novo?

* SecurityService: this feature adds support for setCredentials, setRemoteCredentials and logout methods of RemoteObject. There is only a Tomcat based implementation at this time (JBoss+Tomcat is working).
* New Gas3 Implementation: the new ActionScript3 code generator brings support for @Embeddable objects (both for @Embedded and @EmbeddedId references), @IdClass entities with multiple @Id primary keys, and interfaces (only getters/setters are generated). There is also a new classpath node and a new Java2as3class attribute (Ant usage) that helps you adding custom types support.
* Improved Externalizer Performances: the overall performances of externalizer have been significantly improved.
* Pluggable Converter: you can now plugin a custom converter to add support for custom types (such as Joda time).
* Logging Infos: GDS 0.3.0 adds many debugging infos that weren’t available in 0.2.0 release (configurable via log4j.xml).
* Pojo Eclipse Demo Project works with Tomcat: there is actually a “dual build” option (Tomcat or JBoss, Tomcat is the default).
* Flex 2.0.1 SDK hotfix1, 2 and 3 support: those new versions of the free SDK are fully supported (Flex 3 betas not tested).
* JBoss 4.2.+ support: those new versions of JBoss are fully supported (EJB3 demo).
* Others: many others improvements such as ServiceInvocationListener support, DTD for granite-config.xml, annotedwith attribute for externalizer configuration, code redundancy elimination, etc.

Bugs corrigidos

* (GDS-10 and 13) ErrorMessage now contains the proper correlationId (errors are handled properly on Flex side).
* (GDS-12) Issues with the previous MethodMatcher has been resolved (in general and in particular with arrays to lists conversions).
* (GDS-17) Removed “double-check locking” synchronization in many places.
* (GDS-19) HibernatePersistentSet now implements IHibernatePersistentCollection (isInitialized() method is implemented).
* (GDS-20) ByteArray deserialization is fully working.
* (GDS-21) HibernateExternalizer’s readExternal method handles correctly HibernateProxy instances.
* (GDS-22) “source” attribute for Pojo services is now trimed.
* (GDS-27) Simple ArrayCollections are no longer deserialized to UIDSets on Flex side.
* Many other not listed.

Visite o site do Granite DS e saiba mais.

Flex/ Notícias

Cronometro para o Desafio Nacional Flex

Essa madrugada de sexta-feira para sábado,antes de parar por completo e curtir mais um pouco as férias, estou compartilhando com vocês um novo cronometro que informa quantos dias faltam para a competição nacional acabar.

Requer o Flash Player

Peço a todos que tenham blog, sites, que adicionem o cronometro.

Conto com a ajuda de todos da comunidade.

Actionscript/ Actionscript Frameworks/ AS 3.0/ Design Patterns/ Dev. Software/ Dicas/ Flex/ frameworks/ OSFLash

Flex, Design Patterns e frameworks

Tá havendo uma discussão magnífica na lista Flex-Brasil sobre Design Patterns, Frameworks, metodologia de desenvolvimento de software e como organizar e distribuir sua aplicação rica.
Por incrível que possa parecer é sempre a mesma pergunta que eu recebo entre e-mails, visitas técnicas e mini treinamentos ” Você pode nos ensinar qual a melhor forma de desenvolver aplicações escalonáveis no Flex? “. E justamente nessa semana aparece um tópico desse na lista e todos trocando informações apontando seus pontos de vistas, se re-descobrindo e não poderia deixar passar de lado isso e abrir mais 3 categorias novas no site e colar aqui minha singela opinião sobre todo esse assunto gerado na comunidade que pelo que parece possa crescer mais ainda depois desse artigo.
Segue abaixo meu ponto de vista dado:

From: Igor Costa
Date: Jul 24, 2007 3:22 PM
Subject: Re: [flex-brasil] Re: Frameworks
To: flex-brasil@yahoogrupos.com.br

Tou gostando desse tópico, se continuarmos assim, prova que todos aqui estão amadurecendo.

Vou dá meu ponto de vista, não necessariamente deve ser regra, mais baseando-se em minha experiência em aplicativos de larga escala e aplicações usando e distribuindo entre equepes.

Flex é uma solução tecnologia que facilita a criação da camada de apresentação, ela foi feita com essa idéia e permanecerá sempre com esse foco, já que o Flex ele torna particalmente rápido o desenvolvimento de forms, window, containers, layout de interface de aplicações que requer muito esforço, digo isso por que eu sei como é fazer isso à alguns anos atrás com Flash ou Swing.
Entao basicamente cada framework existente para criação de telas de aplicações ricas em Flex, sendo elas baseadas em carningorm, parana, model-glue, são justamente focados em disparos de eventos, customização de eventos, controle lateral de software, em fim são facilitadores da vida de quem gosta de não inventar a roda e quer um desenvolvimento mais hábil.

Em outro lado o grande porém de se usar frameworks como esse é a falta de documentação necessária para tal, falta de exemplos e popularização dos mesmos. Existe um paradigma que eu sempre converso com meus desenvolvedores que é, se o AS3 me dá a possibilidade de criar o meu e o Flex aceita esse tipo de criação, eu me pergunto, por que usar frameworks externos se você pode criar seus próprio framework e assim agilizar determinadas áreas de produção do seu software sem ter que ficar se preocupado com como ele será reagido ou como pode ele influenciar drasticamente o ciclo de desenvolvimento com Flex.

Ao meu ver, cada trabalho específico em desenvolvimento seja ele em grande ou pequena escala não é necessário está criando o céu e a terra como fez Deus, mais sim criar métodos próprios, suas próprias classes de evento, seus próprios paradigmas de desenvolvimento escalonável entre outros frameworks para integração de back-ends sem precisar está usando soluções extras. Resumindo a questão, use o favorecimento de soluções rápidas, não esqueça que a tecnologia Flex é para isso, RAD(Rapid Application Development), eu sou adepto ao re-uso de minhas próprias classes abstratas, da reciclagem de meus próprios componentes criados em aplicações que já foram desenvolvidas sem está com o uso desses problemas no ciclo geral.

Flex como camada de back-end:

Nesse ponto o Flex tem avançado e muito em criar as melhores soluções RPC para está fazendo o bind dos dados nos seus componentes já pre-definidos. Não há hipótese alguma do Flex se voltar para essa questão e criar frameworks que façam esses tipos de acessos a base de dados de forma mais fácil, Já existem soluções open-source e pagas que faz isso por você procure no www.riaforge.com onde tem muita coisa rolando por lá como o as3 lightwave remoting.

Flex respeita o processo de desenvolvimento em 3 camadas, dessas quais todas tem seus principais papeis no desenvolvimento geral da aplicação, Interface, camada lógica e Base de dados. Essa estrutura sempre gostei de preservar e manter, já que isso torna a organização final de meu aplicativo mais legível para outros desenvolvedores que possam agregar valor de talento ao time e assim ficar fácil de se entender.

Agora eis a questão, depois de tudo isso onde se encaixa o fator de criação e elaboração de aplicações em equepe junto ao framework do Flex?

Primeiro passo a se desenvolver é criar um padrão à ser usado, nomenclatura de variáveis, declarações de constantes, arquetetura de organização de classes e sobre posicionamento de arquevo extras necessários.

Usar um padrão em sí, existem vários o mais popular é MVC ( Model View Control) que nesse momento é o que é menos propício a falhas.
Nomenclatura de variáveis é algo que tem sua importância mais nao corresponde há 90% do desenvolvimento do software, mais sim uma parte fundamental para começar a criar alguma coisa, considere declaração de variáveis como várias peças de um carro em uma linha de montagem, cada uma tem sua parcela de contribuição para que o carro funcione, então tomando em conta sobre isso, diga-se que correspondem não só 90% mais sim 10% do total, onde o favor mão de obra e idéias de desenvolvimento contam com 50% do total.

A arquetetura de organização é um fator que pesa tanto quanto a criação de mão de obra quanto componentes, constantes, que influem 50% do valor agregado ao desenvolvimento.
Organizar é algo que serve para deixar claro o objetivo de cada classe, heranças que elas tem, particularidades como métodos próprios, propriedades exclusivas e tipos de acessos a objetos do palco.(Stage Class)., Exemplo abaixo:

Main Application
– assets( local onde se guarda, css, imagens, arquevos de texto, html para helps, swf de acesso)
– package
-Aplicando-se nomenclatura à qualquer uso dependendo muito para não usar palavras reservadas do as3.
ex.: br.flexbrasil.utils
br.flexbrasil.com
br.flexbrasil.controls
br.flexbrasil.formatadores

– views – Local onde vão está guardados seus componentes criados em mxml que recebem ou faz parte do seu framework de UI.
– controle – Caso você não use um pacote específico para controle você pode adicionar um externo que ficará mais fácil o acesso a tais procedimentos de coleção, filtragem de dados, passagem de parametros, CRUD, etc.
-Modules – Caso você use uma estrutura modular dividindo uma aplicação em módulos que podem ser feitos separadamente e podem ser criados por distintos membros do time de desenvolvimento sem atrapalhar o arqueteto geral da criação.

Depois disso tudo, só delegar bem as tarefas e o fluxo de criação do aplicativo sai do forno, lembrem-se flex é para camada de apresentação, outro produto como o Livecycle dá uma ajuda ao Flex UI nesse sentido, facilitando somente a comunicação com classes Java e usando alguns recursos do JMS e DMS.
Porém por regra de usos, Flex deixa livre o desenvolvedor à escolher quais elementos ele poderá usar no back-end e assim deixando o livre harbítrio dele escolher se deverá usar XML, HTTPService, Webservice ou coleção de dados por query ou recordset.
Diferenças entre esses usos cada caso é um caso que deve-se analisar pelo número geral de registros. Tudo tem um limite como o datagrid que só suporte 1 milhão de registros.

Basicamente são esses os conceitos que eu tenho adotado com minha experiência e espero ter contribuído com todos vocês.

Abraços
Igor Costa
www.igorcosta.com
Soluções em aplicações RIA

Participe dessa discussão também, eu tenho visto ótimos pontos de vistas que podem ser utilizados e novas metodologias possam ser re-aplicadas.
Code refactoring é a premisa básica do XP em sempre todos os casos muito de code-refectoring tem sido usado bastante. Eu uso.

Captivate/ Notícias/ Vídeo

Novo Captivate 3.0 inúmeros recursos que me impressionam

Silke é uma maravilha de pessoa, ela é a gerente do produto Captivate 3 e sempre trocamos e-mails para discutir sobre EAD, já que o Fábio Oliveira é o administrador do grupo Captivate Brasil do qual fui o fundador e sempre discutimos sobre novas formas de criar conteúdo para ensino a distância de forma inteligente, rápida e fácil.

E em uma de nossas conversas estavamos falando do crescimento de mercado sobre tipos de treinamento on-line e veja o resultado abaixo bem mastigado.

Segundos dados da Guild e-Learning no mundo existem dois tipos de segmentos para ensino à distância um é chamado de Rapidly training e outro é chamado de Long training. Como o próprio nome é claro, o primeiro trata-se de treinamento rápido e que requer uma certa urgência como é o caso em treinamento de vendas quando novos trabalhadores temporários vão agregar à lista de colaboradores da Empresa, e dentre muitas outras utlidades. E tem o Long training que é uma solução completa de treinamento on-line com múltipos passos, excessas horas on-line, integração em SCORM, AICC, LMS dentre vários padrões.
Ambos vem crescendo à medida que novos recursos são disponibilizados à partir da tecnologia usada e aplicada neles. Porém em valores reais Rapidly Training cresce por ano 15% à mais que Long training que é só 9% ao ano contra os 14% do Rapidly training.

Tendo em mente esses dois focos é dificil para uma empresa tomar o melhor rumo de sua ferramenta e focar ou em clientes pequenos ou em clientes de maior porte. Porém isso é uma coisa que dificilmente acontece hoje, posso até arriscar que isso acontecia na época da Macromedia onde o Captivate não tinha muito foco, hoje a história é diferente, com a já existente PhD. Ellen Wagner da Macromedia reabrindo o departamento de EAD na Adobe as coisas mudaram, mais recursos financeiros e lógico muitas idéias se tornando realidade.

Foi ai que dentro de pouco tempo 1 ano exatamente conseguimos ter cerca de 89 mudanças significativas do Captivate 2 para o Captivate 3, que ao meu ver é a versão mais estável que eu já vi em toda sua vida desde a época que era da eHelp o Robo Demo.

Apelidado com o code-nome Mona Lisa, o Captivate trás dentre muitos recursos uma coisa que eu em meu caso particular gostei, foi o suporte a formato em swf9 e o smart record especialmente para quem tem processadores 64(bit). A aceleração de hardware diminuiu cerca de 40% em relação a versão anterior e a qualidade gráfica das imagens gravadas é fantástica.

É por isso que mais ainda em todas as minhas palestras, consultorias, viagens de negócios quando surge a oportunidade eu apresento esse software que é uma mão na roda na hora de criar simuladores, simulação, quez na hora que você mais precisa, não só quebra um galho mais a árvore inteira.

Eu não só uso o Adobe Captivate para questões profissionais, uso para questões próprias mesmo, um exemplo disso é que como moro longe de casa eu sou o consultor particular e premium da Senhora Costa. Ela sempre tem dúvida e imagina ter que explicar como fazer tais calculos no excel, formatar determinados tipos de documentos no word em uma ligação de celular. Não vale a pena.

O Bom mesmo de tudo é usar o Captivate, 10 minutos no máximo o exemplo tá feito e você só tem o trabalho de fazer o upload para o servidor do arquevo final um swf padrão e você terá o simulador, eu já coloquei aqui dentre os 400 artigos publicados até hoje alguns videos tutoriais usando o Captivate, mais se tinha uma coisa que eu sempre odiava de coração era a lerdeza devido só 1GB de memória para dividir entre Flash, Flex, Dreamweaver e Captivate, sem condições alguma.

Então meu conselho, se você é uma software house, gasta muito com treinamento de mão de obra, viagens para ensinar quem irá usar seu aplicativo, criar help de forma interativa e muito mais elegante, eu aconselho você comprar o Captivate 3.0 ou atualizar para quem tem a versão 2.0. O software está ótimo e como disse tem uma infinidade de recursos novos. Um outro que destaco é a criação já de acessibilidade 508 para o formato 9 que já pode ser integrado a leitores de interface como o JAWS para deficientes visuais e também auditivos com a adição de Caps para o videos.

Bom, eu falei inicialmente dos dois segmento e qual o foco da Adobe entre ambos. O foco é no Rapidly Training.É justamente esse, como eu falei acima em meu caso no dia-a-dia. Adobe Captivate cria filmes e simuladores de forma elegante que eu não preciso digitar se quer uma linha de código para ter um resultado final, que é incrível e ainda levar o nome dado pela minha mãe de ” Igor é arretado, ô bixo inteligente”. Já falei para ela que é o software que faz tudo sou só o piloto dele.


Procure saber mais aqui sobre o Captivate 3.0
e mude seu jeito de criar simuladores de software e documentação de exemplificação de projetos. Participe do grupo liderado pelo Fábio Oliveira o Captivate Brasil. O Captivate realmente funciona e salva o dia nas horas maior precisão onde o tempo é sempre o vilão.

Actionscript/ AS 3.0/ Flex/ Livros

Novos livros para Actionscript 3.0 que indico

Hoje recebi os novos livros que com toda certeza vão agregar valor de conhecimento ao que já sei. Os livros eu indico para quem quer levar à sério o desenvolvimento de aplicações baseadas na tecnologia Actionscript 3.0, seja em Flex ou Flash CS3 são ótimas leituras recomendadas.

Essential Actionscript 3.0 – por Colin Moock
http://www.oreilly.com/catalog/9780596526948/index.html

São quase 1000 páginas de pura organização como é sempre os livros do Colin Moock.

Actionscript 3.0 Design Patterns – por William B. Sanders, Chandima Cumaranatunge
http://www.oreilly.com/catalog/9780596528461/index.html

Estou bem empolgado em relação a esse livro, eu já havia comprado outro e lido da capa à contra-capa do Joey Lott, mais sinto que ainda o livro faltou mais tempo para abordar com mais detalhes as devidas técnicas que cada design patterns oferece. Esse tem 532 páginas e aborda exatamente o que preciso e para qual proposito preciso.

Notícias

Ainda tem dúvidas na dominação do mundo?

Você ainda duvida que o Google não está querendo dominar o mundo?

Leia isso. Lembram em 2005? quando eles anunciaram o investimento no BPL que uma empresa lá nos EUA dominavam?

Está mais que claro que eles querem justamente não o comprometimento em dá a inclusão social, mais dominar o mundo de uma forma ao meu ver comercialmente bastante agressiva e defendendo os interesses de seus acionistas. Nada mais que correto a política de negócios. FCC que se cuide.

Em 2 anos de pesquesa, tanto técnica quanto de mercado está a grande chance do google quebrar as regras. Anatel será que entra no bolo?

Flex/ Notícias

disponível para download – Flex 2.0.1 Hotfix 3

Passou despercebido por mim, mais acabei de verificar em meu feeds e está disponível o novo hotfix para o SDK do Flex.

Procurem atualizar seus SDK, tem algumas falhas que foram corrigidas que pode ajudar em seu desenvolvimento. Uma delas que achei muito útil foi,

203544 setCredentials not resent after session expires on the server. Justamente para quem usa com o LiveCycle.

Link para download está disponível aqui.

Dicas/ Flash/ Flash Lite

Pan2007 pelo seu celular

A Globo.com liberou um aplicativo flash lite que faz o acompanhamento do quadro de medalha geral e também das medalhas conquestadas pelo Brasil no jogos Pan Americanos de 2007.

O aplicativo requerer Flash Lite 2.1, que é gratuito e pode ser baixado pelo site da Adobe.

Os dispositívos compatíveis com o aplicativo são:

Casio Hitachi W43H
Kyocera W43K
LG 8300/9800/VX8100/VX8500 (Chocolate)/VX9900
Motorola MOTOKRZR K1m/Razr V3c/V3m
Nokia 3230/5200/5300/6260/6300/6620/6630/E92/3250/5500/6670
6680/6681/6682/7390/7610/N70/N90/E50/E60/E61/E62/E71/E72/E73
E75/E80 /E91
Samsung SCH-A950/SCH-A990