The OSCA architecture: enabling independent product software maintenance
John A. Mills, Lillian Ruston · 2002
The Bellcore OSCA architecture consists of three logical layers: a corporate data layer, a processing layer, and a user layer. Each layer is made up of one or more well-defined deliverable, functional units called building blocks, which communicate through specified interface mechanisms called contracts. A communications software fabric knits these building blocks together. The OSCA architecture was developed to promote the interoperability of large-scale software products consisting of large numbers of programs, transactions, and databases. Interoperability, defined as the ability for products to communicate regardless of implementation dissimilarities, enables independent software maintenance and development in a heterogeneous environment. The three layers and the communications software fabric defined by the OSCA architecture are described. A building block is defined, and the principles to which an OSCA building block adheres are given. The concept of the contract that specifies the interfaces among building blocks is discussed. Finally, the steps taken to converge on the architecture are described.>