Resolvendo problemas de negócio com conteúdo como-serviço
-
Upload
jose-carrasco -
Category
Technology
-
view
507 -
download
3
description
Transcript of Resolvendo problemas de negócio com conteúdo como-serviço
![Page 1: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/1.jpg)
Resolvendo Problemas de Negócio com Conteúdo-Como-Serviço
Jose CarrascoSkype: jcarraskoTwitter: jcarrasko
![Page 2: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/2.jpg)
Agenda
• Boas Práticas: A Plataforma
• Alfresco Cloud ?
• Híbrido ?
• Alfresco Cloud APIs
• O modelo de Segurança
• O Portal desenvolvedor
• Exemplo ao vivo
• Próximos passos
![Page 3: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/3.jpg)
BOAS PRÁTICAS: A PLATAFORMA
![Page 4: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/4.jpg)
O negócio diz . . .
• Temos muitos ficheiros,• Temos pessoas que os produzem e os
consomem,• Temos sistemas que os usam,• Quero que seja mais fácil!
![Page 5: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/5.jpg)
A plataforma
• Os problemas comuns já foram resolvidos
• Plataforma de Conteúdo = Repositório + Serviços
– Pesquisa plataforma certa– Personaliza a plataforma com suas regras de empresa– Personaliza a interface do utilizador fornecida pela
plataforma– Ou escreva sua própria interface usando qualquer
linguagem ou framework
![Page 6: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/6.jpg)
O repositório de conteúdo
• Conteúdo = documento + meta-dados
• Armazenamento• Binários dos arquivos• Índices de pesquisa• Base de Dados• Relações (associações)• Meta-dados• Repositório
![Page 7: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/7.jpg)
Partes dos sistemas de conteúdo
• Interface com utilizador• Armazenamento /
Modelo dos Dados / Metadata
• Processo de Empresa / Workflow
• Serviços de Biblioteca (Upload / Download, Versionamento, Check-in / Check-out)
• Segurança• Pesquisa• Agendamento
• Transformação / Renderização / Miniaturas
• Marcação / Categorização• Integração com
Ferramentas de Edição• API Remoto• Transferência / Publicação• Comentários• Notas• Activity Streams /
Notification• Cotas
![Page 8: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/8.jpg)
ALFRESCO CLOUD ?CENÁRIOS.
![Page 9: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/9.jpg)
O que é Alfresco Cloud ?
• Alfresco Cloud é um sistema ECM completo baseado na plataforma Alfresco multi-tentant.
• Alfresco Cloud tem toda a funcionalidade padrão de Alfresco ECM.
• OOTB pode ser usado como sistema de cooperação para grupos ou divisões
• Pretende-se trabalhar com instalações Alfresco locais sob o foco da "ECM híbrido"
![Page 10: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/10.jpg)
Sistema MultitenantNetwork Users Network Sites
www.miorganizacion.com [email protected]
client.com
partner.com
![Page 11: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/11.jpg)
Nosso Data CenterHospedado em Amazon Web Services (AWS)Vários centros de dados configurado para fornecer redundância entre eles em várias regiões geográficas.
Amazon S3 Data StorageAmazon Simple Storage Service é um armazenamento escalável, confiável e rápido. Exclusivo para AWS.
Certificado de segurança de infra-estruturaAs infra-estruturas da AWS são certificados SAS70 Tipo II, SSAE SOC1, ISAE3402 7 e ISO270001.
Firewalls Multiplas ( Tiers)A plataforma tem múltiplas camadas protegidos em níveis diferentes, a aplicação de camadas de transporte.
Sistemas de Detecção de IntrusãoO centro de dados tem vários sistemas de controle para detecção de intrusão física e virtual. Os ensaios são realizados contínuo e varreu na infra-estrutura
![Page 12: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/12.jpg)
Contingência
• Backups per Amazon S3:
– 99,99% disponíveis– Replicação entre duas regiões– Duas cópias encriptadas
• Backups diários para DR infra-estrutura
• RPO: 24 horas e RTO: 4 horas
• Lixeira para cada rede.
![Page 13: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/13.jpg)
Administração
•Controle do utilizador : quem está compartilhando o quê?
•Controlando a utilização da Aplicação
•Adicione mais capacidade de armazenamento
•Lixeira
•Branding e look & feel.
![Page 14: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/14.jpg)
Admin Features
![Page 15: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/15.jpg)
ECM HÍBRIDO ?
![Page 16: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/16.jpg)
O futuro da ECM é
Híbrido"O que define Alfresco é que ele tem a capacidade plena de uma empresas de ECM tradicionais para gerir documentos e processos, de alto valor, além de um elemento Cloud que é fácil e rápido de implantar.“
Alan Pelz-Sharpe, 451 ResearchResearch Director, Content Management & Collaboration
![Page 17: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/17.jpg)
On Premise , localmente
• Máxima segurança– Dentro do firewall– O acesso físico controlado
• Desenvolvimentos à medida– Modelos dos documentos especificos– Workflows à medida
• Conformidade com os regulamentos locais
• Integração com sistemas legados
![Page 18: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/18.jpg)
Cloud implantação
• Colaboração e funcionalidade padrão
• Operações delegadas– Backups– instalação– manutenção
• Menor custo por documento– Armazenamento– Acessar
• Menor custo por subscrição
![Page 19: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/19.jpg)
Hibrido ?
80%
20%
Core Business• Segurança Corporativa• Regulamentos• Proprietário da empresa
Comodity• colaboração• padronizado• pouca especialização
![Page 20: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/20.jpg)
Cloud Connected
Cloud
Local Content
On Premise
Local Content
On Premise Public Cloud
Sincronização bidireccional de conteúdos
![Page 21: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/21.jpg)
Cloud Connected
CMIS (ATOM)
REST (JSON)
AlfrescoBarcelona
AlfrescoCLOUD
CMIS (ATOM)
REST (JSON)
AlfrescoLisboa
![Page 22: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/22.jpg)
Cloud Connected
CMIS (ATOM)
REST (JSON)
Alfre
sco
On P
rem
ise
Alfre
sco
CLO
UD
CMIS (ATOM)REST (JSON)
WEBDAVSHAREPOINT
![Page 23: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/23.jpg)
ALFRESCO CLOUD APIS
![Page 24: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/24.jpg)
As APIs do Alfresco
• Alfresco’s “foundation” API em Java
• Server-side JavaScript
• APIs remotas:
– CMIS - Atom REST or SOAP– HTTP REST Webscripts
• Alfresco Mobile SDK
• Alfresco Cloud API
Source: 96dpi
![Page 25: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/25.jpg)
![Page 26: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/26.jpg)
Cloud API
É uma API remoto para interagir com Alfresco Cloud
CMIS 1.0 (AtomPub)
• Pasta• registos• conteúdo• Manipulação de metadados
Alfresco REST APIs (JSON)
• Network• Sites
– Utilizadores– Favoritos
• utilizadores• social• Classificações e Comentários• atividades• Marcações
![Page 27: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/27.jpg)
CMIS ?
• Content Management Interoperability Services
• Um API especifico para gestão do conteúdo, independente da linguagem, independente do fabricante
• Denominador comum menor (alguns productos têm extensões)
– Funções de CRUD para os documentos– Check-in / check-out– Associações– Permissão (Listas de controle de acesso)– Política
![Page 28: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/28.jpg)
CMIS ?
• Standard 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
![Page 29: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/29.jpg)
A beleza do CMIS
Nível de Apresentação
Nível dos Serviços de Conteúdo
Nível das Aplicações de Empresa
![Page 30: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/30.jpg)
Definições dos Tipos
![Page 31: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/31.jpg)
![Page 32: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/32.jpg)
Apache Chemistry
• Uma implementação de CMIS de código aberto
• O projeto que agrupa todos os projetos relacionados com CMIS dentro de ASF– OpenCMIS (Java, client, e servidor)– cmislib (Python, client)– phpclient (PHP, client)– DotCMIS (.NET, client)
• Implementação de referencia de CMIS que é usado pelo comité técnico de CMIS para provar
![Page 33: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/33.jpg)
Consideraciones sobre la API
• Limitações tráfego:
– Dev: 5 pedidos / segundo, 10.000 pedidos / dia
– Prod: 50 pedidos / segundo, 100.000 pedidos / dia
• Nenhum limite no numero de aplicativos
• Os usuários de Alfresco Cloud são proprietários do conteúdo
![Page 34: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/34.jpg)
O MODELO DE SEGURANÇA
![Page 35: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/35.jpg)
Tipos de usuários
• Network Administrator– O acesso à Configurações de Conta– Branding, usuários e configurações de Network
• Network User– Criação de sites, ser Administrator do Site, para se
juntar ou moderar Network locais públicos– Você pode ver outros usuários da rede, perfil e siga
sua atividade– Ter acesso a recursos como pagamento WebDAV
• External User– Convidados a colaborar em um determinado site– Basta acessar o site, onde ele foi convidado– Os usuários não podem ver ou sites que não têm
privilégios
![Page 36: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/36.jpg)
Características GeraisAutenticação de UtilizadoresTodos os conteúdos estão protegidos por autenticação de usuário. OAuth2 usado para APIs.
AES 256 SSL EncryptionTodos os acessos e transferências a partir do navegador, APIs ou dispositivos móveis são criptografados.
Permissões de arquivos e SítiosAs permissões são configuráveis no nível de arquivo e sites.
Notificações de atividadeAs atualizações são recebidos com a atividade do usuário.
Data RetentionTodos os arquivos passam por um processo antes de ser eliminado, incluindo lixeira.
![Page 37: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/37.jpg)
OAuth2 ?
Qué es OAuth2?
• É um padrão para a autenticação e autorização• Cobre os cenários de aplicação 3, onde se tem que acessar um recurso,
mas sem ver a senha• Definido em RFC-6749
Quién usa OAuth2 ?
• Facebook , Google, Hudle, Instagram, LinkedIn, SalesForce, GitHub, Vikuit…
Oauth Identifica inequivocamente:
• O fornecedor de API (Alfresco)• A solução (que você vai construir)• O usuário de nosso serviço que está usando a sua solução (um usuário de
Alfresco Cloud)
![Page 38: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/38.jpg)
OAuth2 ?
Único mecanismo de autenticação previsto Alfresco Cloud APIs.
Progamador
Aplicativo OauthServer
Alfresco Services
1. Registre o Aplicativo
2. Redirecionamento
3. Transmissão Token
4. Pedir API + Token
Utilizador
![Page 39: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/39.jpg)
1. Registrando o aplicativo
Programador Developer Portal
Se cadastrar no site
Registre o Aplicativo
Criar um perfil
Atribuir uma chave / Segredo para aplicação
1
2
![Page 40: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/40.jpg)
Link para a página de autorização Alfresco. Envie a URL da chave API e secreto
Solicita que o usuário autorizar a aplicação
O usuário autoriza o aplicativo a acessar sua conta
Redirecionar o seu endereço de retorno (callback), com o código de autorização.Alterar o código de
autorização para um token de acesso.
Devuelve el acceso y refresca el token
Guarda con seguridad el acceso y refresca el token para este usuario
2. Autorização
Aplicación Usuario
1 2 3
4
5
67
![Page 41: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/41.jpg)
3. Utilizando a API
Pedir APITransmissão Token no cabeçalho HTTP
Identifica o acesso do tokenExecutar a chamada de API
Aplicación
1 2
![Page 42: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/42.jpg)
Chame a APIPasse o token no cabeçalho HTTP
retorna 401Afirmando que o token expirou
Retorna um novo token de acesso
Atualize o token e envia o token atualizada
Identifica o acesso do tokenExecutar a chamada de API
Pedir APITransmissão Token no cabeçalho HTTP
4. Atualizar
Aplicación
1 2
4
5 6
3
![Page 43: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/43.jpg)
EXEMPLO AO VIVO
![Page 44: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/44.jpg)
Iniciando
• Entende o OAuth2• Inscrever-se como programador• Receber chaves• Tomo uma biblioteca cliente CMIS ou
um SDK móvel• Começa a escrever código!
![Page 45: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/45.jpg)
Passo 1: Usa uma biblioteca OAuth
• Google OAuth2 Client (muitas linguagens)– https://developers.google.com/
accounts/docs/
OAuth2#libraries
• Spring Social (Java)– http://www.springsource.org/spring-
social
![Page 46: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/46.jpg)
Passo 2: Registar seu aplicativo
• http://www.alfresco.com/develop– Uma conta no Alfresco Cloud– Uma conta de Registered Developer
• Adiciona as suas aplicativos
• Configurações importantes:– Chave, segredo, URL de callback
![Page 47: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/47.jpg)
Passo 3: Biblioteca CMIS
• OpenCMIS (Java, cliente e servidor)
• cmislib (Python, cliente)• phpclient (PHP, cliente)• DotCMIS (.NET, cliente)• ObjectiveCMIS (Objective-C, cliente)
• Também existem outros
![Page 48: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/48.jpg)
Python 2.7
# Transferir o exemplo de Jeff Potts em Pythongit clone https://code.google.com/p/alfresco-api-python-examples/ cloud-demo# Install the Libs
./bin/pip install oauth2client
./bin/pip install keyring
./bin/pip install cmislib
cp client_secrets.json.sample client_secrets.json
[Registar em http://developer.alfresco.com]
[URL de Callback: http://localhost:8080/][Copiar seu chave de API e segredo de API para o client_secrets.json]
![Page 49: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/49.jpg)
Java
# Transferir o exemplo de Jeff Potts em Java
git clone https://code.google.com/p/alfresco-api-java-examples/
# Copiar seu chave de API e segredo de API para o client
OAuth2ClientCredentials.java [Registar app em http://developer.alfresco.com]
[URL de Callback: http://localhost:8080/Callback/]
![Page 50: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/50.jpg)
PRÓXIMOS PASSOS
![Page 51: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/51.jpg)
Conta Cloud
2 minutos
1. Registra uma conta gratuita para 10GB para a empresa de domínio cloud.alfresco.com, e começar a trabalhar.
Registros APP
15 minutos
1. Registra uma conta em http://developer.alfresco.com
2. Pegue a chave e segredo
Participa
minutos
1. Participa na comunidade ou via forums.alfresco.com, twitter ou IRC
Experimente agora !
![Page 52: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/52.jpg)
Onde se pode aprender mais ?
• Portal dos programadores: APIs, SDKs, chaves– http://developer.alfresco.com
• O fórum de API de Alfresco– http://forums.alfresco.com
• Alfresco Wiki– http://wiki.alfresco.com
• Alfresco Blogroll– http://blogs.alfresco.com
![Page 53: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/53.jpg)
Onde se pode aprender mais ?
• #alfresco no IRC freenode
• Grupo de Google: Alfresco Technical Discussion– http://
groups.google.com/group/alfresco-technical-discussion
• DevCon 2012
![Page 54: Resolvendo problemas de negócio com conteúdo como-serviço](https://reader030.fdocuments.net/reader030/viewer/2022020110/556dc79dd8b42a78768b463b/html5/thumbnails/54.jpg)