Application Architecture

A software architecture delineates how a set of structural and behavioral artifacts, modeled at decreasing levels of abstraction (essentially: analysis, design, implementation) will realize the needs expressed by the business architecture.

Each notation suggested here (UML® and ArchiMate®) for modeling a software architecture offers distinct advantages, depending on the desired end goal:

UMLBest used to define analysis and design artifacts with the intent (or possibility) to generate implementation artifacts such as code and schemas.
ArchiMateIdeal for describing a relatively abstract architecture at the business, application and technology levels, without the intent of having the models match the actual implementation (e.g. code, physical deployment, etc.).

These notations can of course be combined within the same Enterprise Architect repository and their constructs inter-related as appropriate!