Author :
Wang, Guijun ; Ungar, Liz ; Klawitter, Dan
Abstract :
Software development that assembles prefabricated components faces different challenges than development that starts from scratch with programming constructs. For example, it is often impossible, or at least not economical, to change the source code of components from independent suppliers. But how do you assemble the components without doing that? How do you link them with the services they require? And how do you build a distributed system and ensure system-wide security, performance, and fault tolerance without breaking the system? These are just some of the issues that designers face when using prefabricated components in a distributed system. Object-oriented distributed systems pose some specific problems. Objects communicate by invoking methods on other objects, so they must maintain static information, such as class or interface names. Thus, objects may have strong dependencies, not only on each other but also on outside services. Distributed systems built from prefabricated components require an assembly approach that separates architecture, component, and distributed object infra-structure concerns
Keywords :
distributed object management; distributed programming; object-oriented programming; software architecture; software fault tolerance; architecture; class; interface names; method invocation; object communication; object-oriented distributed systems; prefabricated component assembly; software development; static information; system-wide fault tolerance; system-wide performance; system-wide security; Assembly systems; Bridges; Computer architecture; Fault tolerant systems; Java; Middleware; Object oriented modeling; Programming; Protocols; Quality of service;