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.

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.

Flex 2 e Java 5/ Flex 3 Open-Source/ Granite Data Services/ OSFLash

Slides da palestra – OFLA #2

Foi uma ótima experiência como palestrante na maior conferência para o mundo open-source da plataforma Flash, pela segunda vez fiquei bastante alegre pelo número de atendentes durante todo o dia 838 pessoas ao redor do mundo participaram da conferência.
Melhor ainda foi ter visto inúmeros brasileiros lá, obrigado a todos que estavam lá. A conferência sem vocês não teriam sentido algum, vocês realmente agitam.

Para quem por algum motivo perdeu a confência, ela foi gravada e pode ser acessada, veja os links abaixo:

Aral Balkan – Keynote Speech
https://breeze.itap.purdue.edu/p53406718/

Ralph Hauwert – Papervision 3D
https://breeze.itap.purdue.edu/p83105421/

Aral Balkan – SWX
https://breeze.itap.purdue.edu/p62103321/

Nicolas Cannasse – Haxe Programming Language
https://breeze.itap.purdue.edu/p22188329/

Firdosh Tangri – ASWing Component Framework
https://breeze.itap.purdue.edu/p20838194/

John Grden – The Red5 Project
https://breeze.itap.purdue.edu/p20388149/

Igor Costa – Flex Applications using Flex 2 SDK and Granite Data Services and Conclusion
https://breeze.itap.purdue.edu/p19208031/

Slides da minha palestra podem ser feito o download aqui.

Saiba mais detalhes aqui.

Notícias/ Open-source/ OSFLash

Palestrando na 2 conferência OFLA

Opa, já havia anunciado alguns dias atrás sobre a palestra na segunda conferência mundial de software livre para plataforma Flash Player, agora com horário e lista completa de todos os palestrantes.

A conferência é cômoda para caramba qualquer um que tiver interesse conexão de banda larga e flash player instalado na sua máquena pode participar da conferência é totalmente gratuita.

O link para acessar é https://breeze.itap.purdue.edu/r45637951/.

Lista dos palestrantes e respectivamente os títulos de suas palestras.

Aral Balkan 11:00 Introduction

Ralph Hauwert 11:15 Papervision 3D

Aral Balkan 12:00 SWX

Nicolas Cannasse 12:45 Haxe Programming Language

Intervalo : 1:30

Firdosh Tangri 2:00 ASWing Component Framework

Igor Costa 3:00 Flex Applications using Flex 2 SDK and Granite Data Services

John Grden 4:00 The Red5 Project

É uma ótima oportunidade para quem quer participar de grandes eventos e não tem dinheiro sobrando, o idioma do evento é como sempre em inglês.
O título de minha palestra vai está um pouco misturado com a do Firdosh por que também faço parte do time de desenvolvimento do Framework ASWing e lá vamos mostrar alguns dos componentes que já foram portados para a sintaxe mxml.

Espero todos vocês lá, para mais informações visite o site do evento, o horário brasileiro é por volta de 12:40 horário de Brasília.

Mais informações acessem: http://osflash.org/blog/2007_06_12_open_source_flash_conference_-_june_15th

AS 3.0/ Dev. Software/ Flex/ Flex 2 e Java 5/ Flex 2 Open-source/ OSFLash

Palestrando na segunda conferência Open-source para plataforma Flash

Dia 15 de junho desse ano,estarei novamente palestrando na conferência mundial para soluções open-source do mundo Flash Player.

É uma ótima experiência vivida, já que esta é a segunda vez que estarei palestrando, o time de palestrantes segue em ritmo excelente e com toda certeza será novamente um grande sucesso como foi a primeira edição do evento.

Lista dos palestrantes.

Aral Balkan

John Grden The Red5 Project

Firdosh Tangri ASWing Component Framework

Ralph Hauwert Papervision 3d

Cortlandt Winters OpenLazlo and comparisons between Laszlo, Flash, Flex and Haxe/Actionstep.

Nicolas Cannasse Haxe Programming Language

Igor Costa Flex Applications using Flex 2 SDK and Granite Data Services

Vou está palestrando sobre o Flex lógico e o uso do Granite Data Services que é uma alternativa open-source para o Flex Data Services, que ainda não tem suporte ao Flex Messaging mais logo em breve terá.

Espero que vocês Brasileiros possam também está presente e comparecer ao evento, será distribuído via Adobe Connect então em qualquer lugar você vai poder assistir a palestra.

Quer saber mais e ficar por dentro ? visite o site do mundo open-source do Flash. OSFLash.org.

Conto com a presença de vocês.