An aerial view of the application in design

Photo by Tim van der Kuip on Unsplash

An application is a software system that manages data and present information to the end user. The end user could be a human or any other application or service. As per TOGAF technical reference model (TRM), an application can be of two types:

  • Business Applications: Business applications are the applications that solve a very specific problem related to the particular business domain or industry vertical. For example, the supply-chain application used in the retail industry.
  • Infrastructure Applications: Infrastructure application are general applications, that solve specific problem across the business domain or across industry vertical. For example, payment service, or email client service, or UX design tool etc. These kinds of applications are considered as a part of IT infrastructure.

Over time business applications become infrastructure applications. For example, Facebook developed to React for their use as a business application, but now React is open source using across the industry has become Infrastructure application.

Most of the time we design and develop business applications and make a build or buy decision (Mostly buy) for Infrastructure applications.

Before start working on application architecture, it is suggested to consider the following steps:

  • Understand business scenario or architecture vision that contains problem description, detailed objectives, process description, process steps, information flow, and any relevant technical requirement explicitly provided.
  • Understand the business goal, objective, and constraints.
  • Check if any architecture artifacts are available to use.
  • Analyze baseline application architecture, if available (for existing applications).
  • Analyze target draft application architecture, if provided.

To define target architecture you should refer base architecture of the application. If base architecture is not available or not developed, it can be created first. The base architecture could be a generalized form of the target architecture.

To create target architecture, consider the below steps:

  • Select Architecture resources for example reference models and patterns.
  • Select Architecture viewpoints for example applications’ functional or individual users viewpoints, software engineering viewpoint, app-to-app communication viewpoint, and software distribution viewpoint.
  • As per selected viewpoint, identify tools and techniques, list down all tools and techniques, compare and finalize by doing the formal review with stockholders.
  • Identify and select best practices.

Factors that impact application architecture is the geographical distribution of applications, communication between applications and components, migration from baseline to target application architecture, gap analysis between baseline and target business and application architecture, use cases of application, and security concerns.

Based on the above information and analysis, you will be able to design core application architecture, and then break up this architecture to project-level architecture. Before start working on application architecture, you should be ready with the architecture vision statement, business goals, business architecture and data architecture documents.

Once the target application architecture is created, The Open Group suggests to examine the following to identify:

  • Does this Application Architecture create an impact on any pre-existing architectures?
  • Have recent changes been made that impact the Application Architecture?
  • Are there any opportunities to leverage work from this Application Architecture in other areas of the organization?
  • Does this Application Architecture impact other projects (including those planned as well as those currently in progress)?
  • Will this Application Architecture be impacted by other projects (including those planned as well as those currently in progress)?

Once you have examined your application architecture, modify based on examination if required, and created final architecture then you can proceed to conduct formal stakeholder review. Modify your architecture based on
stakeholder review if required, and finalize the application architecture. To finalize application architecture The Open Group suggests the following steps:

  • Select standards for each of the building blocks, re-using as much as possible from the reference models selected from the Architecture Repository.
  • Fully document each building block.
  • Conduct a final cross-check of overall architecture against business requirements; document the rationale for building block decisions in the architecture document.
  • Document the final requirements traceability report.
  • Document the final mapping of the architecture within the Architecture Repository; from the selected building blocks, identify those that might be re-used and publish via the Architecture Repository.
  • Finalize all the work products, such as gap analysis.

Once you have done with finalization steps, create final application architecture documents. User reports, graphics generated by modeling tools to demonstrate key views of the architecture and send these documents to relevant stakeholders, and incorporate feedback.

Unknown's avatar

Author: Ashutosh Shashi

Technologist

Leave a comment

Design a site like this with WordPress.com
Get started