Book Image

Alfresco 3 Enterprise Content Management Implementation

Book Image

Alfresco 3 Enterprise Content Management Implementation

Overview of this book

Alfresco 3.0 has generated a lot of curiosity with its new content management features. Users have been waiting for a book that covers these concepts along with the security, dashboards, and configuration features of Alfresco 3. Alfresco 3 includes Alfresco Surf, a new N-Tier Architecture, which delivers scalability and accommodates more users on existing hardware resources. This new release also includes a draft implementation of the CMIS specification, and Microsoft Office SharePoint Protocol support. The new multi-tenancy features enable Alfresco ECM to be configured as a single-instance multi-tenant environment. This well-crafted and easy-to-use book is a complete guide to implementing enterprise content management in your business using Alfresco 3. It covers the enhanced document management, a new web-based collaborative application called Alfresco Share, and various integration options with external applications. Alfresco 3 offers true Enterprise Content Management (ECM) by providing an open source alternative to Microsoft SharePoint, Documentum, and Interwoven. It is the most popular Java-based CMS with over 1.5 million downloads, 50,000 live sites, 74,000 community members, and with more than 150 application extensions in forge. This book guides you through creating smart, collaborative content repositories and shows how to use Alfresco 3 to create more elegant document sharing, better collaborative working, and reliable automated workflow processes. The book also explains how administrators can set up Alfresco 3 for multiple business units as a single-instance multi-tenant environment. Business users can leverage Alfresco Share, a new built-in web-based collaborative content management application bundled with Alfresco repository. It simplifies capturing, sharing, and retrieval of information across virtual teams. This book shows you how to unleash the power of Alfresco 3 to create collaborative working systems in your enterprise
Table of Contents (22 chapters)
Alfresco 3 Enterprise Content Management Implementation
Credits
About the Author
About the Co-Authors
Acknowledgements
About the Reviewers
Preface
Index

An overview of Alfresco


Alfresco was founded in 2005 by John Newton, co-founder of Documentum, and John Powell, former COO of Business Objects. Its investors include the leading investment firms Accel Partners and Mayfield Fund. A combination of the proven track record of its leaders, the features of the technology, the open source business model, and good venture capital backing of the team makes Alfresco unique.

Leveraging the benefits of open source

Enterprise customers can reduce costs, minimize business risks, and gain a competitive advantage by adopting the right open source based business software solutions. Based on publicly-available pricing from a range of vendors, a white paper from Alfresco shows how it is possible to save, in the first year of implementation (based on a 1,000 user configuration) up to 89 percent of the cost of SharePoint purchases, and up to 96 percent of the cost of other ECM solutions, by using Alfresco's open source ECM. You can reduce the cost of software solution acquisition, deployment, and maintenance by bringing the community into the development, support, and service process.

Alfresco is the leading open source alternative for Enterprise Content Management. It couples the innovation of open source with the stability of a true enterprise-class platform. The open source model allows Alfresco to use the best-of-breed open source technologies. It also allows contributions from the open source community to get higher-quality software produced more quickly, and at a much lower cost.

State-of-the-art content repository

The following diagram provides an overview of the Alfresco content repository and its integration with external systems such as Virtual File Systems, Web Applications, Knowledge Portals, and Web Services.

A content repository is a server or a set of services that is used to store, search, access, and control content. The content repository provides these services to specialist content applications such as document management systems, web content management systems, image storage and retrieval systems, records management, and other applications that require the storage and retrieval of large amounts of content. The repositories provide content services such as content storage or import, content classification, security on content objects, control through content check-in and check-out, and content query services to the content applications.

What distinguishes content management from other typical database applications is the level of control exercised over individual content objects, and the ability to search content. Access to these services requires wrapping the calls in security to prevent unauthorized access or changes to content or its metadata. The finer the granularity of this security and the complexity of its relationship with other objects such as people and folders requires a more sophisticated mechanism than that provided by traditional database security.

The complex requirements of these services imply that much of the business logic of the content repository can be as large as, or larger than, the database itself. Almost all of the content repository vendors provide proprietary service interfaces to encapsulate the breadth of functionality required. Despite having tried over the last ten years to standardize these interfaces, it is only over the last two years that any progress has been made. In 2005, the Java community adopted the JSR-170 standard interface, and Alfresco's content repository is based on this standard.

Scalable architecture

The single most important aspect of any ECM system is the underlying architecture. Alfresco supports pluggable aspect-oriented architecture out of the box by leveraging open source standards and components such as Spring, Hibernate, Lucene, CMIS, JSR 168, JSR 170, and JSE6.

