SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Big Repository Implementation
Le sfide, le criticità e soprattutto i vantaggi/benefici
Francesco Fornasari
Alfresco Engineer - Alfresco Administrator
Lo Scenario
Caso d’uso
•  Content Repository a supporto delle applicazioni di business
•  Documenti gestiti di tipo fattura, protocollo e altri documenti aziendali
•  Integrazione con sistemi terzi
•  Ricerche sui contenuti
•  Volumi documentali significativi
•  Migrazione da ECM legacy
BigRepository
Volumi documentali
•  Target: +500 milioni di documenti presenti nel sistema legacy
•  Crescita: 120 milioni di documenti/anno
•  Documenti migrati in Alfresco: 10 milioni
•  L’architettura deve essere dimensionata di conseguenza a tutti i livelli per
affrontare al meglio il carico e la crescita del repository
BigRepository
Integrazione sistemi terzi
Applicazioni esistenti in essere dal cliente che necessitano dei servizi
documentali
•  SAP
•  EMC2 Centera o Atmos
•  Hitachi HCP Content Platform
•  Applicazioni custom
BigRepository
Migrazione da ECM legacy
•  Analisi congiunta con il cliente
finale dello scenario dell’ECM da
dismettere
•  Verifica e stima del numero dei
documenti da migrare
•  Preparazione di un modello dati
specifico per Alfresco
•  Preparazione e modellazione del
repository
•  Integrazione con altre applicazioni
•  Dimensionamento dell’architettura
finale
•  Creazione/utilizzo di un tool
guidato di migrazione
•  Analisi dei log e del
comportamento del sistema
durante la migrazione
•  Verifica analitica dei contenuti
migrati
•  Avvio in Produzione
BigRepository
Ricerche
•  Possono rappresentare uno dei problemi più impegnativi da risolvere
•  Il cliente deve capire le capacità/limiti del sistema di indicizzazione basato
su SOLR 1.4
•  Va stabilita la soglia di soddisfazione nel tempo di retrieval
•  Va stabilito cosa ha senso indicizzare sia per i metadati che per i
contenuti
BigRepository
Criticità
Criticità
•  Non sempre i contenuti nell’ECM da dismettere sono validi
•  Il cliente non ha inizialmente sufficiente know-how per dare indicazioni su
quali tipologie di formati e metadati migrare
•  Potrebbe essere necessario ristrutturare il modello dati iniziale
•  Il cliente deve avere chiara percezione di eventuali utilizzi massivi delle
modalità di ricerca full-text
•  L’integrazione con altre applicazioni o sistemi deve essere valutata
attentamente
•  Raccogliere sufficienti informazioni per dimensionare e strutturare query di
ricerca può essere veramente difficile
•  I tempi di risposta si devono mantenere nei limiti di accettazione per il cliente
finale
BigRepository
Soluzione
Architettura e configurazione minimale
•  Alfresco Repository: 2 nodi in cluster
•  Index Server SOLR: 2 nodi + 2 Alfresco Repository read-only mode
•  Alfresco Repository Injection: 1 nodo
•  DBMS ad alte prestazioni (i.e: Oracle Exadata) che supporta tecniche di
partizionamento dei dati
BigRepository

Web	
  Services	
  
