More on information modeling: from business to disk

Every business deals with a finite number of entities, concepts, things, as you may prefer to name them.

Every modeling standard and project framework deals with this, approaching this description from several different viewpoints.

The existence of different descriptions, at different abstraction levels, for the same thing, and the logical links between these different modeling contexts, is one key output of an Enterprise Architecture capability.

Let’s look at the following picture, showing a common concept, “Vendor”, at different architecture layers.

Data objects in Archimate and BPMN

The picture shows modeling elements from two widely adopted standards: BPMN and Archimate.

Context / Behaviour

A Vendor is usually a stakeholder, and an external party, for our business, As such, it may be represented with a Partner Role element, according to BPMN. This is mainly a reference role, a bookmark, also if we may wish to attach some documentation or classification elements. This element will have a place in BPMN process modeling, as a Participant in a collaboration.

Archimate modeling language includes two elements that can be used as a collaboration participant: Business Role and Business Actor. The Actor is an element modeling something which may or may not have a defined identity (in BPMN Partner Role doesn’t have an identity, while Partner Entity does), but have an independent capability to perform actively some tasks. A Role, on the contrary, is more a formal description of the duties, responsibilities, capabilities, interfaces used and provided, related to a business organizational unit or single person.

So, if we want to emphasize “what the partner does”, we can model it with a Role, but if we have more interest on “what kind of partner is”, we will prefer an Actor. Usually, and Enterprise Architect is interested in the “internal” architecture of his business and, in my opinion, will find the Actor element better suited for this task.

Business Object

This is a typical element of Archimate, representing a wide range of possible items. I usually see the Business Object (a passive element in the Business Architecture Layer) as an element of the business dictionary. In every Company, when you start an interview with people with different roles, you will recognize a number of common “words”. They represent the products, the market, the external parties, the production facilities. They are the better candidates to be represented with a Business Object (behind this analysis, we may like to perform a more detailed ontological analysis on the concepts and relationships, but this is another chapter). At the Business Layer, a Business Object is not an “information item”, but is a collection of information, rules, connection with processes and internal organizational units, that will remain unchanged if we replace the information system with another one, without changing the business architectural layer.

In BPMN there isn’t a corresponding element, but we often use the Data Object to show which activities interacts with some parts of a Business Object. In general, I prefer to limit the “technical data structure pollution” in BPMN diagrams, this means trying to be as abstract as possible with respect to the actual data structure. The BPMN standard encourages this, providing a number of Item Aware Elements, that may reference any kind of physical, logical or informational element.

So, for instance, a process where one of the deliverable is the Vendor Master data, or a new Vendor Dossier, will see the “Vendor” Data Object.

Application and Database

Coherently with the approach followed for Data Objects, I usually use Data Stores to model “logical” database representations, detached from the actual database storing their data. Following the example in this article, we will have a “Purchasing” Data Store, including everything that is connected to the purchasing cycle: items, prices, vendors, orders, deliveries, etc. Someone may observe that a “Vendor” is also relevant in the “Accounting” Data Store, as part of the Accounts Payable, but I don’t agree. We deal with a Vendor because it is a provider of services and goods, not because we have an account opened with his name in our books.

Archimate, on the opposite, makes a clear distinction between the Application/Data layer – where the Data Object will have a strong “structure/database table” meaning, and the Device elements, which is used to represent the actual “hardware” hosting the Database.

Bottom Line

By using a limited number of partially-overlapping modeling standards (in our choice: TOGAF, Archimate, BPMN and UML), we can obtain a powerful and detailed representation of our Business Architecture according to different perspectives and viewpoints. Business Concepts modeling is a key part of the Enterprise Architecture capability, allowing us to catch what is maybe the core knowledge base of our business. Extending upwards (Business interactions and processes) and downwards this modeling layers will give us the ability to track the impact of any change in our business scenario on all the levels of the Architecture.

“Velocity” reporting from the semantic web

I am playing with an excellent platform for knowledge acquisition and architecting: Protégé from stanford.edu.

My main interest is the creation of OWL knowledgebases, and the application of Description Logic. The KISS project is maybe my greatest effort in this area.

Protégé is an excellent system for the knowledge engineer, but it is not easy to extract fragment of your ontology in a “user friendly” presentation format. I guessed that a tool like Velocity, from the Apache Foundation, would be a great help, as it allows to create e “template” of your required output, and then fill it at runtime with the java objects from the OWL API.

screenshot

So I written a simple plugin for Protégé, integrating the OWL API and Velocity. The plugin is open source, you can access it from its website.

Yes.. more samples can help people without specific programming skills. In the past monts I was really busy, having now the responsibility for two functions; I will do my best to providemore documentation. However, remember that Velocity, the tool at the core of the plugin, was intended primarily as a programming tool; it is based on the Java(TM) object model, so, a non-programmer, will find it a little bit tricky.

KISS – a Knowledgebase for Information Security System

The project uses a Description Logic-based approach for the conceptual modeling of the information system.

During the project I have used several new (form me) technologies, like the OWL language, DL reasoners, and I found this approach really fascinating.

I had confirms that

  • the adoption of XML-based standards allows a great level of interoperability among different stuffs,
  • open source technologies allow innovation with smooth investment curves.

The project deliverables are a fundamental tool, in my Company, for Compliance Risk management (according to the Basel Committee definition), and the conceptual models were used as a design input for a commercial application for Compliance management.

There is a web page dedicated to the project. You can find also another working paper, on conceptualization of norms, in my website.