An application architecture is a map of how an organization's software applications are assembled as part of its overarching enterprise architecture and how those applications interact with each other to meet business or user requirements. An application architecture helps ensure that applications are scalable and reliable, and assists enterprises identify gaps in functionality.
In general, application architecture defines how applications interact with middleware, databases and other applications. Application architectures usually follow software design principles that are generally accepted among its adherents but may lack formal industry standards.
One of the most notable application architectures is the service-oriented architecture (SOA), which emerged in the 1990s as application integration and component-sharing operations became linked to pools of hosting resources and distributed databases. Over the past 20 years, SOA has evolved into several other architectures, most notably microservice architectures.
Technology and industry standards
Larger software publishers, including Microsoft, typically issue application architecture guidelines to help third-party developers create applications for their platform. In its case, Microsoft offers an Azure Application Architecture Guide to help developers producing cloud applications for Microsoft Azure public cloud computing platform. It provides a range of cloud services, including those for compute, analytics, storage and networking. Users can choose from these services to develop and scale new applications, or run existing applications, in the public cloud.
Additionally, consortia have been created to define architectural standards for specific industries and technologies. For example, the TM Forum, a trade group for communications-service providers, has created The Application Framework (TAM) to deliver an application architecture for use by service providers and others within the communications and entertainment industries. Similarly, the Object Management Group (OMG), a standards consortium of vendors, end-users, academic institutions and government agencies, operates multiple task forces to develop enterprise integration standards. OMG’s modeling standards include the Unified Modeling Language (UML) and the Model Driven Architecture.
Benefits of application architecture
Overall, application architecture helps IT and business planners work together so that the right technical solutions are available to meet the business objectives. More specifically, application architecture:
- Reduces cost by identifying redundancies, such as the use of two disparate databases that can be replaced by one;
- Improves efficiency by identifying gaps, such as where one application cannot work with another or where mobile users cannot access essential services need;
- Makes an enterprise platform for accessible and attractive to third-party developers;
- Produces interoperable, modular systems that are easier to use and maintain;
- Helps architect see the big picture and map that against the organization's objectives.