DEFINITION CONCEPT GRAPH CONCEPT DESCRIPTIONS CONTENT MANAGEMENT

CONCEPT DOMAIN - Application Functional Architecture


Description
The  Application Functional Architecture domain is used to describe the functional structure and behavior of Business Software Systems.
 SysFEAT provides three level of granularity to represent software systems:
2) Mezzo Business Software Systems are represented by Applications, which compose Application Systems.
3) Micro Business Software Systems are represented by Application Components and MicroServices which compose Applications.
All Business Software Systems provide  Functionalitys, expose APIs by means of Application Interfaces, have a data scope defined by Physical Data Domains, perform System Processes and have their interactions described by Software System Scenarios.
External references  C4 Model - Level 1 - System Context Diagram Gartner - Application Architecture Martin Fowler - Application Architecture Martin Fowler - Micro-Service Guide
Dictionary  Dictionary of SysFEAT concepts
Parent Domain  Software System ArcOps 
Domain dependencies  Application Deployment Architecture 
  EA Pattern - Business Software System Pattern 
  EA Pattern - Business System Operating Model 
  People & Accountability 
  Software Technology ArcOps 
  System Operating Framework - SOF 
Consuming Method  Analyze data lineage 

DOMAIN CONCEPT GRAPH


Diagram Graph
../images/d5e6d6b05c4648d8_d6a9552c5a395c37_i.png

CONCEPT DESCRIPTIONS


Concrete Concepts
ConceptDescription
  Application
An  Application is a Business Software System that provides a set of  Functionality(ies) that End Users see as a single unit.
Essentially  Applications are architectural constructions resulting from the combinaison of the following four criteria:
1) A group of  Functionality that End Users see as a single unit.
2) A managed asset (Managed Application) associated with a budget line in the context of an Application Portfolio.
3) A body of code that is seen by developers as a single unit.
4) A group of deployable software units (Deployable Application Packages) that must be installed together on one or multiple execution nodes (Computing System).
 Application is a Mezzo enterprise asset  that sits between Application System and Application Component in the decomposition of Business Software Systems.
Example: " Payroll" is an  Application that is part an " HR System" which is an Application System.
The "Payroll"  Application includes, among other things, the "Salary and Wage Calculation" Application Component.
  Application Component
An  Application Component is a functionnal unit of software (java class, COBOL Program, Batch) that is  a consistent, indivisible unit of processing of an Application producing and consuming its Information Outcome Events though APIs (Application Interface).
a)  Application Components are assembled and orchestrated in Applications.
b)  Application Components cannot be directly deployed to Computing Systems: they need to be organized in Deployable Application Packages.
 Application Component is a Micro enterprise asset that sits at the lowest level of Business Software System decomposition.
Example: the "Salary and Wage Calculation" component is an  Application Component that is part of the "Payroll" Application.
  Application Environment An  Application Environment is an operating context in which an Application defines its interactions with its partners (Partner Application) in the form of  API connections (Software Connection).
  Application Environment Scenario
An  Application Environment Scenario is a story involving the partners of an Application (Partner Application) interacting in order to achieve Information Outcome Events in a specific Eco-System (Application Environment).
This includes:
- A course of events represented by Application Flows depicting the story towards the delivery of expected Information Outcome Events.
- Interacting Partner Applications who participate to the story in the considered Application Environment.
  Application Interface
An  Application Interface is a Business Service Interface that occurs between Business Software Systems.
The interface is described by messages exchanged between endpoints (provider, consumer..).
  Application Scenario
An  Application Scenario is a story involving the components of an Application (Application Component or MicroService), interacting in order to produce Information Outcome Events.
This includes:
1) A course of events represented by Application Flows depicting the story towards the delivery of expected Information Outcome Events.
2) Interacting Application Components who participate to the story.
  Application System
An  Application System is a Business Software System which is an assembly of multiple Applications or other  Application Systems that, together, fulfill a set of  Macro  Functionality(ies) delivered to Business Operations.
 Application Systems are used in the context of IT Strategic planning to define and evolve other time the hight level structure of the enterprise IT Architecture.
 Application System is a  Macro enterprise asset that sit at the top of Business Software System decomposition hierarchy.
Example: "HR System" is an  Application System whereas "Payroll" is an Application that is part of the "HR system".
  Application System Environment
