Composite applications combine services from plurality of existing applications
and information sources. Via user interface of such a composite application, an
end-user wants to access different combinations of existing services in different
usage contexts. This invention describes a method and apparatus for dynamically
combining existing services without having to program case-by-case for each usage
context. In this method, one constructs and stores a graph of object types and
relationships among parameters of existing services and the objects of a composite
application. By traversing paths in the stored graph, the apparatus (1) dynamically
constructs menus of services relevant to any usage context, (2) automatically computes
necessary inputs to a service selected from a menu and executes the service, and
(3) automatically propagates changes and invokes appropriate services whenever
objects are updated. The net result is the avoidance of case-by-case programming
done in the prior art to construct composite applications.