Update Application Component definition to clearly identify its purpose
The Application Layer is very conveniently able to represent the "Information System" in the TOGAF Framework. The most important task of the Information System is to support Business activity. If the Information System is lacking in functionality then this is a serious problem. The key activity of an "Application Architect" is to ensure applications effectively support the business - something that in the real world doesn't always happen, to the detriment of the entire system.
And if we think of this in the context of layering, the business relies on the [automated] services of the application layer.
For this reason it is suggested the main definition statement for Application Component be changed to:
"An application component represents an encapsulation of application functionality aligned to the business layer."
The notion of replaceability in the definition is awkward, and so removed. What are we replacing? Suppose we create an application component called "Identity Manager" - we don't want this to be replaced at all! For security purposes this must definitely be fixed as an application component!
However it may be that the SOFTWARE that is used to implement identity management could be replaceable. Absolutely nothing wrong with this idea.
Frankly the whole definition of application component is oriented towards it being some kind of physical component. And so the whole purpose of this component has been underplayed. By making a simple change to this definition (AND the TOGAF version as well) we can at least make direct mention of its most important purpose.
Finally I feel very strongly that a separate element called "Application Software" could be added to the Technology Layer, and then all the technology stuff associated with applications can be handled there. KEEP THE APPLICATION LAYER/INFORMATION SYSTEM LOGICAL. SEPARATE OUT THE PHYSICAL SOFTWARE STUFF AND DEAL WITH IT AS TECHNOLOGY - BECAUSE IT IS TECHNOLOGY.