CCM Core Technical Details
The CCM Core provides a modular platform of generic services that are essential to build sophisticated, next generation content and enterprise collaboration applications. These generic services form the common requirements of almost all such applications, and they include:
- Representing people and relationships
- Controlling access to functionality and data
- Managing content
- Managing processes
CCM Core allows any organization to avoid the inconsistencies and resulting inefficiencies that arise when these services are provided by separate applications.
CCM Core is based on the Java 2, Enterprise Edition standard, which provides a proven, reliable and scalable architecture, and which simplifies legacy integration. Unlike other platforms, CCM Core is delivered under an open source license -- giving developers full access to all the code and business logic of CCM.
To summarize, in the frenzied growth of the Web over the last five years, most competitive platforms have broadened their offering through acquisition and integration of disparate applications. CCM Core is the first product engineered from the ground up to capitalize on the functionality shared between most content and collaboration applications. As such, the CCM Core is unique, it offers an ideal balance between the goals of "build" vs. "buy", and its demonstrated benefits include the following:
- Faster delivery, at a lower cost
- Greater flexibility for customization to your specific requirements
- Improved coordination between applications, with less required integration
- Improved Web-based collaboration
CCM Core Services
User and Group Management
A common representation of the application user is one of the basic services provided by the Core framework, so that applications (either packaged or custom) built within the framework can access and update that unified view of the user, without the extra cost and effort required to integrate point solutions.
Authentication and Access Control
CCM Core supports "pluggable" authentication mechanisms, so that Core-based applications can be configured to use one of several methods for validating user logins, including, by default, the Core's built-in user database or, for example, an LDAP directory service.
Content Repository
Content (articles, product data, etc.) is consolidated and classified within CCM Content Repository, providing the foundation for sophisticated content personalization and searching functionality. CCM Content Repository also provides advanced versioning (storing and providing access to all revisions of a content item) and locking (prohibiting a user from overwriting another user's changes) capabilities that are essential in any content-rich site.
Workflow
CCM includes a generic, configurable workflow engine that allows users to configure a workflow as a set of interdependent tasks, and that provides a foundation for workflow-dependent applications.
CCM Core Features and Benefits
Standards compliance: Core builds on top of the Java 2 Enterprise Edition (J2EE) Platform to provide a robust and flexible infrastructure for Web applications. The benefits are as follows:
- A three tier architecture cleanly separates presentation logic, application logic and persistent storage to improve maintainability and flexibility
- Standard, J2EE-compliant Web containers (e.g. BEA Weblogic, Apache Tomcat) can be used to host presentation and application logic
Full J2EE support: Core is built on the following J2EE specifications, which offer a proven, reliable and scalable architecture, and simplifies legacy integration:
- Java Servlet API 2.2
- JavaServer Pages (JSP) 1.1
- Java API for XML Processing (JAXP) 1.1
- JDBC Optional Package 2.0
In addition, Core makes use of the Java Authentication and Authorization Service (JAAS) 1.0 standard extension.
Proven data model: CCM Core includes the proven CCM object model, used to develop hundreds of sophisticated Web applications.
Robust, upgradeable APIs: CCM Core API stability is ensured by a comprehensive suite of regression tests, based on the open-source JUnit testing framework.
Persistence: CCM Core defines a Persistence API that adopts the Data Access Object design pattern from the J2EE blueprints to decouple application logic from the specifics of how and where persistent data is stored. This allows the CCM to deliver abstraction, scalability and database independence.
Security: CCM Core incorporates the Java Authentication and Authorization Service (JAAS) to enable CCM "to remain independent from underlying authentication technologies" (JAAS Reference Guide), e.g. an LDAP directory or the CCM's built-in user database.
Performance, Scalability and Reliability: Red Hat also employs comprehensive performance testing and auditing on a continuous basis during product development. This proactive approach allows us to evaluate competing design alternatives, identify and correct bottlenecks, and understand the effect of different configuration options.
Subsites: Subsites are distinct sections of a Web site tailored to specific user segments that provide the flexibility of multiple sites, while minimizing administration costs and enforcing consistency. CCM provides support for an unlimited number of subsites, allowing administrators to customize and operate each subsite as an independent service.
Globalization: Leveraging the Java 2 platform's built-in internationalization facilities, CCM Core is engineered to enable clean and efficient localization of CCM-based applications.
Auditing and Versioning: CCM Auditing establishes a standard API and common mechanism to track information about when a domain object was created and modified, as well as some simple auxiliary information about those events. CCM Versioning provides the ability to keep a history of all modifications made to the object, including its attributes and relations. Developers can use these standard mechanisms with almost no overhead, significantly speeding up the development process.
Content Messaging and Threading: CCM Content Messaging provides a standard set of abstractions for storing, sending and receiving messages through a web service. Delivered with a data model and API for the storage and retrieval of messages, it supports a diverse group of messaging applications through a single centralized facility. While the package standardizes how messages are stored, applications may use any data model for a higher level organization of messages into threads and forums. CCM Messaging places no organizational constraints on client applications such as boards and comments.
Categorization: Content Categorization is essential anytime when the user does not have some key information that uniquely identifies what he is looking for. CCM Categorization offers a means of grouping and describing the content of a web service to aid users in their search for relevant information. The Categorization service provides an infrastructure for developers to categorize arbitrary content within the system, and a set of widgets to assist in creating pages to allow users to categorize their content.
Outbound Email: CCM Core Mail provides an API for creating simple electronic mail messages and attachments for those messages. It is implemented as a wrapper for the more complete JavaMail 1.2 API.
Notifications: CCM Notification handles the delivery of notices to one or more recipients. It relies on the Content Messaging service to store messages and their attachments, and the Mail service to handle delivery of messages. Beyond these two building blocks it provides a processing queue, expansion of groups into individual recipients, failure handling, auditing, and explicit digest creation alerts.
Web UI Toolkit: To speed development of an application's user interface and improve its consistency, CCM Core provides CCM Bebop, a library of generic user interface components, e.g. sortable tables, multiple-step forms, and data-entry widgets.
UI Templating: CCM Core uses XSLT to present content, allowing fine-grained presentation control, multiple device presentation (WML, VoiceXML and HTML), and integration via SOAP and WSDL.
UI Portal Framework: CCM Core also allows administrators to selectively determine the presentation of their workspace through the use of Portals. This framework greatly enhances the flexibility of the CCM, reduces requests for UI customization and improves user efficiency.
Practical applications of the CCM Core
CCM Core is uniquely suited to address the basic needs shared by most web applications: to represent people and relationships, to manage content, to control access to functionality and data and to manage processes. As an open source application, the CCM Core is also an ideal starting point for third party applications. To learn more about CCM-backed Web sites, see our Customer Profiles.
|