resolvendo problemas de negócio com conteúdo como-serviço
Post on 02-Jun-2015
506 Views
Preview:
DESCRIPTION
TRANSCRIPT
Resolvendo Problemas de Negócio com Conteúdo-Como-Serviço
Jose CarrascoSkype: jcarraskoTwitter: jcarrasko
jose.carrasco@alfresco.com
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
BOAS PRÁTICAS: A PLATAFORMA
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!
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
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
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
ALFRESCO CLOUD ?CENÁRIOS.
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"
Sistema MultitenantNetwork Users Network Sites
www.miorganizacion.com extuser@gmail.com
client.com
partner.com
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
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.
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.
Admin Features
ECM HÍBRIDO ?
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
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
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
Hibrido ?
80%
20%
Core Business• Segurança Corporativa• Regulamentos• Proprietário da empresa
Comodity• colaboração• padronizado• pouca especialização
Cloud Connected
Cloud
Local Content
On Premise
Local Content
On Premise Public Cloud
Sincronização bidireccional de conteúdos
Cloud Connected
CMIS (ATOM)
REST (JSON)
AlfrescoBarcelona
AlfrescoCLOUD
CMIS (ATOM)
REST (JSON)
AlfrescoLisboa
Cloud Connected
CMIS (ATOM)
REST (JSON)
Alfre
sco
On P
rem
ise
Alfre
sco
CLO
UD
CMIS (ATOM)REST (JSON)
WEBDAVSHAREPOINT
ALFRESCO CLOUD APIS
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
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
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
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
A beleza do CMIS
Nível de Apresentação
Nível dos Serviços de Conteúdo
Nível das Aplicações de Empresa
Definições dos Tipos
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
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
O MODELO DE SEGURANÇA
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
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.
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)
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
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
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
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
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
EXEMPLO AO VIVO
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!
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
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
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
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]
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/]
PRÓXIMOS PASSOS
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 !
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
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
top related