Continue Reading Continue Reading More Learning Content

Archipeg EA Framework v1.0 Metamodel

Synopsis: Archipeg EA Framework is a simplistic model of a digital twin of most enterprises. It allows capturing data about applications, products, services, customers, org structures, technologies, vendors, etc.

 

Tip: watch a video tutorial about Archipeg EA Metamodel.

Idea Behind Archipeg EA Framework

The basic idea behind Archipeg EA framework is to define a structure that is both broad and specific. Breadth is necessary to cover most of the enterprise landscapes. Specificity is required to avoid confusion and serve as a guardrail for Enterprise Architects and Solution Architects who capture the holistic data about their organizations.

The Archipeg EA Framework is based on our experience after examining multiple organizations of various sizes and seeing commonalities and differences. We believe that the presented framework can answer most questions about organizations from small to extremely large. Since Archipeg EA is a concrete framework, it is unnecessary to translate from abstract concepts into your concrete needs like it is needed with other generic counterparts such as ArchiMate.

Archipeg EA Framework Diagram

Below is a holistic diagram of the Archipeg EA Framework version 1.0. You can click on the image to open it in a new window or zoom into it to examine the details.

Archipeg EA Framework v1.0 Metamodel

In a nutshell, the diagram shows every object type available via the object catalog designer in Archipeg. Besides the objects, you can also see the relationships (associations) that you can specify between the objects.

For simplicity and readability, we applied several tweaks to the diagram.

Seven Areas - Enterprise Architecture Domains

First, the diagram splits the information into seven areas, which allows you to find the needed object types faster.

  1. Business - Company Related: represents a subset of a business architecture that describes the company's internal structure and processes. e.g., in this area fall things such as company's branches and business processes.
  2. Business - Customer Related: represents a subset of a business architecture describing the landscape from the customer's standpoint. e.g., a customer might sign a contract or employ end-users who use the company's products, services, or applications.
  3. Business - People Related: represents a subset of a business architecture that depicts the environment details from employees' standpoint, such  as roles that they serve or the groups where they participate.
  4. Business - Cross-Cutting: represents a subset of a business architecture that applies cross-cutting concepts to the landscape. At the moment, there is one such concept - location, which can describe where the other objects are located, either physically or virtually.
  5. Information Systems - Data: represents a subset of an information systems architecture that lets you describe data objects and associations between them.
  6. Information Systems - Applications: represents yet another subset of an information systems architecture that ties together applications and other related concepts.
  7. Technology: represents the technology architecture domain, letting you define supporting aspects to the information systems and business architectures. e.g., here you can specify equipment or third-party software in use by the employees.

Highlighting Primary Participants of Each Area

As you can see, some object types are highlighted in yellow while others have a plain, black-and-white coloring. This color-coding was necessary to emphasize which objects play the primary role in each area vs. supporting or relating to it.

For example, under the "Business - Cross-Cutting" area, location is the only object type belonging here. All other objects are shown only to describe the associations to or from the location. You can find non-primary objects under other respective areas highlighted as primary where appropriate.

This statement also implies that some object types are shown multiple times on the diagram to simplify the understanding of the entire picture.

Compact Naming for Two-Way Associations

Every association in Archipeg is two-way. When you create one side of the association, the other side is also automatically created. This is helpful when traversing the object graph - you can go from parent to child or from child to parent - based on your convenience. We needed to express this behavior on the diagram.

As you can see, associations on the diagram have two names, separated by the slash (/) symbol. Both names describe the relationship between the specific two objects; the former is the name of the association going from the source to the target object, while the latter is the other way around. We thought this would be clearer than drawing two arrows between the pairs of objects going in opposite directions.

Example Diagrams

The below example diagrams present a fictitious data set describing Amazon as an enterprise. The content does not reflect Amazon's enterprise landscape in real life. We chose Amazon as we can easily explain its context for demonstration purposes.

We will break the content into sections corresponding to the metamodel diagram above.

 

Business - Company Related

Participating object types (starting from top left): Company, Branch, Solution, Business Process, Business Activity, Capability, Feature, Vendor, Contract.

 

 

Business - Customer Related

Participating object types (starting from top left): Customer, Contract, End User, Application, Feature.

 

 

Business - People Related

Participating object types (starting from top left): Employee, Employee Role, Team, Business Activity, Application.

 

 

Business - Cross Cutting

Participating object types (starting from top left): Employee, Branch, Location, Equipment, Team, Server.

 

 

Information Systems (Data, Application) and Technology

Participating object types (starting from top left): Data Object, Application, Feature, Application Component, Application Technology, Server, Contract, Third-Party Software, Equipment, Employee.

 

 

Archipeg EA Framework v1.0 Detailed Description

 

Objects

 

Application

Software or Application offering that the company produces and provides to its Customers

Application Component

A physical or conceptual subset of an Application; typically, a separately deployable unit

Application Technology

Digital product that enables building of Application and its Components, typically developed or provided by the third party; e.g., framework or library

Branch

Branch or outlet of a Company

Business Activity

Represents an activity or collaboration between groups within the organization that follows a certain Business Process

Business Process

