Keeping track of Assets and Services Data thanks to CMDBuild. Everything registered.

The large IT infrastructures require comfortable solutions to manage Assets and Services. A similar solution should be able to offer all the important workflow functionalities and to represent the entire life cycle. CMDBuild fulfils this difficult task and keeps the administrators informed about where a certain service is present, who is using it, in which configuration, and much more.

To us all Italy is well known as a popular holiday destination, as the home of pasta and pizza and as the birthplace of Michelangelo and Leonardo da Vinci, but also of the Mafia. Concerning the IT sector, do not come to mind famous experts or noteworthy innovations coming from the “Bel Paese”. But this can change with the growing diffusion of CMDBuild (Configuration Management Data Base): the open source solution developed by Tecnoteca, an Italian company from the Municipality of Tavagnacco, Udine, not far from Venice.

The motto of their program is as follows: "CMDBuild is the ERP system for the IT sector". So, meaning and purpose of this program are summarized in a short thought: CMDBuild manages all the IT information of a Company. The solution can be considered as a Storage and Consulting system that manages all the IT information of a central repository and offers a reliable view on IT services.

There are CIs (Configuration Items), behind which are present descriptions of components and services. CMDBuild provides to its customers with the right answers to their questions, such as: where is a certain component in my environment? Who is using it and with what right? Where is located a similar CI? Are there sufficient licenses available for that software? What happened during the life cycle of that CI? Which Cis effect on others? Which systems are waiting for an intervention?

All this is necessary and functional in the work of the IT Administrator, so that the current situation of an IT infrastructure can remain permanently documented. The information can be useful in particular for the reduction of administrative tasks: many tasks can be simplified thanks to the availability of relevant information. In August 2014, the project has been elected "Project of the Month" by the SourceForge staff. However so far CMDBuild has had little media attention.

The open source environment utilizes a specific terminology to describe the functions. The information is saved in the database according to hierarchical structures. The hierarchy is based on Classes and Subclasses. Descriptive information is called Attributes. To describe the relationships between the items, CMDBuild uses so-called Domains. These can be viewed on the graph with the help of a special feature. In this way it is possible to determine which element is connected to the others and how often. In addition, CMDBuild manages users and groups, including the definition of access rights, and includes the possibility of assets georeferencing.

The logic of the model is defined with the help of a special interface based on the "Entity-Relation" concept. Each data model can include classes of different types of assets, including software applications, services, locations, etc. Through views and filters, the interface can be adapted to the needs. As for widgets, the environment provides additional functions with which it is possible for example to print reports related to a specific asset, view a calendar and start a workflow.

The strengths of CMDBuild include the management of relationships and workflows. The environment can link items with other items and, thanks to these relationships, represent hierarchical and functional dependencies. In addition to this, for each item it is possible to assign contact points, licenses, contracts and positions. Moreover, with the correlation function it can be represented assignments of useful services, wiring and other peripherals.

One of the main advantages of CMDBuild is the possibility of creating workflows, in which defining the processes to be performed according to the logic required for the management of the IT environment. The interesting aspect is that authorized users can freely draw workflow configurations. Users can create workflows with the help of a “workflow editor tool”, and then import them into CMDBuild. The program does not currently provide its own internal editor; workflows are at the moment performed by the Together Workflow Server Engine. It is therefore possible to configure “ITIL compliant” processes, including Incident Management and Change Management. These functions are already implemented in the CMDBuild READY2USE variant (see below the “CMDBuild READY2USE” section).

When textual information is also linked to contractual information, technical documents and drawings, or images and object placements, CMDBuild can manage these thanks to Alfresco DMS. The asset management environment is based on an AJAX interface. Through the dashboards it is possible to obtain different graphical representations of the available items.

An efficient information management system requires reporting capabilities, made available in CMDBuild in the “Report” menu. The reports, based on the web, can be exported to PDF, ODT, RTF and CSV. Some system administration functions are managed with the Task Manager located in the Administration Module. The Task Manager is used to start workflows, make connectors and check the results. CMDBuild normally uses an e-mail notification function to report any activity to be performed. When operating in “distributed” geographical locations, geographic coordinates can be assigned to the items. Geo-reference on floor plans is also possible. CMDBuild in particular can use Open-StreetMap and GoogleMaps data, as well as three-dimensional BIM representations in IFC format. The user needs however to use external tools for drawing floor plans.

