Header image
Oxford Architectural Design & Consulting
 
 
Application Architecture

Application Architecture deals with how applications are developed and interact with each other. Building a suite of applications that interact across your intranet with a service oriented approach to distributing core business logic and information will utilize a different Application Architecture than a suite of applications that run on the same PC and share common functionality. In either case, however, it makes sense to look at the Application Architecture from two perspectives, namely the functional and integration views. The level of detail you want in either view depends on the type of IT shop you have. If you develop applications in house, then you will want to explore the underlying components of your applications. If you are mostly an integration shop that purchases off-the-shelf software and provide some “integration glue” to allow them to communicate, then you may only need to deal with the applications as “black boxes.”

The Application Architecture is composed of two sections, the design of the applications and the use case realizations that depict how past projects have used the applications and their components to realize the functional requirements of the project’s use cases. The realizations are archived and maintained in the Application Architecture so they are available to future projects that may need to modify the use cases or want to leverage what has been done on previous projects. Use case realizations for new projects will reside in the projects area of the enterprise model until they have been completed. At that time, their results will be moved to the Use Case Realization View and the various architectural views will be updated if the project has impacted them.
To fully describe the applications and the use case realizations that use them, we use different sub views including subsets of the other architectural views.
bullet

Behavioral View

 

This view shows what the application or use case realization does. The various behavior diagrams can be used, i.e. activity, state machine, communication, sequence, timing, and interaction overview diagrams.

bullet

Functional View

 

The Functional View of the Application Architecture depicts how the applications (or their components, depending in the level of detail you wish to obtain) interact with each other. Applications or their components communicate through well defined interfaces. Depending on your underlying integration architecture, these communications may be direct or indirect. Regardless, it is still valuable to understand with which applications a given application communicates so you understand the risk involved when modifying a dependent application. The Functional View also shows the general mechanism by which the applications communication, e.g. by file transfer, synchronous or asynchronous request, etc. With Sparx EA, these can be realized as Quick Links to guide the designer towards conformance to the architectural standards you have created.

bullet

Integration View

  The Integration View of the Application Architecture shows how applications (or their components) actually interact. Whereas the Functional View may show that Application A communicates with Application B via a synchronous request, the Integration View may show that they communicate asynchronously via an enterprise service bus with adapters handing the protocol change from synchronicity to asynchronicity and back.
bullet Data View
  This is a subset of the Data Architecture (see below) that is directly related to the application or the use case realization. It includes database tables and local data utilized by the application or use case realization.
bullet Technology View
  This is a subset of the Technology Architecture that is directly related to the application or the use case realization. It includes the operating systems, DBMSs, web servers, application servers and other technology that are required for the application or use case realization.
bullet Deployment View
  This is a subset of the Deployment Architecture that is directly related to the application or the use case realization. It shows on which computers the various application components are deployed along with the technology components they require,.
Modeling Enterprise Architecture