Business Process that takes place in an organization, which can be a combination of Business Activities between various groups

Capability

High-level functional capability that is part of a Solution and is composed of Features

Company

Root object that describes the company as an enterprise

Contract

Contract or mutual agreement between parties for exchanging goods or services

Customer

Company's customer; typically a company or an organization

Data Object

Any cohesive piece of information that serves for communication, application integration, or data processing needs

Employee

Individual who works for the Company

Employee Role

Any conceptual classification of Empoyee's role, such as `Developer` or `Sales`

End User

Individual or a group of individuals who utilize Applications, Products, or Services produced by the Company; End User is typically employed by a Customer

Equipment

Typically a physical equipment that serves Company or its Employees; e.g., laptop computer

Feature

Lowest-level functional or technical feature that an Application, Service or Product offering fulfills or performs

Location

Physical or virtual location where a particular object is located

Product

Product offering that the Company provides or produces, typically for its Customers

Server

Physical or virtual server instance on which the Application Components are hosted or deployed

Service

Service offering that the Company provides, typically for its Customers

Solution

Highest-level solution that the company provides to its Customers. e.g., Amazon can be split into Amazon.com and AWS business units

Team

Group of employees who typically perform a unified set of tasks or activities; does not have to correspond to formal teams

Third-Party Software

Third-Party Software or application produced or delivered by a third-party Vendor. e.g., Windows Server 2000, or Jira

Vendor

Supplier of goods and services to the Company

 

Associations

 

Application::Associated Data Objects <-> Data Object::Related Applications

Outgoing: Data Objects or information blocks that are created, read, updated, deleted, transmitted, or otherwise processed by this Application

Incoming: Applications that create, read, update, delete, transmit, or otherwise process this Data Object

Application::Features <-> Feature::Implemented by Applications

Outgoing: Features that this Application implements, allowing users to utilize them

Incoming: Applications that implement this Feature, allowing users to utilize it

Application::Application Components <-> Application Component::Owning Application

Outgoing: Components that are part of this Application

Incoming: Application that it composed of one or more Application Components like this

Application::Upstream Applications <-> Application::Downstream Applications

Outgoing: Applications from where data transmits into this Application

Incoming: Applications where the data flows from this Application

Application Component::Used Technologies <-> Application Technology::Used by Application Components

Outgoing: Technologies, frameworks, libraries, or other kinds of digital resources that are considered as supporting building blocks for this Application Component

Incoming: <empty>

Application Component::Related Servers <-> Server::Hosted Application Components

Outgoing: Virtual or physical Servers on which this Application Component is deployed, hosted, or found

Incoming: Application Components that are deployed, hosted, or found on this Server

Branch::Location <-> Location::Branches at this Location

Outgoing: Physical or virtual Location where this Branch is assigned or considered

Incoming: <empty>

Business Activity::Next Business Activities <-> Business Activity::Previous Business Activities

Outgoing: Business Activities that happen next to this Business Activity in the Business Process workflow

Incoming: Business Activities that happen prior to this Business Activity in the Business Process workflow

Business Process::Business Activities <-> Business Activity::Parent Business Process

Outgoing: Business Activities that take place as part of this Business Process

Incoming: Business Process, part of which is this Business Activity

Capability::Features in this Capability <-> Feature::Belongs to Capability

Outgoing: Lowest-level Application Features that comprise this Capability

Incoming: Highest-level Capability that is composed of one or more Features like this

Company::Branches <-> Branch::Company

Outgoing: Branches or outlets of this Company

Incoming: <empty>

Company::Solutions <-> Solution::Provided by Company

Outgoing: High-level Solutions that the Company provides to its Customers

Incoming: <empty>

Contract::Covered Application Technologies <-> Application Technology::Related Contract

Outgoing: Application Technologies that are covered by or provided based on this Contract

Incoming: Contract that covers or ensures the availability of this Application Technology

Contract::Covered Equipment <-> Equipment::Related Contract

Outgoing: Equipment that is covered by, or is made available based on this Contract

Incoming: Contract that covers or ensures the availability this Equipment

Contract::Covered Servers <-> Server::Related Contract

Outgoing: Servers that are covered by or provided based on this Contract

Incoming: Contract that covers or ensures the availability of this Server

Contract::Covered Third-Party Software <-> Third-Party Software::Related Contract

Outgoing: Third-Party Software that is covered by or provided by this Contract

Incoming: Contract that covers or ensures the availability of this Third-Party Software

Customer::Related Contracts <-> Contract::Related Customers

Outgoing: Contracts binding the customer-supplier relationship between this Customer and the Company

Incoming: Customers who signed this Contract, or are parties mentioned in this Contract, or otherwise abide this Contract

Customer::Employed End Users <-> End User::Employer Customer

Outgoing: End Users of the Company's Applications, Products, or Services who are also employed by this Customer

Incoming: Customer who is also the employer of this End User

Data Object::Associated Data Objects (Outgoing) <-> Data Object::Associated Data Objects (Incoming)

Outgoing: Data Objects with which this Data Object is associated

Incoming: Data Objects that associate with this Data Object

