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.
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.
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.
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.
First, the diagram splits the information into seven areas, which allows you to find the needed object types faster.
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.
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.
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.
Participating object types (starting from top left): Company, Branch, Solution, Business Process, Business Activity, Capability, Feature, Vendor, Contract.
Participating object types (starting from top left): Customer, Contract, End User, Application, Feature.
Participating object types (starting from top left): Employee, Employee Role, Team, Business Activity, Application.
Participating object types (starting from top left): Employee, Branch, Location, Equipment, Team, Server.
Participating object types (starting from top left): Data Object, Application, Feature, Application Component, Application Technology, Server, Contract, Third-Party Software, Equipment, Employee.
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
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