WHITE PAPER - Representing Organizational Structures Using Metadata Connect

This White Paper Demonstrates How Easy It Is To Handle Complex Organizational Structures Using Metadata Connect

BACKGROUND

We have shown how to use Metadata Connect to represent complex organizational structures. We can easily extend any of the Information Types and define new Connection Types to enhance the capabilities of the system. We can also use the Metadata Connect REST API to connect new metadata items to the people or organization that created, updated or used the metadata.

Metadata Connect is based on Objectivity ThingSpan running on the highly scalable Microsoft Azure Cloud platform. It has the scalability to handle metadata problems of any known magnitude efficiently and with ease. Metadata Connect has the performance and throughput to handle batch updates, interactive tasks and fast flowing data feeds simultaneously with complex queries.

METADATA CONNECT INFORMATION AND CONNECTION TYPES

“Leaders in an interconnected network must be comfortable sitting in the middle of a network, not at the top of an orgchart.” - Chris Fussell.

The main Metadata Connection Information Types that we will use are:

  • Item, which represents anything in the Digital Chain of Custody, plus:
  • User, derived from Item, plus its own derivatives:
    • Person [derived from User] - a named individual.
    • Role [derived from User] - a named function, such as Manager or Auditor.
    • Team [derived from User] - a named group of Persons and/or Roles, with each connected to a Team item using an Org_Structure connection.
    • Organization [derived from User] - a named group of Teams, Persons and Roles, with each connected to an Organization item using an Org_Structure connection.

The main Metadata Connect Connection Type that we will use is Org_Structure, for building organizational structures: It is a many-to-many connection between Users (or its derivatives).

THE MANY-TO-MANY TREE OR NETWORK CONNECTION TYPE

It is important to understand the way that the many-to-many Org_Structure connection type works. Most connection types are between two different item types, e.g. Parent-Child. A Parent item can be connected to zero to many Child items [Diagram below, left]. Each Child item can be linked to many (but not more than two) biological Parent items.

A more powerful model [Diagram below, right] would use Person rather than Parent and Child, with a detail specifying whether an individual is a parent, child, or both. The connection type would then be Person-to-Person or Ancestry, linking a Person object to many other Person objects, forming an ancestry tree.

The Org_Structure connection type works in exactly the same way, except that a single link may connect a Team to a Person, an Organization to a Project, or an Administrator (Role) to a Person, etc., as all of those item types are derived from User.

REPRESENTING ORGANIZATIONAL STRUCTURES IN METADATA CONNECT

Many systems need to represent people, managers, teams, projects, contractors, divisions, companies, agencies etc. in order to assign ownership of things or to track data usage. This is particularly true in metadata repositories, such as the ones that can be built using Metadata Connect. However, many systems are hampered because the definition of the components of an organization is only the start of the possibilities.

Adding simple yet powerful connection types and then storing the initial organization structure is a good start. Making it possible to dynamically define new organizational structures is even better. Let’s examine how the above tree or network structure provides a simple, powerful yet flexible model for representing organizational structures with Metadata Connect.

A Corporate Structure.

Metadata Connect has a set of pre-defined User information types (User, Person, Team, Organization and Role) plus an associated connection type called Org_Structure. They can be used to create a representation of just about any kind of organization within the database. The diagram below shows a publishing organization.

Note how Arthur Grump is employed within the Editorial Team but is also involved in another project that might involve whole teams in addition to other individuals. This kind of matrix organization is hard to represent in conventional databases, but Metadata Connect is all about connections, so it is very easy to construct the model of the organization and adapt it over time.

A Project Structure.

If we derive Project from organization we can combine it with Person, Team and Role items to represent a project structure. The diagram below shows a typical software application development team. The people in the team could also be connected to their line managers in a typical matrix organisation, but those connections are omitted here for clarity.

As the system using the above organizational structure would probably be tracking metadata, such as software components, documents etc., the tools that manipulate that data could be adapted or wrappered to use the Metadata Connect REST API to track those items.

SUMMARY

We have shown how to use Metadata Connect to represent complex organizational structures. We can easily extend any of the Information Types and define new Connection Types to enhance the capabilities of the system. We can also use the Metadata Connect REST API to connect new metadata items to the people or organization that created, updated or used the metadata.

Metadata Connect is based on Objectivity ThingSpan running on the highly scalable Microsoft Azure Cloud platform. It has the scalability to handle metadata problems of any known magnitude efficiently and with ease. Metadata Connect has the performance and throughput to handle batch updates, interactive tasks and fast flowing data feeds simultaneously with complex queries.