An abstract architecture for dependable and flexible distributed applications

  • Authors:
  • Zhuang Hong;Jie Xu;Keith Bennett

  • Affiliations:
  • Research Institute in Software Evolution, University of Durham, Durham DH1 3LE;Research Institute in Software Evolution, University of Durham, Durham DH1 3LE;Research Institute in Software Evolution, University of Durham, Durham DH1 3LE

  • Venue:
  • Systems engineering for business process change
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Distributed software systems are increasingly used to support business applications. This requires three crucial properties of any architecture: first, the system has well defined dependability attributes; second, it is flexible, in that it can be modified to accommodate new or changed applications; and third, the several subcomponents or subsystems can interwork to meet the needs of the large-scale distributed application. Existing work has concentrated on solving these problems as separate issues. A new system abstraction model is proposed here in which these problems are addressed together. Dependability is achieved largely by the use of coordinated atomic actions to structure and control the dynamic behaviour of the system, by providing effective error recovery and supporting dynamic system change. Flexibility and interworking are addressed by multiple architecture levels and component interaction mechanisms. Software components involved in the system are classified into three loosely coupled levels: "core", "internal-business-logic" and "service interfaces". While the interface to the system environment permits the highest level of flexibility, the core components remain relatively stable. An example implementation of the proposed abstract architecture is outlined by means of available technologies including XML, Java Server Pages, CORBA and JDBC.