Top Banner
Resolvendo Problemas de Negócio com Conteúdo-Como- Serviço Jose Carrasco Skype: jcarrasko Twitter: jcarrasko [email protected]
54

Resolvendo problemas de negócio com conteúdo como-serviço

Jun 02, 2015

Download

Technology

Jose Carrasco

Programação em Cloud Alfresco, Alfresco Meetup em Lisboa (2013)
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Resolvendo problemas de negócio com conteúdo como-serviço

Resolvendo Problemas de Negócio com Conteúdo-Como-Serviço

Jose CarrascoSkype: jcarraskoTwitter: jcarrasko

[email protected]

Page 2: Resolvendo problemas de negócio com conteúdo como-serviço

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

BOAS PRÁTICAS: A PLATAFORMA

Page 4: Resolvendo problemas de negócio com conteúdo como-serviço

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

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

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

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

ALFRESCO CLOUD ?CENÁRIOS.

Page 9: Resolvendo problemas de negócio com conteúdo como-serviço

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

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

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

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

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

Admin Features

Page 15: Resolvendo problemas de negócio com conteúdo como-serviço

ECM HÍBRIDO ?

Page 16: Resolvendo problemas de negócio com conteúdo como-serviço

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

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

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

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

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

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

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

ALFRESCO CLOUD APIS

Page 24: Resolvendo problemas de negócio com conteúdo como-serviço

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
Page 26: Resolvendo problemas de negócio com conteúdo como-serviço

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

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

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

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

Definições dos Tipos

Page 31: Resolvendo problemas de negócio com conteúdo como-serviço
Page 32: Resolvendo problemas de negócio com conteúdo como-serviço

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

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

O MODELO DE SEGURANÇA

Page 35: Resolvendo problemas de negócio com conteúdo como-serviço

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

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

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

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

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

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

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

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

EXEMPLO AO VIVO

Page 44: Resolvendo problemas de negócio com conteúdo como-serviço

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

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

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

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

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

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

PRÓXIMOS PASSOS

Page 51: Resolvendo problemas de negócio com conteúdo como-serviço

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

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

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