Meet-ups Brazil: Padrões de Gerenciamento de Conteúdo / Patterns in Content Management
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Meet-ups Brazil: Padrões de Gerenciamento de Conteúdo / Patterns in Content Management

on

  • 1,864 views

An introduction to patterns for building content applications using the CMIS API.

An introduction to patterns for building content applications using the CMIS API.

Uma introdução aos padrões pelo gerenciamento de conteúdo usando o API de CMIS.

Statistics

Views

Total Views
1,864
Views on SlideShare
1,572
Embed Views
292

Actions

Likes
0
Downloads
51
Comments
0

3 Embeds 292

http://www.meetup.com 156
http://richard.esplins.org 135
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Meet-ups Brazil: Padrões de Gerenciamento de Conteúdo / Patterns in Content Management Presentation Transcript

  • 1. Padrões de Gerenciamento deConteúdoRichard EsplinCommunity Technology
  • 2. O Banco de Dados Relacional NãoVai Ser AdequadoRichard EsplinCommunity Technology
  • 3. A dor dos documentos . . .
  • 4. O banco de dados não faz tudo● Faz bem o texto e os números, mas não faz bem os dados binários● Faz bem as definições das tabelas estáticas, mas não das definições dinâmicas● Limitação de tamanho● Acesso aleatório (faz streaming)● Busca: Algumas fazem indexação dos arquivos binários, mas não todos
  • 5. Vamos construir! Pasukaru76 (cc attribution) http://www.flickr.com/photos/pasukaru76/4277763808/
  • 6. Opções de armazenar os arquivos● No disco● Amazon S3 ou uma CAS filer no local● Repositório de gerenciamento do código● Um banco de dados de XML● Armazenador dos documentos de NoSQL
  • 7. Ao salvar os arquivos . . .● Segurança● Iniciar um workflow Muito código● Versionamento personalizado!● Replicação● Transformação de conteúdo● Programar um job● Acesso através do disco compartilhado● Acesso aos APIs● Integração com ferramentas
  • 8. O cenário otimista: gobucks2 (cc attribution non-commercial share-alike) http://www.flickr.com/photos/69331170@N00/2854583096
  • 9. O cenário pessimista: Guardanapo que funciona por si mesmo http://commons.wikimedia.org/wiki/File:Professor_Lucifer_Butts.gif
  • 10. Padrões Recomendados: A Plataforma
  • 11. A plataforma● Os problemas comuns já foram resolvidos● Plataforma de Conteúdo = Repositório + Serviços ● Busca a plataforma certa ● Personaliza a plataforma com suas regras de empresa ● Personaliza a interface usuária fornecida pela plataforma ● Ou escreva sua própria interface usando qualquer linguagem ou framework● Garanta que atenda às suas necessidades agora e também no futuro
  • 12. Partes dos sistemas de conteúdo● Interface usuário ● Transformação /● Armazenamento / Renderização / Miniaturas Modelo dos Dados / ● Marcação / Categorização Metadata ● Integração com● Processo de Empresa / Ferramentas dos Autoria Workflow ● API Remoto● Serviços de Biblioteca ● Transferência / (Upload / Download, Publicação Versionamento, Check-in / Check-out) ● Comentários● Segurança ● Notas
  • 13. Alfresco API●O API fundamental de Alfresco é de Java●Também tem a opção de JavaScript noserver●APIs remotos ● Webscripts de HTTP REST - Java ou JavaScript ● CMIS - REST Atom ou SOAP ● Alfresco Serviços de Web Source: 96dpi
  • 14. Arquitetura de AlfrescoAplicações de Web Portais de Conhecimento Serviços de Web Servidor CRM Motor dos de Apps Processos da Empresa Portal ServerSistema Virtual Alta Avaliabilidadedos Arquivos
  • 15. Corporate Systems Desktop WebDAV CMIS CIFS CMIS SharePoint JSR-168 Protocol ConnectorsSocial Media Channels Mobile CMIS WebDAV Open Web APIs Open Web CMIS-based Web Services APIs Alfresco Sync Public Alfresco Cloud CMIS
  • 16. e
  • 17. O que é o CMIS?● Content Management Interoperability Services● Um API especifico pelo gerenciamento do conteúdo, independente da linguagem, independente do fornecedor● Denominador comum menor (alguns fornecedores têm extensões) ● Funções de CRUD pelas nodas ● Check-in / check-out ● Associações ● Permissões (Listas de controle de acesso) ● Politica ● Consultas ● Atravessar o Repositório
  • 18. O que é o CMIS? (continuação)● Padrão do OASIS ● 30+ fornecedores de ECM prometem implementar● Duas partes ● Ligações de SOAP e de AtomPub – Ligações de JSON em breve ● Linguagem baseada nas consultas do SQL● As extensões especificas ao Alfresco ajudam muito
  • 19. Casos de uso Repositório Cliente Cliente de Conteúdo Repositório Repositório Content Content de Conteúdo de Conteúdo Repository Repositório Repository de Conteúdo● Criação colaborativa de conteúdo ● Workflow & BPM● Portais ● Arquivamento Integração com os aplicativos do cliente● ● Geração dos documentos Mashups Digital Asset Management (DAM)● ●● Repositório de conteúdo incorporado ● Web Content Mangaement (WCM)
  • 20. A beleza do CMIS Nível de Apresentação REST SOAP ? Nível dos Serviços de Conteúdo Nível das Aplicações de ? Empresa
  • 21. Conheça o CMIS Consumador Cliente ler escrever Serviços Modelo de Fornecedor domínio Content Management Mapiagem do Interoperability Fornecedor Services Repositório Com o CMIS pode ler, buscar, escrever, actualizar, excluir, dar versão, e gerenciar o de Conteúdo conteúdo e a metadata!
  • 22. Tipos Documentos Pasta ● Conteúdo ● Recipiente ● Rendições ● Hierarquia ● História das versões ● Arquivamento / Limadura Descrito pelas Definições dos Tipos Relação ACL ● Objeto de Origem ● Objeto de Destino ● Objeto de Destino Política ● Objeto de Destino
  • 23. Definições dos Tipos Object Property ● Type Id ● Property Id ● Parent * ● Display Name ● Display Name ● Type ● Queryable ● Required ● Controllable ● Default Value ● … Document Folder Relationship Policy ● Versionable ● Source Types ● Allow Content ● Target Types Custom Type
  • 24. Apache Chemistry● Uma implementação de CMIS de código aberto● O projeto que agrupo todos os projetos relacionados ao CMIS dentro de ASF ● OpenCMIS (Java, client, e servidor) ● cmislib (Python, client) ● phpclient (PHP, client) ● DotCMIS (.NET, client)● Implementação de referencia pelo CMIS que é usado pelo comité técnico de CMIS para provar as partes novas de versão 1.1.
  • 25. Exemplos
  • 26. Meu ambiente● Debian Mint Wheezy● OpenJDK 1.6.0_24● Python 2.7.2● Alfresco Community Edition 4.0.d● Open CMIS Workbench 0.7.0
  • 27. CMIS Workbench● Baixar ● http://chemistry.apache.org/java/developing/tools /dev-tools-workbench.html● Ligar ao Alfresco ● http://localhost:8080/alfresco/cmisatom● Uma ferramente boa para aprender sobre o CMIS● Confira o Groovy Console!
  • 28. Python● No shell: ● Continuação:virtualenv . props = {}./bin/easy_install cmislib props["cmis:objectTypeId"]="cmis:document"./bin/python doc = folder.createDocumentFromString(testdoc.tfrom cmislib.model import CmisClient xt, props, contentString="This is a testclient = CmisClient( showing how to create a text document","http://192.168.56.1:8080/alfresco/cmisato contentType=text/plain)m","admin", "admin") doc.isCheckedOut()repo = client.defaultRepository props = {}repo.id props[cmis:name] = "test-updated.txt"repo.name doc = doc.updateProperties(props)for (k,v) in doc.namerepo.getCapabilities().iteritems(): doc.delete() print "%s: %s" %(k,v) len(folder.getChildren()) result = repo.query("select * fromfor (k,v) in cmis:folder where cmis:name like %alf%")repo.getRepositoryInfo().iteritems(): len(result) print "%s: %s" %(k,v) for i in result: print i.nameroot = repo.getRootFolder()root.name result = repo.query("select * fromfolder = root.createFolder(cmis-demo) cmis:document where contains(name)")folder.id for i in result:folder.name print i.namefor (k,v) infolder.properties.iteritems(): print "%s: %s" %(k,v)
  • 29. Aonde pode aprender mais● cmis.alfresco.com é um servido público de CMIS e contém links aos recursos CMIS (o cheat sheet é ótimo!)● Pode ler o especificação de CMIS● O site de Apache Chemistry tem clientes, um servidor pequeno, e documentação● O tutório “Getting Started with CMIS” demonstra como usar "cURL para acessar diretamente as ligações de AtomPub"● Há presentações do Alfresco DevCon 2011 sobre o CMIS no Slideshare aqui e aqui
  • 30. Perguntas?
  • 31. Atribuição e licenciamento● Copyright 2012, Alfresco Software● Imagens usado nesta presentação sob a licença de Creative Commons by-attribution non- commercial share-alike.● O trabalho original nesta presentação é sob a licença de Creative Commons by-attribution.● Agradeço o Jeff Potts que me deixou usar a sua presentação como o fundição deste trabalho.