March 28, 2011
An Integrated Content Management Portal
There are many benefits of having a comprehensive ICMP - Integrated Content Management Portal, which can manage content throughout its life cycle, eliminate duplication, and increase content accuracy thus can lead to enhanced productivity of business users and developers & increased business benefits.
Alfresco – as an ECM system & Liferay – as a Portal system can deliver a comprehensive ICMP. Alfresco WCM has capabilities to manage, preview & publish content through workflow. Liferay Portal has capabilities to provide highly manageable and maintainable portal environment.
Architectural Solution Overview
A representative architectural diagram (shown below) provides an overview of various subsystems of the ICMP (Integrated Content Management Portal) solution.
ECM exposes RESTful services for all its clients. RESTful services are exposed using Alfresco Webscript. Each and every piece of content can be fetched using Webscripts. ECM as a component maintains all its content on a central repository on physical disk and its metadata information in database. End users are abstracted from all these details using a sophisticated WCM which coupled with staging and workflow allows users to create content and administrator can manage the system. Alfresco ECM is kept behind firewall but Alfresco Runtime is accessible from outside firewall, which allows RESTful clients to securely access content and at the same time admin related activities can only be performed from within firewall.
This architecture allows consumers to access the content w/o any restrictions. It also provides ehcache based advanced cache mechanism which improves performance of both consumer and ECM systems. Portal consumes contents from ECM and presents UI to the end users. Portal consumes content from many other sources apart from ECM. For this, Portal has a Content Consumer Engine (CCE) which is a generic layer for Web applications. CCE abstracts away details of connecting to different services and provides Java POJOs to client applications when services return data in heterogeneous formats. Applications running on portal also provide web2.0 like features – this includes integrating search with Google Maps API.
Integration points for Portal –
- ECM – RESTful Service
- SOAP Inventory Service
- Services – XML over HTTP
- Other Enterprise Systems (Separate Application) – HTTP “session” integration
Integration points for ECM –
- Expose content to multiple channels like Liferay portal, external applications etc.
Integrated Information Flow
A representative figure (shown below) provides high level overview of how information flows in ICMP.
- Content Manger initiates a content create/edit task using Webforms to modify/create new content
- After a multi-stage workflow with approve/reject actions content gets successfully published to Alfresco runtime environment
- Clients will request content using RESTful Web services and caching layer in between
- Portal has a sophisticated consumer engine that sits between client applications and web services
- Portlets invoke services on consumer engine and render content on pages
- Administrator/site manager can customize page layout, portlet configuration, add/remove pages. This can be done on staging environment without affecting Production site.
- Once configuration changes are approved it will be published to Production site.
- Visitors will always access production environment and will see approved pages and content.
Key Components of ICMP
The solution included following key components which were integrated together into a comprehensive solution:
Liferay Remote publishing
Custom Friendly URLs
Content Consumer Engine
A solid & seamless architecture is imperative in order to build an ICMP solution to create, manage, personalize, and deliver trusted content
Advait Trivedi (Principal Consultant)
Hetal Malaviya (Sr. Consultant)
Jayesh Prajapati (Sr. Consultant)