A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Camilo Carromeu Sumário Histórico O Framework Arquitetura Características Instanciando Conceitos Sistema de Segurança Árvore de Diretórios.

Apresentações semelhantes


Apresentação em tema: "Camilo Carromeu Sumário Histórico O Framework Arquitetura Características Instanciando Conceitos Sistema de Segurança Árvore de Diretórios."— Transcrição da apresentação:

1 Camilo Carromeu

2 Sumário Histórico O Framework Arquitetura Características Instanciando Conceitos Sistema de Segurança Árvore de Diretórios Arquivos de Configuração Customizando Titan Roadmap Em Desenvolvimento Funcionalidades Futuras Documentação

3 Histórico Desenvolvido no Laboratório de Engenharia de Software (LEDES / DCT / UFMS) Desde 2004, mas somente em meados de 2007 assumiu caráter de um projeto colaborativo Necessidade de um framework em PHP que possibilitasse reaproveitamento de código e, assim, rápida instanciação de portais institucionais com requisitos semelhantes Requisito: fácil manutenção e extensibilidade

4 Histórico Atualmente é utilizado em diversos projetos do LEDES e do NIN/UFMS: Projeto Medusa DCT DEA PROPP PREAE etc Escola de Conselhos PAIR Projeto e-SAPI Projeto Colosus SIAD etc

5 O Framework O Titan é um framework para geração de CMSs (Content Management Systems) Possibilita a construção de sistemas CRUD através da simples configuração de XMLs ou de sistemas complexos através do uso de sua API Reproveitamento de código e de configurações

6 Arquitetura: Seções e Ações Conceito lógico de navegação: Seções: Área com contexto definido. Ex.: notícias, agenda, contato, etc Ações: Define uma ação que pode ser executada em uma seção. Ex.: criar, editar, apagar, listar, etc Seções podem ser organizadas visualmente em um conceito de pais e filhos Seções-falsas (fake) podem ser criadas

7 Arquitetura: Componentes e Engines Define a arquitetura física Código fonte executável que, devidamente configurado, instancia uma seção Um componente pode gerar diversas seções similares em uma aplicação XML + Entidades SQL Componentes estão para seções assim como engines estão para ações

8 Arquitetura: Componentes e Engines Dentro do componente, que é uma pasta, estão as engines Cada engine é um conjunto de 3 arquivos prepare view commit Objetivo: separar a visualização da camada de negócios (MVC)

9 Arquitetura Núcleo (Core) independente e imutável em função de instâncias Desenvolvimento e aprimoramento constante, mas legado Repositório: 1. Componentes 2. Tipos 3. Templates de código 4. Skins 5. Packages

10 Arquitetura Camada de Persistência Repositório de Componentes Repositório de Tipos Camada de Segurança NúcleoRepositório LogChat CVSkins Gráficos RSS

11 Arquitetura XMLXML Camada de Persistência Repositório de Componentes Repositório de Tipos Camada de Segurança NúcleoRepositório SQL LogChat CVSkins Gráficos RSS

12 Arquitetura XMLXML XMLXML Camada de Persistência Repositório de Componentes Repositório de Tipos Camada de Segurança NúcleoRepositório SQL LogChat CVSkins Gráficos RSS

13 Arquitetura XMLXML XMLXML XMLXML Camada de Persistência Repositório de Componentes Repositório de Tipos Camada de Segurança NúcleoRepositório SQL LogChat CVSkins Gráficos RSS

14 Características Listas com: Busca Paginação Ordenação Sistema de upload de arquivos completo Criação de páginas ricas (FCK) RSS para monitoramento Sistema de Cache (XMLs parseados) Chat Gráficos quantitativos automáticos Uso extensivo de XML Cache para performance

15 Características Controle de versões Criação de repositórios privados Permite a criação de seus próprios componentes, tipos e templates Sistema de alertas Sistema de Log Ajax Totalmente OO (PHP 5) Lançamento de exceções para controle de regras de negócios, validação e erros

16 Instanciando Para tudo! Instanciando sua primeira aplicação: 1. Criar uma pasta no seu htdocs do Apache 2. Criar as seguintes pasta dentro desta: core/ repos/ file/ cache/ 3. Fazer checkout do núcleo do Titan na pasta core: https://service.ledes.net/svn/architect/core/ 4. Repetir o procedimento para o repositório do Titan na pasta repos: https://service.ledes.net/svn/architect/repository

17 Instanciando 5. Exportar código-base para a pasta criada o https://service.ledes.net/svn/architect/repository/comp onent/architect.creator/_base/basic/ 6. Criar BD a partir do db.sql do código-base 7. Editar o arquivo configure/titan.xml de acordo com as configurações locais 8. Executar a instância: o o Criação de cache (necessita de internet) o Login: admin / Senha: admin o Configuração de grupos e permissões

18 Conceito: Sistema de Segurança Controle de navegação Tipos de usuários: Definição de metadados de usuários Grupos de usuários: Recebem permissões Usuários herdam as permissões por união de conjuntos de todos os grupos aos quais estão vinculados Administrador (conceito): usuários pertencentes a algum grupo administrador possuem acesso irrestrito às seções marcadas com admin=true no business.xml

19 Conceito: Árvore de Diretórios Diretórios e arquivos: Configuração (mandatório): configure/ Seções (mandatório): section/ Upload: file/ Cache: cache/ Inicializador: titan.php Banco de Dados: Colunas mandatórias Trabalhando com esquemas

20 Conceito: Arquivos de Configuração Configuração Geral: Principal: titan.xml Camada de negócios: business.xml Tipos de usuários: security.xml Arquivos aceitos (upload): archive.xml Configuração de Seções: config.inc.xml Formulários (padrão)

21 Customizando a Aplicação Básico Instanciando seções Instanciando ações Instanciando tipos de usuários Avançado Implementando componentes Diretórios: _script, _menu, _icon, _resource, _i18n Implementando engines (motores) Implementando tipos

22 Em Desenvolvimento Locale Internacionalization (i18n) Localization (l10n) Sistema de Log (SQLite) Titan Desktop Sistema de Atualização (Subversion) Suporte a pacotes PHAR Titan Architect Wizard Centauro (Pantaneiro)

23 Novas Funcionalidades Geração de cache HTML Interoperabilidade de instâncias através de webservices Titan Mobile Sistema de busca global (Lucene) Suporte a bibliotecas JAR API para uso externo Integração do PHPDocumentor

24 Documentação Wiki do Titan em Paradigma de desenvolvimento de software livre: baseado no conceito de comunidade Lista de discussão: framework

25 Nada melhor do que um programador preguiçoso. Você usa coisas que já estão prontas e tudo fica mais simples Nada melhor do que um programador preguiçoso. Você usa coisas que já estão prontas e tudo fica mais simples Vinton Cerf Evangelista-chefe de internet do Google.


Carregar ppt "Camilo Carromeu Sumário Histórico O Framework Arquitetura Características Instanciando Conceitos Sistema de Segurança Árvore de Diretórios."

Apresentações semelhantes


Anúncios Google