The architecture is based on open standards. Hence the applications built using Alfresco can be deployed on any environment, such as Windows, Linux, Mac, and so on. It can use any relational database, such as MySQL, Oracle, and so on. The scalable architecture can run on various application servers, such as JBoss Application Server, Apache Tomcat, and so on. It can work with any browser, such as, Mozilla Firefox, Microsoft Internet Explorer, and so on. Also, it can integrate with any portal such as JBoss Portal, Liferay Portal, and so on.

In any enterprise, the amount of content that you will manage will keep on increasing. In some organizations such as media, pharmaceutical, healthcare, and so on, the content increases exponentially every year. Hence, scalability is a critical issue when evaluating ECM solutions.

Due to its modular and light-weight architecture, Alfresco is highly scalable. Alfresco provides horizontal scalability by having each tier in the architecture deployed on multiple servers. Similarly, Alfresco can scale up vertically by supporting partitioning and load-balancing in multi-server environments.

Alfresco server can scale up information by using complex search, structure, and classification of information. Alfresco server can scale up activities by using complex information per activity with dynamic views and full object-level security.

Open standards-based underlying components

Open standards protect enterprise investment, promote innovation, and make it easier for IT departments to support the software. By adopting open standards for their ECM requirements, enterprises can lower the risk of incompatibilities with existing technologies. Enterprise application integration becomes easier with open standards.

Alfresco is completely built on the following open standards:

  • Java 1.6

  • Java Content Repository API

  • Java Portlet Integration

  • Spring 2.0 Aspect-Oriented Framework

  • ACEGI Aspect-Oriented Security Framework

  • Hibernate 3.2 ORM Persistence

  • Lucene 2.1 Text Search Engine

  • AIFS (Alfresco Intelligent File System) supporting Windows Files sharing (SMB/CIFS), NFS, FTP

  • WebDAV

  • Jakarta POI – Java API for accessing Microsoft file formats

  • PDFBox iText – Open source Java PDF libraries

  • Open Office 2.x

  • JSR-223 Java Language Integration—Scripting for Java platform

  • JBPM 3.2

Globalization support

If your enterprise has a global business model, it is very important for you to provide content in multiple languages. Most enterprises look beyond their geographic borders for new markets. The majority of web users speak little or no English. Hence, ECM systems should be designed with globalization in mind.

Alfresco out of the box supports several major languages, including Chinese, Dutch, English, French, German, Italian, Russian, and Spanish.

Security and access control

Protecting unauthorized access to content is a key requirement for enterprises. This is true for corporate web sites, intranets, extranets, front office, and back office applications.

A nice thing about Alfresco is that permissions can be applied at a space (folder) level, or can be set for each individual content item. Out of the box, Alfresco supports a relational database-based membership system, and also supports external identity management systems such as LDAP, NTLM, Kerberos, and Active Directory.

Essential library services

Library services are required if you want to manage, leverage, modify, and control the content in an ECM system. Alfresco provides library services such as Check-in and Check-out, version control, auditing information, and content streaming.

Using Alfresco, you can define the library services to be executed automatically, based on business rules. For example, every edit to the content can version the content automatically. Or every Check-out can move the content to a specific location, again based on business rules.

Alfresco provides additional intelligence on the content by adding metadata (data about data), business rules, security rules, and collaboration rules dynamically, by using aspect-oriented programming. Alfresco also provides features such as content metadata extractors, content transformers, translations, and auto categorization, to make the content intelligent.

Business process automation

Business process automation increases productivity, reduces costs, streamlines processes, and shortens operation cycles. Alfresco includes JBoss Business Process Manager (JBPM) as a business process management and automation solution. This helps to manage the document life cycle by providing security and audit trails capabilities.

Enterprise integration

Alfresco provides open standards based protocols for integrating with external applications. Some of the application integration examples are mentioned in this book in Chapter 9. Alfresco can be used either as an embedded repository, or as an external content repository. Because it is open source, you can re-use the integration components for your business applications, thereby saving time and money.

Alfresco, now integrates with applications such as Facebook, ViewOne Pro, and iGoogle, and gadgets such as iPhone.

Quark Publishing System 8 and Alfresco are working together towards bringing web-based storage and collaboration for Quark assets. Alfresco integration with Joomla! is a perfect example of how cooperation between open source projects can yield innovative solutions more rapidly than a proprietary model.

Alfresco integrates with Kofax Ascent Capture and offers customers access to a comprehensive production capture solution, including automatic document classification, data extraction, and validation for both Internet-based distributed capture or centralized environments.

Alfresco integrates with an open source J2EE-based leading portal framework called Liferay. The Alfresco-Liferay bundle is an out of the box solution that provides an excellent portal-based ECM solution.

Drupal, a free and open source modular framework and Content Management System (CMS) written in the PHP programming language, can also be integrated with Alfresco to yield effective solutions.

Alfresco integrates with external identity management systems such as LDAP and Active Directory, and supports centralized security and single sign-on.