Entity view (Content)

Alfresco Integration

By amandaluniz
Aug. 22, 2013

It is not possible to please everyone in a company and that is the reason why there are so many different applications and systems in use in these days. There are financial systems, document management systems, HR systems, graphic design, reporting tools, etc. Some of these applications need to interact with other applications in order for all the systems to be up to date.

The interaction of the different applications in the enterprise's ecosystem is something critical. Each application has its own way to integrate and to be integrated with other existing systems. In this blog post I want to go through the different interfaces and APIs Alfresco provides for other systems to interact with it.

Alfresco development provides many different ways of accessing the document repository and makes use of the content management capabilities for 3rd party applications. Although Alfresco is a Java based application, systems written in other languages can easily use its features. Let's check out the possibilities.

CMIS

Content Management Interoperability Services (CMIS) is an open standard that allows different content management systems to inter-operate over the Internet. Specifically, CMIS defines an abstraction layer for controlling diverse document management systems and repositories using web protocols.

There are 2 protocols (bindings) defined that CMIS provides to access the services. Those are SOAP and Representational State Transfer (REST, AtomPub):

ProsCons
  • Programming language agnostic
  • Platform independent
  • Document repository agnostic
  • SQL like query language
  • No support for workflows, tasks, etc.
  • No support for categories, tags and taxonomies

RESTFul API (Webscripts)

This is the most common way to integrate 3rd party applications with Alfresco nowadays. The RESTFul API is very complete, easy to develop and maintain. New webscripts can easily be created to perform custom operations.

Webscript can be developed in both Java and Javascript. The pros and cons of developing on either will be explained in a following blog post.

SOAP (Web Services)

In case SOAP protocol is a standard in a company, Alfresco provides a Web Services API with examples in the following programming languages:

  • Java
  • PHP
  • Ruby
  • .NET

File based access

Alfresco can be accessed as a simple folder/file structure in case the metadata held in those is not important. Standard file interfaces are very common and Alfresco provides out-of-the-box the feature to integrate it using FTP, CIFS, WebDAV and NFS.

Using CIFS and WebDAV the repository (or part of it) can also be mounted in the local machine as a drive. This does not mean that smart content management system capabilities can not be used when using these interfaces. Rules can be applied to folders in order to trigger automated complex business processes or some action such us send an email to notify an individual or a group of the existence of a new or updated content.

So depending on the standards of the company, if there are any, one of the above options should fit in.

Remember to stay tuned for the upcoming osCaddie posts.

Post Tags: