Internet provides a global open infrastructure for exchanging and sharing of various resources for the people all over the world. The rapid development and the wide application of Internet make it become a new mainstream platform for software to be used, developed, deployed and executed. With the vision of “Internet as computer”, many application styles such as pervasive computing, grid computing, service computing and cloud computing occur on this open and dynamic environment. In order to support various new application styles and accommodate the fundamental change of the underlying supporting platform, many specific software technologies such as service-oriented architecture are proposed for current practices. However, although these technologies are useful and popular, they are far from systematic and complete because no uniformed software methodology and technology system like the object-oriented one is provided.
Conceptually speaking, in order to adapt the software system to such a
new environment, its structure model should be autonomous,
cooperative, situational, evolvable, emergent, trustworthy, 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 are coordinated statically and dynamically in various kinds
of interaction styles (passively and actively) such as integration,
cooperation, and 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 architectures. 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. A portmanteau term “Internetware” is used to
denote the future software-web in open and dynamic environment, which
can be defined as follows: an Internetware system is a software system
consists of the self-contained, autonomous entities situated in the
distributed nodes of Internet and the coordinators connecting these
entities statically and dynamically in various kinds of interaction
styles (passively and actively). As a whole, an Internetware system is
able to perceive the changes of open and dynamic environment such as
Internet, respond to the 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.
For recent updates, please scan OR code: