An application is a computer program that provides useful business functionality to its users. It supports a bounded set of business capabilities that are provided as user interfaces. An application stores owned business objects and makes them available to other applications by interfaces.
An application owns business objects (e.g. a CRM application owns business object ‘customer’) and may process business objects owned by other applications if connected by an interface.
Historically, applications have been in the hands of IT as they are implemented in the form of custom or standard software (such as SAP). In the Architectural Thinking Framework, however, business people are accountable for their applications and the business objects that exist in the applications. Thus, architectural responsibility is shifted to where it belongs – the business.
Applications are implemented on top of software technology components (such as application servers or web browsers) that run on hardware such as mobile devices, servers in a computing center (on-site) or in the cloud.
Some examples of applications are: CRM, SAP HR, e-banking risk management system.
Why is it important to manage applications?
- As applications map capabilities/value streams to technology, they enable more effective planning of IT projects.
- By assigning applications to value streams, their cost can be weighed against their business value.
- By grouping applications by the top level capability, they support functional redundancies.