CakeSP - Specta Platform: CakePHP, Flex, Fake

1.519 visualizações

Publicada em

Apresentação no evento CakeSP do projeto de criacao da plataforma Specta Platform, baseada em CakePHP, Flex e Fake (Actionscript Framework).

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.519
No SlideShare
0
A partir de incorporações
0
Número de incorporações
17
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

CakeSP - Specta Platform: CakePHP, Flex, Fake

  1. 1. Construindo uma plataforma de desenvolvimento rápido (CakePHP + Flex + Fake)
  2. 2. Specta TI <ul><li>Soluções em gestão </li></ul><ul><li>Produtos e Serviços </li></ul><ul><ul><ul><li>Specta Manager (Gestão Empresarial) </li></ul></ul></ul><ul><ul><ul><li>Specta Dashboard (Painel de Controle Gerencial) </li></ul></ul></ul><ul><ul><ul><li>Soluções sob Medida </li></ul></ul></ul><ul><li>Tecnologias de Apoio </li></ul><ul><ul><ul><li>Specta Platform </li></ul></ul></ul><ul><ul><ul><li>Metodologia Scrum (Trac+Agilo) </li></ul></ul></ul><ul><ul><ul><li>Cloud computing + SaaS </li></ul></ul></ul>
  3. 3. Specta TI
  4. 4. Palestrante <ul><li>Sócio-fundador da Specta </li></ul><ul><li>Formação </li></ul><ul><ul><ul><li>Engenheiro de Computação / PUC-Rio </li></ul></ul></ul><ul><ul><ul><li>MBA em Gestão Empresarial </li></ul></ul></ul><ul><ul><ul><li>Certificações: PMP, RHCE, MCSO </li></ul></ul></ul><ul><li>Experiencia </li></ul><ul><ul><ul><li>Desenvolvimento e montagem das duas primeiras operadoras de VoIP do Brasil entre 2002 e 2004 </li></ul></ul></ul><ul><ul><ul><li>Alcatel (Responsável pela infra de servidores da Oi) </li></ul></ul></ul><ul><ul><ul><li>Modulo Security (Coordenador de Qualidade) </li></ul></ul></ul>
  5. 5. PAUTA <ul><li>O que é um Plataforma RAD ? </li></ul><ul><li>Motivação </li></ul><ul><li>Premissas </li></ul><ul><li>Escolha de Tecnologias </li></ul><ul><li>Arquitetura </li></ul><ul><li>Funcionalidades </li></ul><ul><li>Fake (versões 0.1 e 1.0a) </li></ul><ul><li>Evolução </li></ul><ul><li>Programando em Fake/CakePHP </li></ul><ul><li>Referencias </li></ul>
  6. 6. O que é uma Plataforma RAD? <ul><li>Arquitetura orientada a produtividade </li></ul><ul><ul><li>Utilitários </li></ul></ul><ul><ul><li>Geradores de código </li></ul></ul><ul><ul><li>Design Patterns </li></ul></ul><ul><li>Plataforma porque serve como suporte/base para aplicações </li></ul><ul><li>Metodologias ágeis: Agile, Scrum, TDD, entre outros </li></ul>
  7. 7. Motiva ç ão <ul><li>Evitar Retrabalho: </li></ul><ul><ul><ul><li>Perca de tempo com desenvolvimento de funcionalidades básicas necessárias a todos os sistemas </li></ul></ul></ul><ul><li>Melhoria Contínua: </li></ul><ul><ul><ul><li>Evitar retrabalho e agregar conhecimento sempre para evoluir </li></ul></ul></ul><ul><li>Renovar os desafios </li></ul>
  8. 8. Premissas <ul><li>Simplicidade </li></ul><ul><li>Velocidade </li></ul><ul><li>Design e Usabilidade </li></ul><ul><li>Foco em regras de negócio </li></ul><ul><li>Tecnologias de ponta (Web-based e RIA) </li></ul>
  9. 9. Escolha de Tecnologias <ul><li>CakePHP </li></ul><ul><ul><li>consolidado como um dos principais frameworks para PHP </li></ul></ul><ul><ul><li>maturidade do projeto </li></ul></ul><ul><ul><li>comunidade muito ativa </li></ul></ul><ul><ul><ul><li>Portais e IRC </li></ul></ul></ul><ul><ul><li>empresa/equipe dando constante suporte CakeDC </li></ul></ul>
  10. 10. Escolha de Tecnologias <ul><li>Flex </li></ul><ul><ul><li>aproveitamento da experiencia da Adobe com Flash </li></ul></ul><ul><ul><li>primeira solução RIA (exceto ajax) </li></ul></ul><ul><ul><li>alinhamento com as ferramentas gráficas da Adobe </li></ul></ul><ul><ul><li>evolução significativa da linguagem ActionScript (3.0) </li></ul></ul><ul><ul><li>processamento da interface fica no cliente </li></ul></ul>
  11. 11. Escolha de Tecnologias <ul><li>Fake/CakeAMF </li></ul><ul><ul><li>alinhamento com o CakePHP (desenvolvido pelo Garrett Woodworth) </li></ul></ul><ul><ul><li>mantendo os mesmos conceitos do CakePHP poderíamos reduzir a curva de aprendizado </li></ul></ul><ul><ul><li>arquitetura simplificada (Cairngorm e PureMVC) </li></ul></ul><ul><ul><li>transparência na comunicação entre cliente e servidor </li></ul></ul>
  12. 12. Desenvolvimento <ul><li>Características do Projeto </li></ul><ul><ul><li>7 meses </li></ul></ul><ul><ul><li>2 pessoas em média em tempo integral </li></ul></ul><ul><ul><li>Desenvolvimento em paralelo com a solução de Gestão Empresarial </li></ul></ul><ul><ul><li>Solução de Gestão Empresarial serviu de norte para as funcionalidades iniciais da plataforma </li></ul></ul>
  13. 13. Arquitetura
  14. 14. Arquitetura CakeAMF Controller Front Controller Model C Behaviors Behav Components Comp DataSource DS DS DS M M C C C Components Behav C C Comp Comp Model M M M V V V M Helpers(UI) Comp Comp Comp Help Help Help
  15. 15. Arquitetura Cake's Components Cake's Behaviors Fake's Helpers Fake's Components Management Views Core Utilities Logable Soft Deletable Containable Auth Filter ACL Pagination Datagrid Action Bar Action Button Action List Combo Filter DateInterval Filter Relations Filter Pagination User Password Police Module Acl TreeGrid Module Layout Localization Session
  16. 16. Funcionalidades <ul><li>Design Patterns (MVC, ORM, Observer, Singleton) </li></ul><ul><li>Comunicação transparente cliente- servidor </li></ul><ul><li>Geração de código </li></ul><ul><li>Internacionalização (I18n/L10n) </li></ul><ul><li>AAA (Autenticação, Autorização, Auditoria) </li></ul><ul><li>Geração de formulários </li></ul><ul><li>Validação no cliente e no servidor </li></ul><ul><li>Mapeamento das validações do servidor </li></ul><ul><li>Interface de administração </li></ul><ul><li>Modularização </li></ul><ul><li>Componentes, Behaviors e Helpers “pré-instalados” </li></ul><ul><li>Bibliotecas integradas (Degrafa, FlexLib) </li></ul>
  17. 17. Fake <ul><li>Actionscript 3 </li></ul><ul><li>Conjunto de utilitários </li></ul><ul><li>Conjunto de ferramentas </li></ul><ul><li>Possibilita desenvolvimento de interfaces ricas </li></ul><ul><li>arquitetura MVC </li></ul><ul><li>comunicação transparente com CakePHP </li></ul>
  18. 18. Fake <ul><li>Fake 0.1 </li></ul><ul><ul><li>Comunicação cliente-servidor </li></ul></ul><ul><ul><ul><li>Model, CakeAMF, AMFDatasource </li></ul></ul></ul><ul><ul><li>Datasources (AMF, HTTP, ...) </li></ul></ul><ul><ul><li>ORM (Object Relational Mapping) </li></ul></ul><ul><ul><li>Conceito MVC para Flex </li></ul></ul><ul><ul><li>Agrupamento de múltiplas requisições </li></ul></ul><ul><ul><li>Configuração </li></ul></ul><ul><ul><ul><li>Múltiplas conexões e ambientes </li></ul></ul></ul><ul><ul><li>Conjunto de Test Suites </li></ul></ul>
  19. 19. Fake <ul><li>Fake 0.1 (Configuração) </li></ul><ul><ul><li>ConfigManager </li></ul></ul><ul><ul><li>Environment </li></ul></ul>
  20. 20. Fake <ul><li>Fake 0.1 (Requisições) </li></ul><ul><ul><li>Model </li></ul></ul><ul><ul><li>Datasource / AMFDatasource </li></ul></ul><ul><ul><li>Resultset </li></ul></ul>
  21. 21. Fake <ul><li>Singletons </li></ul><ul><ul><li>Dispatcher </li></ul></ul><ul><ul><li>ModelRegistry </li></ul></ul>
  22. 22. Fake <ul><li>Fake 1.0 alpha (este mês) </li></ul><ul><ul><li>Lógica do controller (igual ao CakePHP) </li></ul></ul><ul><ul><ul><li>Callbacks </li></ul></ul></ul><ul><ul><li>Suporte a I18n/L10n (gettext) </li></ul></ul><ul><ul><li>Extensão </li></ul></ul><ul><ul><ul><li>Componentes </li></ul></ul></ul><ul><ul><ul><li>Helpers </li></ul></ul></ul><ul><ul><ul><li>Result sets </li></ul></ul></ul><ul><ul><ul><li>Datasources </li></ul></ul></ul><ul><ul><li>FakeShell ??? (cake console) </li></ul></ul>
  23. 23. Evolução <ul><li>Website dedicado a Plataforma/Fake </li></ul><ul><li>Screencasts </li></ul><ul><li>Showcase </li></ul>
  24. 24. Programando em Fake/CakePHP <ul><li>O que precisamos? </li></ul><ul><ul><li>CakePHP </li></ul></ul><ul><ul><ul><ul><li>http://www.cakephp.org/ </li></ul></ul></ul></ul><ul><ul><li>AMFEXT </li></ul></ul><ul><ul><ul><ul><li>http://pecl.php.net/package/amfext </li></ul></ul></ul></ul><ul><ul><li>CakeAMF </li></ul></ul><ul><ul><ul><ul><li>https://trac.cakefoundation.org/amf/ </li></ul></ul></ul></ul><ul><ul><li>Fake </li></ul></ul><ul><ul><ul><ul><li>http://code.google.com/p/fake-as3/ </li></ul></ul></ul></ul>
  25. 25. Specta Manager <ul><li>11 módulos (4/9 plugins) </li></ul><ul><li>82/120 tabelas de banco de dados </li></ul><ul><li>76 views (Flex) </li></ul><ul><li>83 controllers (CakePHP) </li></ul>
  26. 26. Referências <ul><li>Canais IRC para CakePHP (freenode) </li></ul><ul><ul><li>#cakephp </li></ul></ul><ul><ul><li>#cakephp-pt </li></ul></ul><ul><li>Canal IRC para Fake-AS3 (freenode) </li></ul><ul><ul><li>#fake-as3 </li></ul></ul>
  27. 27. Agradecimentos <ul><li>Equipe Specta TI </li></ul><ul><li>Garrett Woodworth </li></ul><ul><li>Sean Chatman </li></ul><ul><li>Comunidade CakePHP </li></ul>
  28. 28. <ul><li>Specta TI </li></ul><ul><li>www.spectati.com.br </li></ul><ul><li>Rafael Santos </li></ul><ul><li>[email_address] </li></ul>

×