Arquivos da categoria : DePO


Do DePO ao Jazz… 2

O DePO (Delphi Persistent Objects) é uma implementação de um pattern OPF (Object Persistent Framework) baseado no conceito de Scott Ambler um dos precursores desta metodologia. O DePO fornece toda a estrutura para você programar seus Objetos de negócios e persistir do jeito OO. Provê objeto base e Mecanismos para a comunicação com o banco de dados, fazendo o mapeamento OO para Relacional. Tudo é bom e funciona, tenho vários sistemas feitos utilizando o DePO, inclusive em 3 camadas, mas ele não prove um modo de ligação facil com a interface do usuário (Telas), para tal criei o TdpoDataSet que imita o jeito RAD, podendo então ligar componentes DBWare aos objetos.

O DePO foi minha primeira aventura neste mundo, há uns 3 anos, depois de trabalhar muito nele, conheci novas tecnicas e estudei muito OO e Design Patterns e comecei a reescrever o DEPO 2 junto com o Istvan Agoston (Lee Nover – Eslovênia), o que serviu como uma ótima base para o Jazz, mas ele era baseado em objetos e eu tinha decidido que precisava de um framework baseado em interfaces, então, reiniciei meus estudos e resolvi iniciar um novo projeto Jazz SDK, O Jazz é um conjunto de 3 Frameworks que abrangem todas as partes do desenvolvimento de software comercial.

JazzVTF – ValueType Framework
JazzOPF – Object Persistent Framework
JazzMVP- Model View Presenter

O VTF é um framework que provê tudo necessário para a programação dos Objetos de Negócio bem como sua validação e integração com os outros frameworks através de notificação, controle de estado tudo bem modelado num framework que prove todos os atributos necessários.
Diferente do DePO, é totalmente independente do mecanismo de persistência, podendo ser utilizados apenas para programação OO sem persistência e com um mínimo overhead.

O OPF foi projetado para ser de fácil expanção e especialização, mas ao mesmo tempo muito simples de ser utilizado, para que se possa salvar ou recuperar uma lista de objetos da seguinte forma:
Persister.Load(ObjectList);
Persister.Save(ObjectList);

O MVP transformará a programação de Fomulários para somente design não deverá ter nenhum código, os códigos ficarão no Model ou em Commands, separando toda a lógica das telas e trazendo um desacoplamento dos componentes que não mais serão DBWare. Este framework poderá ser estendido a vontado do programador, podendo implementar suas próprias Views para o conjunto de componentes que mais gosta de trabalhar como VCL, DevExpress, Raize, etc…

O Jazz será composto de 2 versões:
Jazz SDK – versão comercial
Jazz SDK Community – versão gratuíta (licenças LGPL/MPL)

Jazz SDK Community:
VTF – Completo
OPF – Mecanismos Stream, DBX e ADO inicialmente
MVP – Somente os Observers (VCL) para a integração de componentes visuais com os objetos
Wiki, Forum

Jazz SDK
Tudo do Community
+OPF: Mecanismo para 3 camadas com RemObjects, mecanismos para banco de dados Oracle, DB2 e outros que forem solicitados
+MVP: Completo, Observers para DevExpress
+ Supporte e prioridade nas atualizações, desconto em treinamentos

Software Gratuíto, mas não Open Source
– Gerador de código a partir de definição de classes : Community
– Gerenciador de projetos: Somente SDK
– Gerador de documentação: Somente SDK
– Wizards para geração do Mapeamento para OPF e MVP

Características
– Baseado em Interfaces
– Rápido e eficiente
– Modular – cada módulo só conhece o necessário

Estado do desenvolvimento do Jazz
– VTF: Pronto, falta apenas concluir o mecanismo de validação, pretendo implementar aqui uma simulação de “Aspect”
– OPF: Base pronta, Mecanismo Stream Pronto, Mecanismo DBX 90%
– MVP: parte abstrata pronta, Observers para VCL e DevExpress parcialmente prontos

Esta semana ainda concluo o OPF e passarei a trabalhar no MVP, a previsão da primeira versão publica é meados da semana que vem, pelo dia 15 mais ou menos.
Em seguida, eu vou trabalhar, por pelo menos uma semana em documentação, site, wiki e forum, depois volto a trabalhar com os componentes da versão comercial e preparar os cursos de programação OO com o Jazz. Hoje já recebi a primeira proposta de locação de sala de aula com computadores, mas vou avaliar outras opções.

Para a evolução do Jazz, vou dedicar a documentação e bons exemplos, meu objeto é ter os seguintes serviços/produtos:
– Jazz SDK Comercial
– Livro/Manual em PDF
– Cursos:
– Modelagem e design com o VPF, e utilização do OPF e MVP, diagramas com ModelMaker (básico)
– Conhecendo e estendendo o Jazz, a parte interna, como criar novos mecanismos, sistemas em 3 camadas, servidor de aplicação, extendendo MVP

Estou aceitando sugestões, pretendo fazer um trabalho profissional, cursos com apostilas, certificados, tudo como deve ser, se tiver sugestões por favor envie para “jazz @ liws . com . br”