| Description | The Application Deployment Architecture domain defines concepts used to organize Applications in Deployable Packages. It comprises: 1) software code packages (Deployable Application Packages) 2) Data packages (Deployable Data Packages). 3) Prescribed type of hosting 4) required technical connections (with communication protocols, port numbers...) to communicate with each other. |
|---|---|
| External references |
C4 Model - Level 2 - Container Diagram |
| Dictionary |
Dictionary of SysFEAT concepts |
| Parent Domain |
Software System ArcOps |
| Domain dependencies |
Application Functional Architecture
EA Pattern - Business Software System Pattern
EA Pattern - Business System Operating Model
EA Pattern - Physical Data Domain
EA Pattern - Physical Software Operating Pattern
EA Pattern - Technology Operating Pattern
Software Technology ArcOps
System Operating Framework - SOF |
| Concept | Description |
|---|---|
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 Deployment Architecture |
An Application Deployment Architecture describes one possible deployment configuration of an Application. It contains Deployable Packages to host, prescribed type of hosting and required Software Physical Channels (with communication protocols, port numbers...) to communicate with each other. |
Application Deployment Environment |
An Application Deployment Environment describes one possible integration context for an Application Deployment Architecture. It contains the subject application deployment architecture and the partner deployment architectures it must be integrated with, meaning it must communicates with via technical connections (with communication protocols, port numbers...).
|
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 Deployment Architecture |
An Application System Deployment Architecture describes one possible deployment configuration of an Application System. It contains chosen deployment architectures for component applications and identifies communication protocols (and port numbers) they use to communicate with each other.
|
Application System Deployment Environment |
An Application System Deployment Environment describes one possible integration context for an Application System Deployment Architecture. It contains the subject application deployment architecture and the partner deployment architectures it must be integrated with, meaning it must communicates with via technical connections (with communication protocols, port numbers...). |
Deployable Application Package |
A Deployable Application Package is a split of application code according to deployment criteria at runtime. For example, it may be Front End/Back End or GUI/Business Logic etc.. Each Deployable Application Package is associated to required Software Technology(ies) (for running) and can host code of several Application Component. Architects can also prescribe a kind of hosting artefact (IaaS/PaaS cloud service or IT server model).
|
Deployable Data Package |
A Deployable Data Package represents a data part of an Application that must be hosted and accessed by application services (code) to run. Each Deployable Data Package is associated to Required Software Technologys (for data hosting and access) and can host several data structures. Architect can also prescribes a kind of hosting artefact (IaaS/PaaS cloud service or IT server model).
|
MicroService |
A 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. |
Physical Software Interface |
An Physical Software Interface is a physical specification of an Application Interface to which it adds the following physical characteristics: 1) The software communication protocol which defines the format of the data, the procedures for error handling, and the protocols for data transfer. Examples of software communication protocols include HTTP, SOAP, gRPC, 2) Potential specific target port number. 3) Optional restrictions on source port number to use . 4) Transport protocol (TCP/UDP). Physical Software Interfaces can also represent lower lever APIs supported by Software Technology Systems such as DHCP, SMTP, IMAP, LDAP. |
Software Technology |
A 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 |
| Concept | Description |
|---|---|
Business Software System |
A 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. |
Computing System |
A Computing System is a system that can host and run software code ( Application code or Software Technology code) and to host data. |
Deployable Package |
A Deployable Package is a split of Application code and data according to deployment and runtime purposes.
|
Deployable Software System |
Deployable Software System is the super-type of all concepts used to describe the deployment of Business Software Systems. |
Physical Data Domain |
A Physical Data Domain is subset of the metadata of an enterprise’s data store. 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 Deployment Architecture |
|
Software Deployment Environment |
A Software Deployment Environment describes a possible integration context for a Software Deployment Architecture. It contains the subject Business Software System deployment architecture and the partner deployment architectures it must be integrated with, meaning it must communicates with via technical connections (with communication protocols, port numbers...). |