The Italian team has also thought that operators can work with the solution in the field or on the move. For this they have developed a Mobile Interface. The Android and iOS APPs allow to control the environment through REST Web Services. Only hitch: the APP is not under an open-source license, but is part of a commercial package.

The installation of the environment is simple: you download the CMDBuild archive from the SourceForce site and unzip it. Prerequisites are a Tomcat server and a PostgreSQL database. You copy the libraries of the “extras / tomcat-libs” directory to the “libs” directory of the Tomcat installation. Then copy the “cmdbuild-2.5.war” file to the “webapps” directory of Tomcat and rename it as “cmdbuild.war”. When you want to use geographic data, just copy the file “/extras/geoserver/config.yaml” to the Geoserver MapFish plugin directory.

First steps with the Data Management Module

The work with CMDBuild usually begins with the creation of classes with the aim of mapping buildings, offices, rooms, floors, suppliers and of course the assets (image 1). Assets can be divided into additional categories, such as computers, printers, licenses, or network devices. The “computer” classes can be “specialized” for example in “server”, “computer” and “laptop”. The classes will be the containers of the so-called Cards that correspond to the traditional data sheets of an object. No limits are placed on the user's creativity. However, should be designed a sensible hierarchical structure in the introductory phase. The classes are also applied to register colleagues and collaborators (possibly with their own hierarchy or appropriate category).

Image 1: The definition of a new class, which can have an arbitrary number of subclasses.To each class is given a name and possibly a description. Subsequently, the correlations with the other classes and the other items are defined (image 2). To do this you move on the “Relations” TAB and create a correlation between the two classes. The buildings can be related to floors, rooms and people, employees with a PC and a server. Clicking on the relationship graph, it loads the display all the links. Unfortunately, it is not possible to edit the elements here. For each class and for each item the History can be checked, which in the terminology of CMDBuild is called chronology. Images, documents and other data can be loaded in the “Attachments” TAB. Once logged in, a dashboard presents different views of IT data, for example regarding the number of items, the manufacturer or the assets typology.

The dashboard can also be adapted to everyone's needs. Just open the “Dashboard” menu, execute the “Add” command, specify a description and then move to the “Graphs” TAB. At this point it is defined which types of graphs using for visualization. Entering standard information is simple. A rather complicated task is creating the data calculation function in the PostgreSQL database, which is then selected by the user interface. These source data are then represented in a graph. In practice, a mapping is then constructed that represents the output parameters of the PostgreSQL function in the input parameters of the graph topology. Finally, the specific parameters of each type of graph are specified.

What seems simple in theory, in practice is not so obvious, because the definition of the PostgreSQL functions must be formulated correctly. In concrete terms, the function must present the following format: “TYPE: function”. The function must also include input and output parameters. A small declaration error is sufficient to get the graph empty.

Reports on the status of an infrastructure are the bible for an administrator looking for information. The report functions of CMDBuild are rudimentary - like other things in the management environment. But certainly thanks to the integration of JasperReports, the tool clearly gains in functionality. CMDBuild can import reports that are drawn with iReport, the report editor of the JasperReports package, which supports text formatting functions, the definition of standard elements such as header and footer lines, data grouping, evaluation of printouts, field calculations, sub-report management as well as different possibilities for using images and graphs. Export to PDF, HTML, XLS and CSV is possible. The CMDBuild import function provides a wizard for importing a report. The open-source variant does not provide pre-configured reports, this feature is only present in the commercial version.

First administrative tasks

In CMDBuild the administrative functions are divided into different menus. User administration is included in the “Users and Groups” menu. Rights within the environment are based on user groups, group permissions, and associations between groups and users. With permissions assigned to groups it is possible to restrict access to Classes, Views, Search Filters, Dashboards and Reports. With the associations between users and groups, specific rights are assigned to each Class. If a user is placed in a group, the group rights are automatically transferred to this user. In CMDBuild it is possible to assign additional permissions in the user interface with the “UI configuration” function and individually configure the available options.

Image 2: Displaying connections between items provides a completely different view of an IT infrastructure.PTo configure permissions, use the “Permissions” page in the Administration Module. The table can configure the rights for each class, every process, every view and every custom page. User management is just as simple: you open the user list and execute the “enter user” command. The relevant data and settings are assigned to the new user on the tab.

