IT organizations need a clear understanding of what the data means to its users. Whether that data is obtained from a tablet, smartphone, or even a mainframe, data definition needs to be obvious and meaningful to everyone concerned.
Looking at the big picture: Your application portfolio
Applications are written to manage data and to help transform data into knowledge. When designing data for an application, developers work from a vision of the data that the app will use and/or need to do its job. For example:
- A customer orders a tee shirt online
- The same customer registers a complaint online: the tee shirt arrived in the wrong size
- After the customer returns the tee shirt, the customer service rep initiates the process to send a new tee shirt in the correct size
A data model, a blueprint of an application’s entities, attributes and relationships, helps to visualize those entities, attributes, and relationships and communicate how the data works together. Think of an entity as a physical object, such as a customer or a product (the tee shirt above), or something more abstract such as a flight reservation.
Attributes are the entity’s characteristics (like the tee shirt’s size), and relationships describe associations among entities, such as the relationship between a customer and the online customer service rep.
The challenge, of course, is designing applications that integrate with and add value to a company’s already existing portfolio of applications. When the business rules or end-user requirements of one department’s application differ from those in another department’s application, the applications’ data models are incompatible.
That’s when developers need to step back to gain a broader vision and establish corporate-wide data definitions. These definitions are essential in helping to enforce standards that facilitate application integration. Here again, a data model can help by providing a relatively simple abstraction of a real-world environment—in this case, a portfolio of applications.
Application data models and IT Service Management
Data model entities, attributes and relationships are stored in database management systems. Objects (called “entities” in databases and “services” in CMDBs) run in memory in web and application servers; they are secured and distributed across the infrastructure. IT departments, which view these objects as assets, are responsible for managing and delivering these assets in the form of services.
To manage service quality, IT departments use the set of best practices known as IT Service Management. For instance, if the IT service desk needs to assess the impact of a change to an application, it uses a service-level configuration model, a specific type of data model stored in a CMDB that aligns relationships and attributes to services.
Since the model is at the service level, it helps IT assess the impact of changes, plan releases and orchestrate the migration of applications across environments.
So data models help us visualize and communicate a real-life application environment and configuration models help us understand relationships among services, applications, and infrastructure. Data flow across application development and IT Service Management helps us meet service-level targets, capture changes to an application or service, improve adherence to standards, and identify costs.
Our next blog will focus on the impact of the delivery of application data and how that ties into release management and DevOps.