•  Ottimizzazione parametri JVM Alfresco e
SOLR
•  Disabilitare servizi non necessari
•  Disabilitare estrazione automatica
metadati non necessari (i.e: Exif,
RFC822)
Strutturare il processo di migrazione
•  Il processo di migrazione deve avvalersi di tool o strumenti adatti a
mappare dinamicamente dalla sorgente alla destinazione contenuti e
metadati associati
•  Creare lotti a batch temporali
•  Esecuzione parallela dei batch definiti per minimizzare i tempi di
migrazione
•  Definire logiche di controllo durante le fasi di migrazione al fine di
generare reportistica oppure fermare il processo di migrazione
•  Soluzione TAI: Enterprise Content Mapper 
–  http://www.tai.it/progetti/migrazione-documentale/
BigRepository
Strutturare l’integrazione applicativa e di sistema
•  Creare se possibile uno strato di servizi unificato per l’accesso ai servizi
documentali (astrazione)
–  Soluzione TAI: 
•  Layer servizi in standard SOAP + MTOM + WS-Security
•  Implementazione specifica per un uso ottimale di Alfresco
•  Non è necessario conoscere nativamente Alfresco
•  Guidare gli sviluppatori all’utilizzo ottimale dei servizi documentali CMIS o
Alfresco REST 
•  Utilizzare connettori specifici e certificati Alfresco per sistemi come EMC2
Centera e SAP (Connexas-connector)
BigRepository
Punti di attenzione 1/3
•  Modellare solo i metadati minimali e necessari
•  Modellare tipi significativi
•  Strutturare il repository in modo da non avere troppi figli diretti di uno
stesso nodo cm:folder
•  Attenti a non esagerare con le ACL e preferire un approccio di
configurazione sui Gruppi
•  Categorizzare se possibile i nodi documentali attraverso l’aspect
cm:classifiable 
BigRepository
Punti di attenzione 2/3
•  Indicizzare solo i metadati che verranno effettivamente utilizzati nelle
ricerche
•  Guidare le ricerche applicative in modo che utilizzino il più possibile il
Metadata Search Engine (utilizzare linguaggi come AFTS o CMIS ed
evitare l’utilizzo dell’operatore OR, PATH, NOT e @)
•  Utilizzare in corso d’opera l’aspect cm:indexControl
•  Abilitare il full-text per un sotto-insieme di tipi documentali
•  Ricerche con result-set elevati possono portare il processo java
dell’istanza Alfresco Repository in out-of-memory
•  Avere gli indici su dischi locali e comunque performanti
•  Avere circa la metà di spazio disco degli indici sempre libero
BigRepository
Punti di attenzione 3/3
•  Evitare query troppo generiche e restringere il più possibile i campi di
ricerca su metadati significativi
•  Interrogare direttamente il DB nel caso in cui:
–  Il result-set abbia una cardinalità troppo elevata (>~20.000 elementi)
–  Sia necessario conoscere il numero di elementi di un certo tipo o eseguire
aggregazioni particolari
BigRepository

SELECT names.local_name as node_type, count(*) as occurrencies
FROM alf_node nodes, alf_qname names
WHERE nodes.type_qname_id=names.id
AND
(
names.local_name='PRAI_AP01' OR
names.local_name='PRAI_COIMA' OR
….
)
GROUP BY nodes.type_qname_id, names.local_name
ORDER BY occurrencies desc;
Punti di attenzione DBMS 1/2
•  Nel disegno e dimensionamento architetturale confrontarsi con un DBA
•  Monitorare le tabelle più critiche dello schema dati alfresco e nel caso attivare
tecniche di partizionamento:
–  ALF_NODE: riferimenti ai nodi del repository
–  ALF_NODE_PROPERTIES: proprietà definite nei modelli dati per ogni tipo o aspetto
–  ALF_CONTENT_URL: contiene il riferimenti fisico al contenuto
–  ALF_CHILD_ASSOC: relazioni padre-figlio tra nodi del repository
•  Fattori di crescita indicativi ~ (per ogni nuovo inserimento di cm:content o
cm:folder):
–  ALF_NODE: +3
–  ALF_NODE_PROPERTIES: +4
–  ALF_NODE_PROPERTIES (versioning attivo): +25
–  ALF_CONTENT_URL: +1
BigRepository
Punti di attenzione DBMS 2/2
•  ALF_NODE_PROPERTIES crescerà a seconda della complessità del
modello dati
•  I.E: ~10M documenti potrebbero produrre ~200M di righe su
ALF_NODE_PROPERTIES
•  Tecniche di partizionamento basate su HASH sui campi univoci
identificativi
•  Evitare quindi in fase di analisi del modello:
–  Modellare metadati di cui non si è SICURI dell’effettivo utilizzo
–  Abilitare estrattori su meta-type conosciuti non necessari
–  Riportare stessi metadati su tipi differenti, utilizzare in questi casi gli aspect
BigRepository
Vantaggi/Benefici
Vantaggi/Benefici
•  Riduzione dei costi a lungo termine
•  Scalabilità del sistema
•  Performance
•  Strutturazione evolutiva dei servizi documentali
•  Organizzazione delle informazioni (i dati parlano di sé stessi)
BigRepository
TAI Enterprise Content Mapper
DEMO
http://www.tai.it/soluzioni-software/enterprise-content-mapper/
Grazie!
Per informazioni alfresco-training@tai.it
Condividi su
#AlfrescoDayRoma