Another important tool in CMDBuild Administration Module is the Task Manager, which manages all the functions that can be executed in background. These include for example the following functions:

  • management of incoming emails
  • management of asynchronous events
  • scheduling of workflows
  • scheduled activation of the Wizard Connector
  • sending schedules emails with reports attached

    The Task Manager allows the creation of new tasks. Some tasks expect to wait for specific emails that can be uploaded to a specific mailbox. Some information should be checked to perform an action, such as starting a workflow. With this mechanism, for example, an Incident Management process can be started after receiving the relevant notification. For this it is possible to use the Task Manager Wizard which guides through five steps. The number of steps depends on each task. CMDBuild provides its own e-mail management. The related functions can be found in the “E-mail” menu. E-mail accounts can be configured in the system and for each of these accounts predefined templates for sending e-mails can be set, to be used in particular for the CMDBuild mechanisms of Workflows, Widgets and Task Manager.

    Customize CMDBuild

    The configuration and customization of CMDBuild takes place in the “Configuration” menu. In the general settings, a name is assigned to the system and the default class is defined. To access the Workflow system, this must be configured in the homonymous menu. It is also possible to customize the URL to which the engine responds. There are the default settings of the correlation functions, as well as the related graphical representation. These as well can be customized according to personal needs. In concrete terms, the number of connection levels can be determined and the complexity of the graph can be influenced. By default, the report graph is set to display a maximum of 100 nodes.

    The integration function for Alfresco DMS, using an interface based on the CMIS (Content Management Interoperability Services) protocol, has been developed with the contribution of the University of Bologna. CMDBuild and Alfresco communicate via this interface. The only condition to be met is that Alfresco is installed at least in version 3.4. The configuration of the interface is really simple: you set the access data to the DMS and define the paths of the FTP service and the Web service. If there are locks on the item cards, for example to protect them from unauthorized changes, it is possible to unlock them here.

    The developers are at the moment working on the 3.0 version, which should be available during the year. For this version different parts of the client code are rewritten, also to simplify the reuse in Mobile APP. Are as well at the center of the attention the performances and the graphic aspects of the new version, which will make CMDBuild an application with a guaranteed future. You may have a look at preview of the 3.0 version at the this link.

    Conclusion

    With CMDBuild the Tecnoteca developers have created a useful solution for the business management of IT data. Basically, the environment does exactly what it has to do, nothing more and nothing less. Maybe more flexibility would be needed in the connection between the infrastructural components.

    The CMDBuild READY2USE variant

    With CMDBuild READY2USE the Italian team offers a commercial variant of their software that provides some additional features.

    The READY2USE Variant follows the ITIL Best-Practice guidelines. Based on an Annual Subscription, customers have access to the “Self-Service Portal”, a special user-friendly interface that allows non-technical users to interact with the management environment.

    The Self-Service Portal allows to report faults and other technical problems and forward these via the Incident Management workflow. It is possible to consult information about the results and know the situation in real time. The number of connectors is also clearly higher: CMDBuild READY2USE contains connectors for Active Directory, OCS Inventory, VMware vCenter, Zabbix and LLDP.

    Connection with the outside world

    In most companies there are already present systems in which specific company and IT information are stored. CMDBuild can connect these and make them available to the company.

    Naturally, the reading and manual verification of information in a CMDB (Configuration Management Database) contains the risk of delays and inaccurate data acquisition. An automatic import automatism seems to be the best solution. So CMDBuild has ETL connectors that allow data alignment with external business applications. CMDBuild interfaces with LDAP server for the detection of user data. Interfaces with HR and ERP systems can retrieve customer and supplier data. The software can also synchronize data from Automatic Inventory solutions.

    CMDBuild has also interfaces with virtualization systems. A plugin for TOGAF (The Open Group Architecture Framework) is as well available. For all these usage functions, specific interfaces and plug-ins are available. For complex synchronization tasks there is the “Wizard Connector” tool, which is available among the administrative functions of CMDBuild.

    IT Administrator (https://www.admin-magazin.de/Das-Heft/2018/07)

    di: Dr. Holger Reibold

    Original article: download