2009 - Proprietary and Confidential Information of Xenit Solutions Never forget the non-functional requirements Usable, Reliable, Scalable, Compliant Ronny Timmermans December 14, 2010 1
Transcript
1. Usable, Reliable, Scalable, CompliantNever forget the
non-functionalrequirementsRonny TimmermansDecember 14, 2010 12009 -
Proprietary and Confidential Information of Xenit Solutions
2. Agenda Usability Reliability architecture Scalability &
performance Users Content Regions ComplianceDecember 17, 2010 2
2010 - Proprietary and Confidential Information of Xenit
Solutions
3. Usability Alfresco offers many interfaces for different
purposes Email:imap Browser:HTTP omnipresent Desktop : webdav,
cifs, sharepoint protocol, ... Technical:jmx, ftp Share interface:
more productive & intuitive Hide details until user explores
them Preview of the document Adapt to your own document model,
aspects, ... Simple search Simplicity of CIFS is appealing.
But?December 17, 2010 3 2010 - Proprietary and Confidential
Information of Xenit Solutions
4. Usability: Make it simple, please... flintstones openingYour
Average User.Here, is Fred, backFrom .NETrockDecember 17, 2010
42010 - Proprietary and Confidential Information of Xenit
Solutions
5. Usability: Fred, Alfresco desktop What happened to? Drag
& drop Adaptive, context sensitive, interfaces Undo operation
Off-line work Concurrent operations (search, browse, preview)?
Simplicity of CIFS? Richness of Explorer? Ease of Share?=> Fred:
Responsiviness Performance Ergonomy Intuitif usage No crusade
against the web, but a mission for the end-user. Our desktop is
HTTP based. Usable from anywhere Where possible, we process in the
back-end portableFred makes your desktop rock.December 17, 2010
52010 - Proprietary and Confidential Information of Xenit
Solutions
6. Reliability Architecture is key Failing subsystemsshould not
blockthe core Lucene is important Central role for all queries and
transactions Sensitive to : Different languages indexing Physical
layoutDecember 17, 201062010 - Proprietary and Confidential
Information of Xenit Solutions
7. Reliability: Alfresco architecture is keyDM WCMRM DAM Share
Web SitePortalAlfresco explorerSpring SurfJSF platformOS File
systemOffice MobileRich Desktop application Content Services
Control ServicesCollaboration ServicesContent Repository File
SystemRDBMS2010 - Proprietary and Confidential Information of Xenit
Solutions
8. Reliability: architecture brings qualities Office Suite
Environment agnostic Multi tenantAuthentication Users/groups
BrowserStnadards BasedClustering Application serverBackup/ Restore
Admin DatabaseHeartBeat AuditingOperating system Records
management2010 - Proprietary and Confidential Information of Xenit
Solutions
9. Reliability & High AvailabilityDuplicate (state)! Level
2 cache Indexes Database Content storeDecember 17, 201092010 -
Proprietary and Confidential Information of Xenit Solutions
10. Reliability: Cluster configuration Clustering Application
Availability Web application/ Web application/ But also Servlet
ContainerServlet ContainerscalabilityAlfresco ContentAlfresco
Contentapplication serverapplication server Back-up
ApplicationBack-up Application (Read Only)server Web application/
Web application/ Availability Servlet ContainerServlet Container
Simplicity MASTER:SLAVE Alfresco Content Replication Alfresco
Content Hot & coldapplication server application serverDecember
17, 2010 10 2010 - Proprietary and Confidential Information of
Xenit Solutions
11. Scalability & performanceDecember 17, 2010112010 -
Proprietary and Confidential Information of Xenit Solutions
12. Alfresco Scalability dimensions In number of users =>
performance & CPU In number of documents (content) =>
infrastructure Database is crucial Lucene on fast disks (see also
roadmap) Multi-content store (castor) Vivium case: about 10
milliondocuments, about 100 million records Geographically Alf2Cas
& castor can helpDecember 17, 2010122010 - Proprietary and
Confidential Information of Xenit Solutions
13. Scalability: Alfresco = ECM system An ECM is a relatively
static system. It can be cached. Caches can be everywhere. Alfresco
is the tip of a system iceberg. Know, Master & Optimize the
iceberg! OS (64 bit) database JVM Activate what you need: ->
Alfresco subsystems What does Alfresco do for us? Hibernate Removal
by iBatis since 2008 More performant database integration.
Completed in 3.4 XeniT customer area will allow access to our
Alfrescoknowledge base with real world casesDecember 17, 2010132010
- Proprietary and Confidential Information of Xenit Solutions
14. Scalability & Clustering Horizontal and vertical
scaling is possible: large-scale-enterprise-deploymentsDecember 17,
2010 14 2010 - Proprietary and Confidential Information of Xenit
Solutions
15. Performance : case Brutex : 106 emails Customer Brutex:
Koen Verwimp from Precisions Operations GO LOW LEVEL strategy
Search on Lucene index Returns noderefs Metadata are retrieved
directly from database (MySQL) Also works my MySQL slave
replication (e.g. When you consult these data remotely: 100ms to
retrieve meta data from local DB Avoid permission checks using
folder based permission. By user profile, retrieve only documents
from authorised folders Probably only high performance with low
number of folders Note: Nr of documents: about 1 million. Average
seek time : 500ms. Sorting on time (milliseconds) is the most time
consuming steps, on time. Average seektime: few seconds. Satisfying
performance on alfresco 3.1.x with 1 miljoen documentsDecember 17,
2010 15 2010 - Proprietary and Confidential Information of Xenit
Solutions
16. Performance : case Vera :webscripts What always applies:
Measure before optimisation Rewrite the scripts in function of
efficiency Caching (webscripts are HTTP cache enabled)! Memory
versus CPU trade-off Explicit storage of document characteristics
Denormalisation of properties Store parent properties in child for
easy retrieval Webscript library optimization Resolve imports at
package time instead of at runtime Alfresco specifics: Xpath->
Lucene Query Lucene: Filter using query clauses instead of
filtering in script Java backed implementation Upgrade Alfresco
regularly (ACL checking is faster!) Application level: Rethink your
logic partition large result listsDecember 17, 2010 16 2010 -
Proprietary and Confidential Information of Xenit Solutions
17. Performance: CMIS versus Web services Loading documents:
context :1000 folderscontaining 1 file. WS implementation : WRITE
3,5 docs/second Via CMIS (nov 2010) : WRITE only 1,5 docs/second
Sames test : larger files: (2MB), difference smaller, but old
interface remains faster. Deletion of files: same speed. Jonas
Heylen: Voorlopig zou ik dus bij Vivium nog niet overschakelennaar
CMIS. Zowel wegens de lagere performance als de beperkingen van
deCMIS standaard (inheritance, aspecten, auditable properties)
http://xenitsupport.jira.com/wiki/download/attachments/2293927/Move2alf+benchmarks.pdfDecember
17, 2010 17 2010 - Proprietary and Confidential Information of
Xenit Solutions
18. Compliance & Records Management Keep record of what
yourenterprise does Alfresco RM based upon DOD5015 standard CAStor
& Dell : compliance atstorage level XeniT developed the
CASinterface ALF2CAS EU: Moreq2 (Moreq2010):MODEL REQUIREMENTS FOR
THEMANAGEMENT OF ELECTRONIC RECORDSDecember 17, 2010182010 -
Proprietary and Confidential Information of Xenit Solutions
19. Compliance: Record versus documentAn EDMSAn ERMSallows
documents to be modified;prevents records from being
modified;allows documents to exist in severalallows a single final
version of a recordversions; to exist;may allow documents to be
deleted byprevents records from being deletedtheir owners; except
in certain strictly controlledcircumstances;may include some
retention controls;must include rigorous retentionis intended
primarily to support day-to- may support day-to-day working, but
isday use of documents for ongoing primarily intendedbusiness.to
provide a secure repository for business records.December 17, 2010
19 2010 - Proprietary and Confidential Information of Xenit
Solutions
20. Compliance: Records A record is made from oneor more
electronic documents.Records can be viewed asconsisting of:
content; structure; context; presentation. Vital records absolutely
essential to the organizations ability to carry out its business
The documents become records when they are set aside, that
is,captured into the ERMS. Upon capture, the records are
classified, PDF/A : A subset of PDF designed for archival use, as
defined in theISO 19005 series of standards. Much more useful on
expertisecentrumdavidDecember 17, 2010 20 2010 - Proprietary and
Confidential Information of Xenit Solutions
21. Alf2CAS: multi-store for multi purposeDMWCMRM DAM Content
RepositoryRecords store (large volume) Life ECM system Records
management Policy File System RDBMS File SystemRDBMS 2010 -
Proprietary and Confidential Information of Xenit Solutions
22. Non functional roadmap Repository enhancements:
Externalized indexingbased on Solr for improved indexing
scalability andreliability Alfresco 3.4 : faster ACL checks
Enhancements for 2010: Enhanced scalability to handle extremely
large repositoriesboth in terms of documents and users. Project
Swift (Q2 2011): Focus: Repository reliability and scalability,
easyapplication development, ease of use.December 17, 2010 23 2010
- Proprietary and Confidential Information of Xenit Solutions
23. XeniT Thank youDecember 17, 2010242010 - Proprietary and
Confidential Information of Xenit Solutions