Jean Barmash
Director, Technical Services, Alfresco
December 4th, 2008
Alfresco 3.0 as SharePoint Alternative
for Architects
About The PresenterAbout The Presenter
● Director, Technical Services● Blog – http://blogs.alfresco.com/jbarmash
● Alfresco Consulting● Small Team With Offering Complementary to SIs● http://www.alfresco.com/services/consulting/
● Prior to Alfresco● SharePoint 2003 and 2007 Integration Consulting & Training● Varous technical and architecture roles, both Java and .NET
AgendaAgenda
● New Alfresco Enterprise 3.0 Alfresco Share
Microsoft SharePoint Protocol Support
CMIS
Surf
Repository Enhancements
Demo
● Alfresco Architecture
Content-As-A-Service Platform
Services
Social Computing Services3
Market MomentumMarket Momentum● Over one million downloads
70,000 Community members
30,000+ Active installations
75 countries, 20 languages
● 700+ enterprise customers in 3 years
Major banks, governments, media and professional services
● Grew customer bookings by 320% in FY 2007
● Industry recognition
Gartner Cool Technology, Forrester Wave Leader
World Economic Forum Technology Pioneer
Awards from ComputerWorld, Network World, eWeek, eContent 100, Red Herring
Alfresco Products Alfresco Products
6
Full-text Indexes& Categories Storage
MetadataDBMS
App ServerWeb Applications
Virtual File System
WebDAV
CIFS
FTPContent
Repository
Business Process
Engine
CRM
Web Services
Portal Server
Knowledge Portals
Alfresco Share
Hot Standby
Alfresco 3.0E Alfresco 3.0E
● Alfresco Share
New Collaborative Social Computing Dynamic Web 2.0 Application
● First CMIS Support
New Content Management Standard supported by Alfresco, EMC, IBM, Microsoft, SAP, OpenText, Oracle
● Alfresco Surf WCM platform
Build dynamic, REST/CMIS-oriented Webapps and Collaborative Web Sites
● Scalability
Multi-tier Lightweight CMIS/REST Architecture
● First Microsoft Office SharePoint protocol support (post 3.0E)
No Additional Client Installation
● Multi-Tenancy Support
8
Alfresco SharePoint ProtocolAlfresco SharePoint Protocol
9
Office thinks it’s SharePointOffice thinks
it’s SharePoint
Check-InOutCheck-InOut
Version ControlVersion Control
Alfresco ShareAlfresco Share
● Sites
● Dashboards
Site, Personal
● Site Components Document Library
Blog, Wiki
Search
People
Activities
Calendar, Discussions
10
ActivitiesActivities
PeoplePeople
Document LibraryDocument Library
● Bulk Upload
● Thumbnails
● Flash Document Viewer
● Meta-Data, Tags
● Multi-Select
● RSS
11
ThumbnailsThumbnails
Web 2.0 ControlsWeb 2.0 Controls
BulkUploadBulk
Upload
Flash Document ViewerExtendable DAM
Flash Document ViewerExtendable DAM
● Automatic Generation of Flash Renditions including:
Word, PowerPoint, Excel
OpenOffice
● Pluggable Rendition Engine
Flash Video/Audio
● Reduced Bandwidth
● High Performance Viewing
● Remove Client Application Dependencies
Office 2003, Office 2007
12
Simple Administration and ConfigurationSimple Administration and Configuration
● Simple Administration
Quick Install
Delegated Site Admin
● Simple Configuration
Drag Drop Layout
● Open Gadget Framework
Open Web Script Components
AJAX YUI
Friendly urls
13
DemonstrationDemonstration
● Marketing Launch
● Dashboard
● Marketing Site
● Product Marketing
Wiki Product Information
● Marketing Communications
Presentations and Documents
Discuss
● Invite Team
● Review Material
● Schedule Calendar Event
● Blog
14
CMISFirst Draft CMIS Implementation
CMISFirst Draft CMIS Implementation
● SQL for the Content Management Industry
● Content Management Interoperability Services
● Alfresco, EMC, IBM, Microsoft, OpenText, Oracle and SAP
● Usage
Write-Once, Run Anywhere Application
Integrate Multiple Repositories
Business Process Across Repositories
Learn One UI for ALL Repositories
15
http://wiki.alfresco.com/wiki/CMIS
REST APIREST API
● Site
● Person
● Invite
● Activities
● Rendition
● Thumbnail
● Tagging
● Preferences
● Discussion
● Blogging
● Comment
16
Alfresco SurfWeb Application Presentation Framework
Alfresco SurfWeb Application Presentation Framework
● Page Model
● UI Content Component Model
YUI, Adobe Flash – Dynamic Upload, Preview
● Lightweight Web Scripting and Templating
● Open
Portal - Web Part in Microsoft SharePoint Portal
Wiki, Blog
XML, Freemarker, JSP, HTML, Java
Alfresco Surf ApplicationsAlfresco Surf Applications
● Alfresco Share
● Alfresco Enterprise Network
● Alfresco Web Studio
18
Alfresco RepositoryAlfresco Repository
Alfresco SurfAlfresco Surf
Alfresco ShareAlfresco Share
New Products and ProtocolsNew Products and Protocols
19
Sites People YUICollaboration Components
Components Pages Templates
MS Office SharePoint ProtocolCMIS
REST & Web Services API
CIFS, WebDAV, FTP & NFS
Java
JavaServer JavaServer Faces (JSF)Faces (JSF)
19
Alfresco Alfresco Document Document
ManagementManagementviavia
Microsoft OfficeMicrosoft Office
AlfrescoAlfrescoWeb Content Web Content ManagementManagement
Alfresco SurfAlfresco Surf
Alfresco RepositoryAlfresco Repository
Surf-based AppsSurf-based Apps
Surf ScalabilityMulti-Tier Web 2.0
Architecture
Surf ScalabilityMulti-Tier Web 2.0
Architecture
20
Non-Alfresco Non-Alfresco RepositoryRepository
AlfrescoWeb Studio
Alfresco NetworkAlfresco Share Ajax Flex
REST API
Web ScriptsWeb Scripts
● Presentation Web Scripts
● Web Scripts on the Presentation Tier
● Responsible for generating markup (HTML)
● Isolated from Alfresco Repository
● Model context purely derived from framework (no “document”)
● Can call over to Alfresco using “remote” variable
● Data Web Scripts
● Web Scripts on the Repository Tier
● Responsible for generating JSON, XML (ATOM) or other serialized data format
● Wired into the Alfresco Repository
● Context includes Alfresco Repository elements (“document”)
17/07/08
3.0 Repository Enhancements3.0 Repository Enhancements
• Performance & Scalability– Version Store Refactor
• Significant reduction in storage• 2x faster to create, 10x faster
to version
– Audit Properties Refactor• Reduced DB storage
requirements Multi-valued Properties Refactor
• Unlimited group sizes
– Permission evaluation performance– Remote OpenOffice Transformation
Service
• Integrity– Remove Lucene Dependency for
Person Service• Clustering resilience
• Multi-Tenancy for DM
• Updated Installers– Windows
– Linux
Two Tier ArchitectureTwo Tier Architecture
Presentation Tier
Repository Tier
Spring
Connectors
REST
Web Scripts
FreeMarker
Dis
pa
tch
er
Surf
Model Objects
PagesTemplates
ComponentsThemes
Associations
JSON
Web Scripts
RepositoryCMISSocial
UI
JSON
Content Graph
DocumentsFoldersAssociationsAspects
Repository – Collection of Services
Repository – Collection of Services
Repository Tier
REST
JSON
Web Scripts
RepositoryCMISSocial
UI
JSON
Content Graph
DocumentsFoldersAssociationsAspects
Node ServiceContent ServiceSearch ServicePermissions ServiceAuthentication Service
Auditing ServiceVersion ServiceRule ServiceAction ServiceWorkflow Service
Advantages of ServicesAdvantages of Services
● Modularity
● Abstraction that allows to easily change implementation Example – Content Service storing content to Amazon S3
Example – ScriptService using Groovy instead of JavaScript
● Customers can and do customize Alfresco in (sometimes) unexpected ways i.e. Integrate their own Search Engines
25
Alfresco ArchitectureAlfresco Architecture
● Platform-Independence Have customers with clients in .NET, PHP, Rails, Java
● Flexibility A toolbox of low-level and higher level services to choose
from
● Multiple APIs exposing the Services Java, Dynamic Scripting (JavaScript), HTTP APIs
With 2.X, gave ability to expose through Web Scripts
With 3.0, built explicit HTTP APIs for Services
26
A Truly Open PlatformA Truly Open Platform
27
Embeddable RepositoryEmbeddable Repository
● Can embed into your Java Application Low footprint
● Use Content-As A Service
● Easy integration
● Clusterable for HA
● Multi-Tenancy
● Over 30 Companies OEM’ed Alfresco, including Adobe, Quark, IBM, Iron Mountain, others.
28
Models of DeploymentModels of Deployment
29
Flexibility of Platform for Web 2.0
Flexibility of Platform for Web 2.0
● Facebook Integration ConnectedWeddings.com, funded by fbFund
● Blogging Integration
● Google Gadgets
● Mashups
● External Blog & Wiki Integration
● Email Capture
30
Social Computing ServicesSocial Computing Services
● A new set of Alfresco Core Services designed for Social Computing Scenario Tagging
Activities
Thumbnail
Site
Multi-Tenancy Service
31
Service API PatternsService API Patterns
● For Each Service Java Core Repository Service
Exposed through JavaScript API
• Internal Dynamic Scripting
• Available for Web Scripting
Exposed through HTTP / REST APIs
32
Tagging ServiceTagging Service
● Allows to add folksonomy tags to content
● Add-on to predefined metadata
● Allows Searching
● TagScopes – allow contextual lookup of tags i.e. frequent tags within a site
33
Thumbnail ServiceThumbnail Service
● Register image profiles i.e. thumbnail (width 100, length 100)
icon, medium size, full size
● Action that generates / updates the thumbnails
● This is how thumbnailing works in Share
34
Activities ServiceActivities Service
● Get notifications about what other people are doing that may be relevant to you.
● Post Activities
● Activities are Templatable Multiple formats – RSS, Atom, etc
● Feed Controls to filter out relevant information
● Get User’s or Site’s Feed Entries
35
REST APIREST API
● Site
● Person
● Invite
● Activities
● Rendition
● Thumbnail
● Tagging
● Preferences
● Discussion
● Blogging
● Comment
36
Has Some Higher Level Services
Recorded WebinarsRecorded Webinars
● 3.0 - Introducing Alfresco 3.0
http://www.alfresco.com/about/events/2008/09/introducing3_0/index.jsp
● 3.0 - Introducing Alfresco Surf
http://www.alfresco.com/about/events/2008/10/surfwebinar/index.jsp
● 3.0 - Introducing CMIS http://www.alfresco.com/about/events/2008/09/cmis_webinar_25sep08/index.jsp
● High Availability Clustering
http://webinars.alfresco.com/forms/highavailRecording
● Many More At:
http://www.alfresco.com/about/events/ondemand/
37
Alfresco’s Road MapAlfresco’s Road Map
● Continue to Invest in Document Management, WCM and Repository
● Continue to Invest in Records Management
● Enterprise Social Computing
● Rich Internet Applications Interfaces
● Enterprise Performance and Scalability
● New APIs and Interfaces
Alfresco Next StepsAlfresco Next Steps
● www.alfresco.com
● Download 3.0E
● Alfresco Enterprise
● Enterprise Trial
● Join Content Community
39
Questions