Employee::Assigned to Branch <-> Branch::Employees at this Branch

Outgoing: Branch where this Employee typically works or has work space allocated

Incoming: Employees who are assigned to this Branch or have work spaces allocated here

Employee::Manages Company <-> Company::CEO

Outgoing: Company where this individual holds the role of CEO

Incoming: Employee who performs the role of CEO of the Company

Employee::Third-Party Software in use <-> Third-Party-Software::Used by Employees

Outgoing: Third-Party Software that this Employee uses or has access to

Incoming: Employees who use this Third-Party Software or have access to it

Employee::Direct Reports <-> Employee::Direct Manager (Supervisor)

Outgoing: Employees who are direct reports of this Employee

Incoming: Employee who is a direct manager (supervisor) of this Employee

Employee::Member of Teams <-> Team::Team Members

Outgoing: Teams or groups where this Employee participates, does work, or holds membership

Incoming: Employees who participate, do work, or hold membership in this Team

Employee::Assigned Equipment <-> Equipment::Assigned to Employees

Outgoing: Equipment that is allocated for or assigned to this Employee

Incoming: Employees who are responsible to operate or maintain this Equipment

Employee::Work Location <-> Location::Employees at this Location

Outgoing: Physical or virtual Location where the Employee works

Incoming: Employees who work from this Location

Employee::Employee Roles <-> Employee Role::Employees with this Role

Outgoing: Roles assigned to the Employee within the context of the Company; typically corresponds to the Employee's responsibilities or activities performed

Incoming: <empty>

End User::Uses Applications <-> Application::End Users

Outgoing: Company's Applications that this individual or party utilizes as an End User

Incoming: Individuals or parties utilizing this Application

End User::Consumes Products <-> Product::End Users

Outgoing: Company's Product offerings that this individual or party utilizes as an End User

Incoming: Individuals or parties receiving or utilizing this Product offering

End User::Receives Services <-> Service::End Users

Outgoing: Company's Service offerings that this individual or party utilizes as an End User

Incoming: Individuals or parties receiving or utilizing this Service offering

Equipment::Location <-> Location::Equipment at this Location

Outgoing: Physical or virtual Location where this Equipment is assigned or considered

Incoming: <empty>

Product::Delivered Features <-> Feature::Related Products

Outgoing: Features that are delivered or fulfilled by this Product

Incoming: Product offerings that present, perform, or allow the user to utilize this Feature

Server::Location <-> Location::Servers at this Location

Outgoing: Physical or virtual Location to which the Server is assigned or considered

Incoming: Physical or virtual Servers that are assigned to or considered at this Location

Server::Third-Party Software <-> Third-Party Software::Related Servers

Outgoing: Third-Party software that is installed, deployed, or runs on this Server

Incoming: Servers where this Third-Party Software is installed, deployed, or executed

Service::Delivered Features <-> Feature::Related Services

Outgoing: Features that are delivered or fulfilled by this Service

Incoming: Service offerings that present, perform, or allow the user to utilize this Feature

Solution::Capabilities in this Solution <-> Capability::Belongs to Solution

Outgoing: <empty>

Incoming: Highest-level Solution that is provided by the Company and is comprised of one or more Capabilities like this

Team::Responsible for Applications <-> Application::Responsible Teams

Outgoing: Applications for which this Team is responsible from a particular standpoint such as development, sales, or expertise

Incoming: Teams or groups of people who are responsible for this Application from a particular standpoint such as development, sales, or expertise

Team::Participates in Business Activities <-> Business Activity::Participating Teams

Outgoing: <empty>

Incoming: Teams or groups of people who participate in this Business Activity

Team::Responsible for Contracts <-> Contract::Responsible Teams

Outgoing: Contracts that this Team maintains, or is responsible for

Incoming: Teams or groups of people who are responsible for this Contract or for customer relationship stated by this Contract

Solution::Business Processes <-> Business Process::Related Solution

Outgoing: Business Processes that take place to deliver or execute this Solution

Incoming: Solution under which this Business Process takes place

Team::Location <-> Location::Teams at this Location

Outgoing: Physical or virtual Location where this Team operates or is assigned to

Incoming: Teams or groups of people who operate at this Location or are assigned to it

Team::Responsible for Products <-> Product::Responsible Teams

Outgoing: Product offerings for which this Team is responsible from a particular standpoint such as development, sales, or expertise

Incoming: Teams or groups of people who are responsible for this Product offering from a particular standpoint such as development, sales, or expertise

Team::Responsible for Services <-> Service::Responsible Teams

Outgoing: Service offerings for which this Team is responsible from a particular standpoint such as development, sales, or expertise

Incoming: Teams or groups of people who are responsible for this Service offering from a particular standpoint such as development, sales, or expertise

Vendor::Related Contracts <-> Contract::Related Vendors

Outgoing: Contracts that this Vendor acknowledges or abides when providing goods or services to the Company

Incoming: Vendors that acknowledge or abide this Contract when providing goods or services to the Company

See Also

 

 

 

More Learning Content

Growing product,
Transparent pricing,
Award-winning support.

All Rights Reserved © Archipeg.com