Weitere ähnliche Inhalte

Ähnlich wie Alfresco Day Roma 2015: Big Repository

Best Practices on SQL Server
Best Practices on SQL ServerBest Practices on SQL Server
Best Practices on SQL ServerGianluca Hotz
 
Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Fabio Armani
 
Kubernetes as HA time series server, a proposal
Kubernetes as HA time series server, a proposalKubernetes as HA time series server, a proposal
Kubernetes as HA time series server, a proposalGiuliano Latini
 
Quanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless SynapseQuanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless SynapseMarco Pozzan
 
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL ClusterMySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL ClusterPar-Tec S.p.A.
 
ASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cacheASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cacheAndrea Dottor
 
Metadata Driven Pipeline with Microsoft Fabric
Metadata Driven Pipeline  with Microsoft FabricMetadata Driven Pipeline  with Microsoft Fabric
Metadata Driven Pipeline with Microsoft FabricMarco Pozzan
 
Big data - stack tecnologico
Big data -  stack tecnologicoBig data -  stack tecnologico
Big data - stack tecnologicoConsulthinkspa
 
Multitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseMultitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseGianluca Hotz
 
Redis - Non solo cache
Redis - Non solo cacheRedis - Non solo cache
Redis - Non solo cacheLuigi Fugaro
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Codemotion
 
JBoss Data Grid Tech Lab
JBoss Data Grid Tech LabJBoss Data Grid Tech Lab
JBoss Data Grid Tech LabUgo Landini
 
Open Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioOpen Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioPar-Tec S.p.A.
 
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackMySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackPar-Tec S.p.A.
 
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLMySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLPar-Tec S.p.A.
 

Ähnlich wie Alfresco Day Roma 2015: Big Repository (20)

Best Practices on SQL Server
Best Practices on SQL ServerBest Practices on SQL Server
Best Practices on SQL Server
 
Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)
 
Kubernetes as HA time series server, a proposal
Kubernetes as HA time series server, a proposalKubernetes as HA time series server, a proposal
Kubernetes as HA time series server, a proposal
 
Quanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless SynapseQuanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless Synapse
 
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL ClusterMySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
 
ASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cacheASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cache
 
Cooperteam soluzioni
Cooperteam soluzioniCooperteam soluzioni
Cooperteam soluzioni
 
Metadata Driven Pipeline with Microsoft Fabric
Metadata Driven Pipeline  with Microsoft FabricMetadata Driven Pipeline  with Microsoft Fabric
Metadata Driven Pipeline with Microsoft Fabric
 
Big data - stack tecnologico
Big data -  stack tecnologicoBig data -  stack tecnologico
Big data - stack tecnologico
 
Multitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseMultitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL Database
 
Redis - Non solo cache
Redis - Non solo cacheRedis - Non solo cache
Redis - Non solo cache
 
Data grid
Data gridData grid
Data grid
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015
 
JBoss Data Grid Tech Lab
JBoss Data Grid Tech LabJBoss Data Grid Tech Lab
JBoss Data Grid Tech Lab
 
Open Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioOpen Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studio
 
Presentazione bd2
Presentazione bd2Presentazione bd2
Presentazione bd2
 
Data flow
Data flowData flow
Data flow
 
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackMySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
 
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLMySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
 
OCP Paas_ultima
OCP Paas_ultimaOCP Paas_ultima
OCP Paas_ultima
 

Mehr von Alfresco Software

Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Software
 
Alfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Software
 
Alfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Software
 
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Software
 
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Software
 
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Software
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Software
 
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Software
 
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Software
 
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Software
 
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Software
 
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Software
 
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Software
 
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Software
 
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Software
 
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Software
 
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Software
 

Mehr von Alfresco Software (20)

Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossier
 
Alfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management application
 
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
 
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
 
Alfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of Alfresco
 
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
 
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
 
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
 
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest API
 
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
 
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
 
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
 
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
 
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
 
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
 
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
 
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
 
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
 
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
 

