CRM.COM Business Module Architecture

CRM.COM software consists of several business modules. A developer is able to extend the existing modules or create new ones.


What does this section cover?

A CRM.COM business module consists of the following components:

  • Pages
  • Processes
  • Reports
  • Imports / Exports
  • Web Service API

CRM.COM Module Architecture Overview

The implementation of CRM.COM modules follows the MVC concept (Model - View - Controller).

MVC is a software architecture that separates the representation of information from the user's interaction with it.

  • The Model layer consists of application data and business rules.
  • The View layer can be any output representation of data, such as a chart or a diagram.
  • The Controller layer mediates input, converting it to commands for the Model or View layer.

The central idea behind MVC is code reusability and separation of concerns.


MVC Implementation in CRM.COM

In CRM.COM module implementation, the MVC concept is followed by implementing the following components:

  • Model

    • DO classes (Data objects - They implement the Domain model of the application)
    • BO classes (Business objects - They are the Entity managers that perform the CRUD functionality of each entity)
    • Process classes (They implement the business logic of the application by managing the Business and Data objects)
  • View
    • JSF pages (.xhtml)
    • Reports and printouts
    • Dashboard components


  • Controller
    • View classes (JSF managed beans)
    • Web API classes (JAX-RS classes)



To implement the MVC concept in CRM.COM, starting from the model layer, go to Developing the Model layer