Skip to main content

Posts

Showing posts from May, 2009

What is an Aggregation?

Aggregation differs from ordinary composition in that it does not imply ownership. In composition, when the owning object is destroyed, so are the contained objects. In aggregation, this is not necessarily true. For example, a university owns various departments (e.g., chemistry ), and each department has a number of professors. If the university closes, the departments will no longer exist, but the professors in those departments will continue to exist. Therefore, a University can be seen as a composition of departments, whereas departments have an aggregation of professors. In addition, a Professor could work in more than one department, but a department could not be part of more than one university. Composition is usually implemented such that an object contains another object. For example,: class Professor; class Department { ... private: // Aggregation Professor* members[5]; ... }; class University { ... private: // Composition Department faculty[20]; ... }; In aggregation, the o

What is service-oriented architecture?

Service-oriented architecture (SOA) is an evolution of distributed computing based on the request/reply design paradigm for synchronous and asynchronous applications. An application's business logic or individual functions are modularized and presented as services for consumer/client applications. What's key to these services is their loosely coupled nature; i.e., the service interface is independent of the implementation. Application developers or system integrators can build applications by composing one or more services without knowing the services' underlying implementations. For example, a service can be implemented either in .Net or J2EE, and the application consuming the service can be on a different platform or language. Service-oriented architectures have the following key characteristics: SOA services have self-describing interfaces in platform-independent XML documents. Web Services Description Language ( WSDL ) is the standard used to describe the services. SOA