Resolvendo problemas de negócio com conteúdo como-serviço
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

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

  • 678 views
Uploaded on

Programação em Cloud Alfresco, Alfresco Meetup em Lisboa (2013)

Programação em Cloud Alfresco, Alfresco Meetup em Lisboa (2013)

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
678
On Slideshare
678
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
20
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • This is a typical company network which is made up of users and sites.The diagram shows how partners/clients are collaborating on sites within your network.
  • Alojado en Amazon Web Services (AWS)Varios data centers configurados para ofrecer redundancia entre ellos en varias regiones geograficas. Amazon S3 Data StorageAmazon Simple Storage Service es un almacenamiento escalable, fiable, y rápido. Exclusivo para AWS.Infrastructura certificada en SeguridadLas infrastructuras AWS son certificadas en SAS70 Type II, SSAE SOC1, ISAE3402 7 y ISO270001.Multiples Firewalls ( Tiers)La plataforma cuenta con múltiples capas protegidas a diferentes niveles, desde la aplicación hasta las capas de transporte. Sistemas de detección de intrusos El data-center cuenta con varios sistemas de control para detección de intrusión tanto fisica como virtual. Se realizan continuas pruebas y barridos en la infrastructura.
  • Why can’t I just use a Free 10GB account for my business? You can but you won’t get paid network admin features such as:Usercontrol (controls on who is sharing what).Application usage (add more storage).Trashcan (ability to restore deleted files by an company or external user).Interface branding (it’s your platform afterall!)
  • “Lo que diferencia a Alfresco es que dispone de la capacidad completa de un ECM tradicional para que las empresas gestionen documentos y procesos de alto valor, más un elemento cloud que es fácil y rápido de desplegar.”
  • What is it?Remote APIs for interacting with the Alfresco Cloud (and soon Enterprise)What’s it comprised of? 1.0 (AtomPub)Alfresco-specific REST APIs (JSON)What can it do?Via CMIS:Folder, content and metadata manipulationVia REST:Networks, sites, people, comments, tags, activities, …
  • Autenticación de usuarioTodos los contenidos del Cloud estan protegidos mediante autenticación de usuario. Se utiliza OAUTH2 para las APIs.AES 256 SSL EncryptionTodos los accesos y transferencias desde el navegador , lasAPIs o los dispositivos moviles son encriptados. Permisos en Archivos y Sitios Los permisos son configurables a nivel de archivos y sitios. Notificaciones de actividadSe reciben actualizaciones con la actividad de los usuarios. Data RetentionTodos los archivos pasan por un proceso antes de ser eliminados, incluyendo papelera de reciclaje.
  • Access token expires after 1 hourRefresh token expires after 7 days of inactivity – clock resets on each use

