A business user should work with data using business language, not the technical language of the database. The business user is not interested in the underlying data sources and structures. Therefore, SAP provides the Universe to hide the underlying physical data storage from the business user so that they can get on with building reports using familiar terms.
Universes were originally developed using a tool called the Universe Designer. SAP later improved the architecture of a Universe by decoupling the layers so they became standalone and reusable. This reduced the maintenance effort because a change at the lower level of the data model would be inherited by all the higher layers. With the new design came a name change. No longer were they called Universes. They became known as the Semantic Layer. A new development tool was introduced called the Information Design Tool (IDT) to work with the Semantic Layer. But even today, the Semantic Layer is usually still referred to as a Universe. Although theSemantic Layer and a Universe are technically different, they are both based on the same concept. Many customers migrated their Universes to the Semantic Layer. In this course, we will refer to them as Universes as this name is recognized by most people. But we will focus on the latest tooling (IDT).
So what is a Universe?
A universe is an organized collection of objects, which includes dimensions, measures, and attributes that are grouped into business topics. The skill of the Universe developer is to create objects that sound like business terms, by mapping them to the columns of the database tables. Quite often some SQL coding is needed to generate the value of the objects. For example, you could create an object called Week after Delivery by reading the delivery date of an order and adding seven days.
The business user can then drag and drop the objects that are provided by a Universe into their report. In the background, SQL is executed on the database in the background, invisible to the business user.
A Universe can be used to create relational models and multi-dimensional models. Multi-dimensional models are used to support fast, unpredictable drill-down navigation. Relational models are used to support predefined queries.