Alfresco Day Roma 2015: Big Repository

  • 1. Big Repository Implementation Le sfide, le criticità e soprattutto i vantaggi/benefici
  • 2. Francesco Fornasari Alfresco Engineer - Alfresco Administrator
  • 4. Caso d’uso •  Content Repository a supporto delle applicazioni di business •  Documenti gestiti di tipo fattura, protocollo e altri documenti aziendali •  Integrazione con sistemi terzi •  Ricerche sui contenuti •  Volumi documentali significativi •  Migrazione da ECM legacy BigRepository
  • 5. Volumi documentali •  Target: +500 milioni di documenti presenti nel sistema legacy •  Crescita: 120 milioni di documenti/anno •  Documenti migrati in Alfresco: 10 milioni •  L’architettura deve essere dimensionata di conseguenza a tutti i livelli per affrontare al meglio il carico e la crescita del repository BigRepository
  • 6. Integrazione sistemi terzi Applicazioni esistenti in essere dal cliente che necessitano dei servizi documentali •  SAP •  EMC2 Centera o Atmos •  Hitachi HCP Content Platform •  Applicazioni custom BigRepository
  • 7. Migrazione da ECM legacy •  Analisi congiunta con il cliente finale dello scenario dell’ECM da dismettere •  Verifica e stima del numero dei documenti da migrare •  Preparazione di un modello dati specifico per Alfresco •  Preparazione e modellazione del repository •  Integrazione con altre applicazioni •  Dimensionamento dell’architettura finale •  Creazione/utilizzo di un tool guidato di migrazione •  Analisi dei log e del comportamento del sistema durante la migrazione •  Verifica analitica dei contenuti migrati •  Avvio in Produzione BigRepository
  • 8. Ricerche •  Possono rappresentare uno dei problemi più impegnativi da risolvere •  Il cliente deve capire le capacità/limiti del sistema di indicizzazione basato su SOLR 1.4 •  Va stabilita la soglia di soddisfazione nel tempo di retrieval •  Va stabilito cosa ha senso indicizzare sia per i metadati che per i contenuti BigRepository
  • 10. Criticità •  Non sempre i contenuti nell’ECM da dismettere sono validi •  Il cliente non ha inizialmente sufficiente know-how per dare indicazioni su quali tipologie di formati e metadati migrare •  Potrebbe essere necessario ristrutturare il modello dati iniziale •  Il cliente deve avere chiara percezione di eventuali utilizzi massivi delle modalità di ricerca full-text •  L’integrazione con altre applicazioni o sistemi deve essere valutata attentamente •  Raccogliere sufficienti informazioni per dimensionare e strutturare query di ricerca può essere veramente difficile •  I tempi di risposta si devono mantenere nei limiti di accettazione per il cliente finale BigRepository
  • 12. Architettura e configurazione minimale •  Alfresco Repository: 2 nodi in cluster •  Index Server SOLR: 2 nodi + 2 Alfresco Repository read-only mode •  Alfresco Repository Injection: 1 nodo •  DBMS ad alte prestazioni (i.e: Oracle Exadata) che supporta tecniche di partizionamento dei dati BigRepository Web  Services   •  Ottimizzazione parametri JVM Alfresco e SOLR •  Disabilitare servizi non necessari •  Disabilitare estrazione automatica metadati non necessari (i.e: Exif, RFC822)
  • 13. Strutturare il processo di migrazione •  Il processo di migrazione deve avvalersi di tool o strumenti adatti a mappare dinamicamente dalla sorgente alla destinazione contenuti e metadati associati •  Creare lotti a batch temporali •  Esecuzione parallela dei batch definiti per minimizzare i tempi di migrazione •  Definire logiche di controllo durante le fasi di migrazione al fine di generare reportistica oppure fermare il processo di migrazione •  Soluzione TAI: Enterprise Content Mapper –  http://www.tai.it/progetti/migrazione-documentale/ BigRepository
  • 14. Strutturare l’integrazione applicativa e di sistema •  Creare se possibile uno strato di servizi unificato per l’accesso ai servizi documentali (astrazione) –  Soluzione TAI: •  Layer servizi in standard SOAP + MTOM + WS-Security •  Implementazione specifica per un uso ottimale di Alfresco •  Non è necessario conoscere nativamente Alfresco •  Guidare gli sviluppatori all’utilizzo ottimale dei servizi documentali CMIS o Alfresco REST •  Utilizzare connettori specifici e certificati Alfresco per sistemi come EMC2 Centera e SAP (Connexas-connector) BigRepository
  • 15. Punti di attenzione 1/3 •  Modellare solo i metadati minimali e necessari •  Modellare tipi significativi •  Strutturare il repository in modo da non avere troppi figli diretti di uno stesso nodo cm:folder •  Attenti a non esagerare con le ACL e preferire un approccio di configurazione sui Gruppi •  Categorizzare se possibile i nodi documentali attraverso l’aspect cm:classifiable BigRepository
  • 16. Punti di attenzione 2/3 •  Indicizzare solo i metadati che verranno effettivamente utilizzati nelle ricerche •  Guidare le ricerche applicative in modo che utilizzino il più possibile il Metadata Search Engine (utilizzare linguaggi come AFTS o CMIS ed evitare l’utilizzo dell’operatore OR, PATH, NOT e @) •  Utilizzare in corso d’opera l’aspect cm:indexControl •  Abilitare il full-text per un sotto-insieme di tipi documentali •  Ricerche con result-set elevati possono portare il processo java dell’istanza Alfresco Repository in out-of-memory •  Avere gli indici su dischi locali e comunque performanti •  Avere circa la metà di spazio disco degli indici sempre libero BigRepository
  • 17. Punti di attenzione 3/3 •  Evitare query troppo generiche e restringere il più possibile i campi di ricerca su metadati significativi •  Interrogare direttamente il DB nel caso in cui: –  Il result-set abbia una cardinalità troppo elevata (>~20.000 elementi) –  Sia necessario conoscere il numero di elementi di un certo tipo o eseguire aggregazioni particolari BigRepository SELECT names.local_name as node_type, count(*) as occurrencies FROM alf_node nodes, alf_qname names WHERE nodes.type_qname_id=names.id AND ( names.local_name='PRAI_AP01' OR names.local_name='PRAI_COIMA' OR …. ) GROUP BY nodes.type_qname_id, names.local_name ORDER BY occurrencies desc;
  • 18. Punti di attenzione DBMS 1/2 •  Nel disegno e dimensionamento architetturale confrontarsi con un DBA •  Monitorare le tabelle più critiche dello schema dati alfresco e nel caso attivare tecniche di partizionamento: –  ALF_NODE: riferimenti ai nodi del repository –  ALF_NODE_PROPERTIES: proprietà definite nei modelli dati per ogni tipo o aspetto –  ALF_CONTENT_URL: contiene il riferimenti fisico al contenuto –  ALF_CHILD_ASSOC: relazioni padre-figlio tra nodi del repository •  Fattori di crescita indicativi ~ (per ogni nuovo inserimento di cm:content o cm:folder): –  ALF_NODE: +3 –  ALF_NODE_PROPERTIES: +4 –  ALF_NODE_PROPERTIES (versioning attivo): +25 –  ALF_CONTENT_URL: +1 BigRepository
  • 19. Punti di attenzione DBMS 2/2 •  ALF_NODE_PROPERTIES crescerà a seconda della complessità del modello dati •  I.E: ~10M documenti potrebbero produrre ~200M di righe su ALF_NODE_PROPERTIES •  Tecniche di partizionamento basate su HASH sui campi univoci identificativi •  Evitare quindi in fase di analisi del modello: –  Modellare metadati di cui non si è SICURI dell’effettivo utilizzo –  Abilitare estrattori su meta-type conosciuti non necessari –  Riportare stessi metadati su tipi differenti, utilizzare in questi casi gli aspect BigRepository
  • 21. Vantaggi/Benefici •  Riduzione dei costi a lungo termine •  Scalabilità del sistema •  Performance •  Strutturazione evolutiva dei servizi documentali •  Organizzazione delle informazioni (i dati parlano di sé stessi) BigRepository
  • 22. TAI Enterprise Content Mapper DEMO http://www.tai.it/soluzioni-software/enterprise-content-mapper/