The Internet provides a global open infrastructure for exchanging and sharing of various resources for the people all over the world. The rapid development and wide application of the Internet makes it a new mainstream platform for software to be used, developed, deployed and executed. Meanwhile, as a dynamic, open and ever-changing environment, Internet impose new requirements on software.
More specifically, in order to adapt to such an environment, the structure model of software system will be autonomous, context-sensitive, continuous-reactive, evolutionary, and proactive, etc.. The software entities dispersed on distributed nodes over the Internet, which evolved from objects in object-oriented methodology to software components (component-based software development), now are further turned into self-contained, autonomous and adaptive software services in service-oriented computing of state-of-arts. These software entities will be coordinated by coordinators statically and dynamically in various kinds of interaction styles (passively and actively) such as integration, cooperation, orchestration to achieve flexible design objectives. So a so-called “software-web” instead of information-web is weaved. This software-web as a whole is able to perceive the changes of open, dynamic, and uncertain environment and respond them in the way of transforming the architecture. Furthermore, the flexible design objective of the software-web is reflected by its exhibiting several compatible goal-directed behaviors according to its up-to-date knowledge about the outside environment.
In order to support various new application styles and accommodate the fundamental change of underlying support platform, Internetware is introduced to describe the emerging software paradigm for the Internet computing environment. Internetware is a software paradigm for Internet Computing where software is architected as the Internet, developed with the Internet, and executed on the Internet. Sometimes Internetware is also used to denote such software itself. Specifically, Internetware can be defined as follows: an Internetware system is a software system consists of self-contained, autonomous entities situated in distributed nodes of the Internet and coordinators connecting these entities statically and dynamically in various kinds of interaction styles (passively and actively). As a whole, it is able to perceive the changes of open and dynamic environment such as Internet, respond to changes in the way of architectural transformation, and exhibit context-aware、adaptive and trustworthy behaviors in the open and dynamic environment in order to meet its flexible design objectives. Internetware challenges many aspects of software technologies, from operating platforms, programming models, to engineering approaches, etc.
Internetware was first proposed by Chinese researchers from Peking University and Nanjing University in 2003.Through the support from two Chinese National Basic Research Programs (also known as 973 programs) from 2002–2008 and 2009–2013, approximately 80 researchers from different Chinese universities, institutes and companies have participated in the research of Internetware, and a large number of papers have been published.