An  Application System Environment is an operating context in which an Application System defines its interactions with its partners (Partner System) in the form of API connections (Software Connection).
It also represents End Users that interact with the system.
  Application System Scenario
An  Application System Scenario is a story involving the components of an Application System (Applications), interacting in order to produce Information Outcome Events.
This includes:
1) A course of events represented by Application Flows depicting the story towards the delivery of expected Information Outcome Events.
2) Interacting Applications who participate to the story.
  Department Type
Department Type is a Mezzo Org-Unit which serves as an administrative unit template in both government and business Organizations.
Examples:
- Sales department;
- Finance department;
- Logistics department..
  Enterprise
An  Enterprise is a macro Enduring Initiative that delivers added-value Products (goods & services) to its target  Customers.
It requires a formal organization of groups of people and resources to achieve its purposes.
  Functionality
Functionality is a Business Resource Capability offered by Business System Assets (software or hardware) and aimed at delivering Information Outcomes.
Functionality describes WHAT a software or hardware system can provide.
 Functionality(ies) are used to express the Business System features required by people when performing their job (see Job-to-be-done).
For internal customers, these jobs correspond to Business-Process Steps described in Business Process (see Instrument)
For enterprise Customers, these jobs correspond to Job-to-be-done in the context of Customer Journeys.
  MetaData Schema
  MicroService
MicroService is a small autonomous unit of software, emphasizing self-management and lightweightness as the means to improve software agility, scalability, and autonomy.
1)  MicroServices are automous or assembled and orchestrated as components of Applications.
2)  MicroServices can be directly deployed to Computing Systems.  MicroServices are both a logical unit of software and a Deployable Package.
3)  MicroServices owns their own data store and dot not have any shared stores with other components.
 MicroService is a Micro enterprise asset that sits at the lower level of Business Software System decomposition.
  Organizational Position
An  Organizational Position is a type of position held by people when part of a Department Type.
Examples:
- Sales representative
- Developer
- Storekeeper
- Architect
  Relational Schema
Relational Schema is a set of relational Table , keys, indexes and associated items that represent the structure of a relational database. A relational database can have multiple schemas.
  Scenario of Application System Environment Scenario of Application System Environment presents the flow exchanged between the IT services or the micro-services used by this application. A scenario can represent a specific use case of this application or, globally, the set of all flows exchanged inside this application.
  Software Technology
Software Technology is an elementary Software Technology System  used as an enabler by Software Modules.
Examples :
- Application server,
- Message server,
- Storage,
- Business information sharing,
- Operating systems,
- Navigators, etc

Abstract Concepts
ConceptDescription
  Business Software System
Business Software System is a Business System used by Business Operations, that represents all granularities of software - ranging from MicroServices to enterprise wide Application Systems - used by Business Operations.
All  Business Software Systems share the following characteristics:
1) They provide  Functionalitys.
2) They expose APIs (Application Interfaces) through which they deliver Information Outcome Events.
3) They handle datastores defined by Physical Data Domains.
4) They perform and participate to System Processes.
  Logical Software System
Logical Software System is logical specification of a Business Software System, which is independant from the Business Software System physical implementation.
For instance, "Human Resource ERP System" is a Logical Application System, while "SAP HR System", "Sage HR System", "Kronos HR System" are Application Systems.
  Org-Unit An  Org-Unit is a type of Human Resource that represent a unit of social groups within an organization, responsible for operating one or more enterprise's Business Functions.
  Physical Data Domain
Physical Data Domain is subset of the metadata of an enterprise’s data store.
For instance, a "Sales"  Physical Data Domain contains a "Client" Table and a "Order" Table.
Each Physical Data Entity in a  Physical Data Domain has CRUD characteristics. For instance, the "Client" Table in the "Sales"  Physical Data Domain, has all CRUD characteristics.
 Physical Data Domains define functional data boundaries used both for Data Allocation to Business Systems (see Resource Agent Store) and data governance for data stewardship (see Data Catalog).
  Software Module
Software Module is a Business Software System that is part of an application system.
Software Module is either an Application, Application Component or a MicroService.
All share the ability to be composed of sub-Application Components and have dependencies to enabling Software Technology(ies).
  Software System Environment
Software System Environment is an operating context in which a Business Software System defines its interactions with its partners (Partner System) in the form of API connections (Software Connection).
It also represents End Users who interact with the system.