Guiding Network-Centrtic Architectural Design: a Style-Based Approach
With the advance of reliable network technology, software development has progressed from traditional, platform-centric software construction to network-centric software evolution. An evidence of this change is largely reflected in the technologies that are supporting the emerging theory of Network-Centric Operations (NCO). Amongst these technologies is software architecture as a software engineering sub-discipline. Although the concepts of network centricity are widely recognized within the software and system engineering communities, no unified characterization of network-centric software systems is unanimously adopted. The state-of-the-practice is characterized by differing interpretations about how we should design and implement this class of systems. In this research, our focus is twofold: 1) Providing a characterization framework to reason about network-centric software systems and 2) introducing one solution approach to designing this class of system based on a new architectural style, the network-centric architectural style. In so doing, we set the stage for the software architecture community to analyze the "fitness of use" of current architectural styles and architecture design practices within this new network-centric paradigm. In addition, we set the stage for our continued research that will address further software engineering challenges pertinent to network-centric software systems, which include capability-based requirements engineering and quality attributes-based design.