dotCMS - Open Source Content Management System, Ondemand CMS, and Professional Support

Document Search

Article Information

Since Version: 1.6.5
Tags: dotCMS Architecture
Updated: 6/4/2009 4:07:55 PM
By: Brent Pocker
Doc id: 148423
Print Page: Export to PDF

dotCMS Architecture

dotCMS provides a sophisticated framework to develop web applications.  This architecture can be seen in this diagram.

dotCMS Core

The dotCMS core provides the backend interface, content management funcionality, athorization and permisioning, versioning, etc. Some of the basic architectural elements are:

  • Factories:  Factories are the recommended way of interacting with the core functionality of dotCMS.  Concrete factories con be found using the FactoryLocator
  • Caches:  Caches are mostly handled by the different factories.  However it's important to understand that the cache plays and import role in dotCMS, therefore data should only be interacted with through the factories, to prevent inconsistencies in the cache.
  • Persistance:  Persistance to the database is handled mostly through Hibernate, using POJOs.  Transactional logic is provided by HibernateUtil and DotHibernate

Other services are provided to be leveraged during development:

  • Mail services
  • Unified logging
  • Configuration services
  • User management, both for front end and for back end.

Front end

The front end is what the visitor sees.  Front end infrastructure can be divided into two main sections, the UI or Presentation Layer, and the Application Layer.  Both layers use the dotCMS core functionality, either directly or indirectly.

Presentation Layer 

The presentation layer assembles web pages using JSPs, Velocity code, containers, structured content, and static files.

Application Layer

The application layer provides the tools that the presentation layer requires to assemble web pages. For example:

  • Struts models and controllers (defined in struts-cms.xml)
  • DWR controllers, used for AJAX calls
  • Velocity tools


Post a Comment


Add Comments

   

 
Post