Transcript

  • 1. ResolvendoProblemas deNegócio comConteúdo-Como-ServiçoJose CarrascoSkype: jcarraskoTwitter: jcarraskojose.carrasco@alfresco.com
  • 2. 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
  • 3. BOAS PRÁTICAS: A PLATAFORMA
  • 4. O negócio diz . . .• Temos muitos ficheiros,• Temos pessoas que os produzem e osconsomem,• Temos sistemas que os usam,• Quero que seja mais fácil!
  • 5. 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 pelaplataforma– Ou escreva sua própria interface usando qualquerlinguagem ou framework
  • 6. 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
  • 7. Partes dos sistemas de conteúdo• Interface com utilizador• Armazenamento / Modelodos 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 comFerramentas de Edição• API Remoto• Transferência / Publicação• Comentários• Notas• Activity Streams /Notification• Cotas
  • 8. ALFRESCO CLOUD ?CENÁRIOS.
  • 9. O que é Alfresco Cloud ?• Alfresco Cloud é um sistema ECM completobaseado na plataforma Alfresco multi-tentant.• Alfresco Cloud tem toda a funcionalidade padrãode Alfresco ECM.• OOTB pode ser usado como sistema decooperação para grupos ou divisões• Pretende-se trabalhar com instalações Alfrescolocais sob o foco da "ECM híbrido"
  • 10. Sistema MultitenantNetwork Users Network Siteswww.miorganizacion.com extuser@gmail.comclient.compartner.com
  • 11. Nosso Data CenterHospedado em Amazon Web Services (AWS)Vários centros de dados configurado para fornecer redundânciaentre 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, SSAESOC1, ISAE3402 7 e ISO270001.Firewalls Multiplas ( Tiers)A plataforma tem múltiplas camadas protegidos em níveisdiferentes, 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çãode intrusão física e virtual. Os ensaios são realizados contínuo evarreu na infra-estrutura
  • 12. 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.
  • 13. 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.
  • 14. Admin Features
  • 15. ECM HÍBRIDO ?
  • 16. O futuro da ECM éHíbrido"O que define Alfresco é que ele tem acapacidade plena de uma empresas de ECMtradicionais para gerir documentos eprocessos, de alto valor, além de umelemento Cloud que é fácil e rápido deimplantar.“Alan Pelz-Sharpe, 451 ResearchResearch Director, Content Management & Collaboration
  • 17. 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
  • 18. 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
  • 19. Hibrido ?80%20%Core Business• Segurança Corporativa• Regulamentos• Proprietário da empresaComodity• colaboração• padronizado• pouca especialização
  • 20. Cloud ConnectedCloudLocal ContentOn PremiseLocal ContentOn Premise Public CloudSincronização bidireccional de conteúdos
  • 21. Cloud ConnectedCMIS (ATOM)REST (JSON)AlfrescoBarcelonaAlfrescoCLOUDCMIS (ATOM)REST (JSON)AlfrescoLisboa
  • 22. Cloud ConnectedCMIS (ATOM)REST (JSON)AlfrescoOnPremiseAlfrescoCLOUDCMIS (ATOM)REST (JSON)WEBDAVSHAREPOINT
  • 23. ALFRESCO CLOUD APIS
  • 24. 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 APISource: 96dpi
  • 25. Cloud APIÉ uma API remoto para interagir com Alfresco CloudCMIS 1.0 (AtomPub)• Pasta• registos• conteúdo• Manipulação de metadadosAlfresco REST APIs (JSON)• Network• Sites– Utilizadores– Favoritos• utilizadores• social• Classificações e Comentários• atividades• Marcações
  • 26. CMIS ?• Content Management Interoperability Services• Um API especifico para gestão do conteúdo, independente dalinguagem, independente do fabricante• Denominador comum menor (alguns productos têmextensões)– Funções de CRUD para os documentos– Check-in / check-out– Associações– Permissão (Listas de controle de acesso)– Política
  • 27. CMIS ?• Standard do OASIS , 30+ fornecedores deECM 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 ajudammuito
  • 28. A beleza do CMISNível deApresentaçãoNível dos Serviçosde ConteúdoNível das Aplicaçõesde Empresa
  • 29. Definições dos Tipos
  • 30. Apache Chemistry• Uma implementação de CMIS de código aberto• O projeto que agrupa todos os projetosrelacionados 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 é usadopelo comité técnico de CMIS para provar
  • 31. Consideraciones sobre la API• Limitações tráfego:– Dev: 5 pedidos / segundo, 10.000 pedidos /dia– Prod: 50 pedidos / segundo, 100.000pedidos / dia• Nenhum limite no numero de aplicativos• Os usuários de Alfresco Cloud sãoproprietários do conteúdo
  • 32. O MODELO DE SEGURANÇA
  • 33. 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 sejuntar ou moderar Network locais públicos– Você pode ver outros usuários da rede, perfil e siga suaatividade– 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êmprivilégios
  • 34. 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 oudispositivos 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.
  • 35. 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 semver a senha• Definido em RFC-6749Quié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 AlfrescoCloud)
  • 36. OAuth2 ?Único mecanismo de autenticação previsto Alfresco CloudAPIs.ProgamadorAplicativo OauthServerAlfresco Services1. Registre o Aplicativo2. Redirecionamento3. Transmissão Token4. Pedir API + TokenUtilizador
  • 37. 1. Registrando o aplicativoProgramador Developer PortalSe cadastrar no siteRegistre o AplicativoCriar um perfilAtribuir uma chave /Segredo para aplicação12
  • 38. Link para a página deautorização Alfresco.Envie a URL da chaveAPI e secretoSolicita que o usuárioautorizar a aplicaçãoO usuário autoriza oaplicativo a acessar suacontaRedirecionar o seuendereço de retorno(callback), com o códigode autorização.Alterar o código deautorização para umtoken de acesso.Devuelve el acceso yrefresca el tokenGuarda con seguridadel acceso y refresca eltoken para este usuario2. AutorizaçãoAplicación Usuario1 2 34567
  • 39. 3. Utilizando a APIPedir APITransmissão Token no cabeçalhoHTTPIdentifica o acesso do tokenExecutar a chamada de APIAplicación1 2
  • 40. Chame a APIPasse o token no cabeçalho HTTPretorna 401Afirmando que o token expirouRetorna um novo token de acessoAtualize o token e envia o tokenatualizadaIdentifica o acesso do tokenExecutar a chamada de APIPedir APITransmissão Token no cabeçalhoHTTP4. AtualizarAplicación1 245 63
  • 41. EXEMPLO AO VIVO
  • 42. Iniciando• Entende o OAuth2• Inscrever-se como programador• Receber chaves• Tomo uma biblioteca cliente CMIS ou umSDK móvel• Começa a escrever código!
  • 43. 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
  • 44. 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
  • 45. 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
  • 46. 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 cmislibcp 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]
  • 47. Java# Transferir o exemplo de Jeff Potts em Javagit clone https://code.google.com/p/alfresco-api-java-examples/# Copiar seu chave de API e segredo de API para o clientOAuth2ClientCredentials.java[Registar app em http://developer.alfresco.com][URL de Callback: http://localhost:8080/Callback/]
  • 48. PRÓXIMOS PASSOS
  • 49. Conta Cloud2 minutos1. Registra uma contagratuita para 10GBpara a empresa dedomíniocloud.alfresco.com, ecomeçar a trabalhar.Registros APP15 minutos1. Registra uma contaemhttp://developer.alfresco.com2. Pegue a chave esegredoParticipaminutos1. Participa nacomunidade ou viaforums.alfresco.com,twitter ou IRCExperimente agora !
  • 50. 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
  • 51. Onde se pode aprender mais ?• #alfresco no IRC freenode• Grupo de Google: Alfresco TechnicalDiscussion– http://groups.google.com/group/alfresco-technical-discussion• DevCon 2012