Introduction
Enterprise Architecture Framework has four types of Architectures elements or components namely – Business Architecture, Data, Application & Technology. [BDAT]
In this blog, we shall be describing third pillar – Application Architecture. Other two blogs shared earlier, described Business and Data Architecture.
ADM, the architecture development method [ADM], has three phases where the B (business), D (data), A (application) and T (technology) architectures are developed, both for the “as-is” situation and for the desired “to-be” goal.
It is very evident from the above diagram that, Business Architecture is at the centre describing business need/requirements and business processes while Data and Application architecture gets mapped to Business Architecture converting needs to implementation, supported by technology architecture, acting as Enabler.
Application Architecture
Application architecture is a structural map that provides a guide for how to assemble software applications [Building Blocks] addressing business requirements described using Business Architecture. This system defines how applications interact with one another to meet business needs. This structure comprises software modules, components, systems and the various interactions among them. The various interactions among applications is via Web services and API Management.
The application architecture then gets implemented either by way of Bespoke development or COTS or Hybrid development and its execution model or path can be Waterfall or Spiral or Iterative or Agile-Scrum or SQUAD based SDLC development.
Reference URL – https://zoctech.com/difference-between-pmlc-and-sdlc/
Note –
Architecture Building Blocks (ABBs) are core components designed to be reusable and generic, which means they can be used across multiple solutions. They are the foundation of enterprise architecture and represent key elements independent of specific solutions. ABBs are typically defined at a high level of abstraction and are used to capture the enterprise’s key business requirements, goals, and objectives.
About Application Architecture Models
Application architecture uses front- and back-end development. Front-end development focuses on the users’ experience (UX), while the back-end focuses on the systems that power the application. An architecture can help developers ensure an application meets functional as well as non-functional requirements in terms of being scalable, reliable and available. Application architecture can define how your software interacts with databases and middleware. These interactions ensure your application can scale to meet increasing business demands and user requirements while maintaining stable processes.
Modern application development is an approach that enables you to innovate rapidly by using cloud-native architectures with loosely coupled microservices, managed databases, AI, DevOps support, and built-in monitoring.
These days, we have multiple new architecture models such as
Micro-services Architecture, Cloud Native Architecture, Cloud Based Architecture and Event-driven architecture (EDA), Unified Modelling Language (UML), Object-oriented architecture, Progressive web app architecture, Service-oriented architecture, Server-less architecture
Benefits of Application Architecture
- Removal of redundancies / duplication thus reduced cost / TCO
- Addresses important/value driven business scenarios and helps in addressing business capabilities [A business capability is the ability of an organization to achieve a specific outcome or objective]
- Creates an enterprise platform for application accessibility and third-party integration
- Allows for interoperable, modular systems that are easier to use and maintain thus enables to reduce TCO
- Helps architect “see the big picture” and align software strategies with the organization’s overall business objectives and goals
Example of Application Architecture
Enterprise Architecture Certification @Zoc
Enterprise Architecture certification at Zoc Learnings will help Architects to comprehend importance of developing BDAT and following ADM.
Summary
Application Architecture depicts interaction with different modules of application and intra-application information exchange thus relating to Business architecture in the centre, followed by Data & Application Architecture getting mapped to business needs and objectives while technology architecture acting as enabler.
These four architecture types will be following industry best practices of architecture such as Enterprise Architecture, Zachman and ArchiMate.