10 Ragioni per usare Alfresco invece che un Database


Published on

Che cosa distingue un sistema ECM da un database relazionale? Ci sono almeno 10 buone ragioni per cui è meglio utilizzare Alfresco al posto di un database relazionale per gestire e ricercare tutti i contenuti aziendali strutturati, come documenti Office, file di testo, HTML, XML, PDF, immagini, video, ecc.

Published in: Technology
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • While modern database products can store many types of information, an RDBMS construct is fundamentally designed to process text and numbers - not images and documents.  To the DB, these are treated as opaque items housed in a catch-all column type known as a BLOB (Binary Large OBject).Storing documents in this way only adds another layer of processing - exactly what is NOT needed when serving up files that by definition are in the multi-megabyte to gigabyte size range.Alfresco's content model stores assets in their native format, directly on the filesystem - for maximum file I/O.
  • Every CMS has its own way of representing a content model - allowing you to configure the fields, or metadata, that define each type of asset.  For example, a Contract document type might need to indicate:  customer id  effective date  total amount  product(s)To achieve this with a database, you need to predefine your fields (columns).  This is fine initially, but over time, requiring new fields can prove tricky.  The other extreme is to pre-allocate placeholder columns - which leads to a "sparse matrix" design that is suboptimal.Alfresco allows you to naturally evolve your content model over time using metadata groups, called Aspects.  You can easily define and layer these on at any time and with varying levels of granularity - to individual assets, complete asset types, or systemwide depending on your needs.
  • Another area where granularity matters is security.  Databases are great for defining access down to a table (type) level.  However, individual row (document) security would need to be custom coded.  A true CM environment needs to accommodate both.Alfresco's UI gives you direct control over document and folder security settings - and these can be inherited where needed to minimize administration.
  • 4. Collaborate on how content is authored (vs just storing them)A database is a storage engine.  Period.  It knows nothing about collaborative elements:  dealing with teams to generate interim versions of a draft that shared and reviewed.Alfresco is a full content application server.  It stores assets and makes all CM features available against them - including collaboration functions.
  • 5.  Search - across full text and metadata to facilitate reuse (vs metadata only)All databases can index and search basic text fields (metadata); some can also index the contents of documents such as Word, PDF, etc.  However, your milage may vary...Alfresco includes full text indexing and search features on all common mimetypes.  And if you happen to use one that we don't accommodate out-of-the-box, our framework is completely extensible so that you can wire in new ones now, or in the future
  • 6.  Rules - configure asset processing based on common events (vs custom coding)A database can provide some automation via "stored procedures", but this requires coding expertise to enable.Alfresco's UI allows you to configure common tasks based on conditions (called Rules), and apply these much like security (e.g. can be inherited / re-used to ease administration).  Rules are a powerful way to ensure assets are processed in a consistent fashion, regardless of how they arrive in the repository.
  • 7.  Workflow - control and audit how changes are finalized (vs custom coding)Databases have no native concept of workflow.  Anything here would be custom code as well.Alfresco includes a complete workflow engine that can control revisions and approvals of assets - all of which are monitored / audited.
  • 8.  Notification - proactive alerts to inform users of recent changes (vs custom coding)Databases have no native concept of notifications.  Anything here would be custom code as well.Alfresco Share can provide a unified "news feed" of activity for your review, customized based on your access level and preferences (think Facebook news feed).
  • 9.  Access the repository from numerous "on ramps" such as CIFS, IMAP, WebDAV, FTP, SPP (vs custom coding)Manipulating content stored in a DB is typically done thru SQL and / or a custom application.Alfresco allows content contributors to use their native authoring tools directly by providing support for filesystem (CIFS), email (IMAP), WebDAV, FTP, and SharePoint protocols (SPP).
  • 10. CMIS - Leverage SQL geared for DM (vs plain SQL that you have to contort)Plain SQL is great for normal database access, but falls short when dealing with more complex asset types (as noted in point #1 on storage).CMIS (Content Management Interoperability Services) includes a query language, based on SQL-92, but with extensions for CM specific functions.  Do more OOTB with the right tool, versus having to morph a different standard to do "unnatural things".
  • 10 Ragioni per usare Alfresco invece che un Database

    1. 1. 10 Ragioni per usare Alfresco invece che un Database<br />
    2. 2. Contenuti salvati su file system, per prestazioni ottimali (al posto dei BLOB)<br /><ul><li>Un RDBMS è progettato per processare testo non formattato e numeri, non immagini e documenti.
    3. 3. Conservare I documenti su un database aggiunge strati di complessità.</li></ul>Il content model di Alfresco salva le informazioni nel loro formato nativo, direttamente nel file system, per prestazioni ottimali di I/O dei file<br />
    4. 4. 2.  ”Aspect” – evolvere il modello documentale dinamicamente<br /> Ogni ECM ha il suo modo di rappresentare un modello documentale – consentendovi di configurare i metadati che definiscono e descrivono I vostri documenti <br /><ul><li>Numero fattura
    5. 5. Data di validità
    6. 6. Quantità totale
    7. 7. Prodotti</li></ul> <br />Gli “Aspect” vi consentono di far evolvere il vostro modello documentale nel tempo, naturalmente<br />
    8. 8. 3.  Applicare una configurazione di sicurezza granulare, a livello di singolo documento (invece che a livello di tabella o tramite applicazione ad hoc)<br />La UI di Alfresco vi fornisce controllo diretto sulla configurazione di sicurezza di cartelle e documenti.<br /> <br />
    9. 9. 4. Collaborare alla creazione e versionamento dei contenuti (invece che banale conservazione)<br /><ul><li> Un database è uno “storageengine” e non si preoccupa di cosa è conservato.</li></ul>Alfresco è un “Content Application Server” completo. Non solo conserva le informazioni come un database, ma fornisce tutte le funzioni di collaborazione adatte alla elaborazione collettiva di singoli o gruppi di documenti<br /> <br />
    10. 10. 5.  Ricerca – sia sui metadati che su tutto il testo (invece che solo sui metadati)<br /><ul><li> Tutti i database possono ricercare solo singoli campi, che devono essere definiti uno ad uno. Molti database consentono di configurare la ricerca “full text” ma non è automatico.</li></ul>Alfresco include automaticamente l’indicizzazione sia del testo completo che dei metadati (proprietà) di qualsiasi tipo di documento, senza dover configurare nulla a mano: inserisci il documento e subito dopo è ricercabile.<br /> <br />
    11. 11. 6.  Regole (Rules) – configurare il trattamento dei contenuti in base a eventi e regole logiche (invece che scrivere codice a mano)<br /><ul><li> Un database può fornire un po’ di automazione tramite “trigger” e “stored procedure” ma vi serve un programmatore per farlo.</li></ul>L’interfaccia utente di Alfresco vi consente di creare attività e regole in base a delle semplici condizioni logiche tramite processi guidati che non richiedono speciali capacità tecniche. <br /> <br />
    12. 12. 7.  Workflow – controllo e “audit” dei processi di business e relative sequenze di operazioni sui documenti (invece che scrivere codice)<br /><ul><li> I database non hanno nativamente il concetto di workflow</li></ul>Alfresco include un completo motore di workflow che controlla la revisione e approvazione dei contenuti.<br /> <br />
    13. 13. 8. Notifiche eventi – allarmi proattivi per informare gli utenti di cambiamenti recenti legati ai documenti (senza scrivere codice a mano)<br /><ul><li> Di nuovo, i database non hanno il concetto di notifica eventi di alto livello, solo allarmi di tipo tecnico.</li></ul>Alfresco Share fornisce una serie di informazioni selezionabili, generate da eventi legati alle attività degli utenti sui documenti.<br /> <br />
    14. 14. 9. Accedere al “repository” tramite numerose interfacce, come CIFS, IMAP, WebDAV, FTP, SPP (invece che scrivere codice a mano)<br /><ul><li> La manipolazione di informazioni in un database è tipicamente effettuata via SQL o tramite una applicazione custom.</li></ul>Alfresco consente agli autori di usare i loro strumenti normali, fornendo accesso diretto a file system(CIFS), email (IMAP), WebDAV, FTP, e protocollo SharePoint (SPP).<br /> <br />
    15. 15. 10. CMIS – sfruttare SQL dedicato a sistemi documentali (invece che pasticciare con normale SQL per tabelle e record)<br /><ul><li> SQL è ottimo per accedere a informazioni strutturare in tabelle, ma pessimo quando deve accedere a informazioni non strutturate (come documenti o immagini)</li></ul>CMIS (Content Management Interoperability Services) include un linguaggio simile a SQL-92, ma con estensioni specifiche per l’elaborazione e ricerca di documenti complessi.<br /> <br />
    16. 16.  <br />Domande? <br />
    17. 17.  <br />Grazie!<br />Maurizio.Turatti@Alfresco.com<br />http://www.alfresco.com/it/<br />Alfresco QuickTake series<br />