  With the advent of potent network technology, software development has
evolved from traditional platform-centric construction to network-centric
evolution. This change involves largely the way we reason about systems as
evidenced in the introduction of Network- Centric Operations (NCO).
Unfortunately, it has resulted in conflicting interpretations of how to map NCO
concepts to the field of software architecture. In this paper, we capture the
core concepts and goals of NCO, investigate the implications of these concepts
and goals on software architecture, and identify the operational
characteristics that distinguish network-centric software systems from other
systems. More importantly, we use architectural design principles to propose an
outline for a network-centric architectural style that helps in characterizing
network-centric software systems and that provides a means by which their
distinguishing operational characteristics can be realized.
