Home‎ > ‎Enterprise Architecture‎ > ‎

Application architecture

Application architecture is concerned with the way different applications are interrelated and integrated. The main purpose of application architecture is to make sure that multiple applications can work with each other. Application architecture ensures scalability, reliability, and availability of the applications a company uses.

Application architecture plays a very important role in the proper functioning of a business. Not well-designed application architecture may be very costly for a company. According to Gartner Inc research, 40 percent of downtime in corporations is caused by problems with application architecture. This translates into big financial loses for companies. Downtime caused by application architecture problems accounts for about 32 percent of overall downtime costs. So well-designed application architecture adds a lot of value to the company by reducing downtime costs and building better business capabilities (Baltzan and Phillips).

Application architecture strategy

Strategy involves long-term plans of development and growth of a company. Application architecture strategy, therefore, must be consistent with the overall strategy of a company. For example, if a company has ambitious plans for aggressive acquisitions, its application architecture should be ready to encompass increased number of applications. In other words, application architecture must be scalable and flexible. A good technique is to use applications as building blocks. This will help improve productivity and reduce maintenance costs. Another advantage is that capabilities can be easily increased and accuracy easily tracked. By using set of core applications as building blocks, you can:

  • “Define the gap between your current and planned information technology (IT) environments.
  • Build operational models to transition to new application environments that can scale to support corporate growth.
  • Share information across departments (and enhance collaboration at the same time).
  • Lay the foundation for future growth” (ibm.com).

Otherwise, non-consistency between the overall strategy and application architecture strategy may cause companies a lot of distress.

Application architecture types and patterns

Application architecture may be classified into types based on the application architecture pattern that it follows. There are the following application architecture patterns:

  • “Client-Proxy Server: Acts as a concentrator for many low-speed links to access a server.
  • Customer Support: Supports complex customer contact across multiple organizations.
  • Reactor: Decouples an event from its processing.
  • Replicated Servers: Replicates servers to reduce burden on central server.
  • Layered Architecture: A decomposition of services such that most interactions occur only between neighboring layers.
  • Pipe and Filter Architecture: Transforms information in a series of incremental steps or processes.
  • Subsystem Interface: Manages the dependencies between cohesive groups of functions (subsystems).
  • Service: Users accessing transactions on a 24x7 basis (also known as user-to-business)
  • Collaboration: Users working with one another to share data and information (also known as user-to-user)
  • Information Aggregation: Data from multiple sources aggregated and presented across multiple channels (also known as user-to-data)
  • Extended Enterprise: Integrating data and processes across enterprise boundaries (also known as business-to-business)” (wikipedia.org)

There are many websites where you can find information about application architecture and patterns. For example, patterns and practices application architecture guide 2.0

The job of application architect

An application architect is an important person in the structure of a company. His main task is to create well-designed application architecture. He should very well understand the functioning of different applications a company uses and their interrelations. He should always keep in mind such things as interoperability, scalability, reliability, and availability.  Here is a sample application architect job description