Design for Reuse
by
Dinh Khoa Nguyen
—
last modified
Apr 26, 2012 12:01
—
filed under:
KnowledgeModel
Definitions
Term: Design for Reuse |
Domain: Cross-cutting issues | ||||
---|---|---|---|---|---|
Engineering and Design (KM-ED) |
Adaptation and Monitoring (KM-AM) |
Quality Definition, Negotiation and
Assurance (KM-QA) |
Generic (domain independent) |
||
D o m a i n : L a y e r s |
Business Process Management (KM-BPM) |
Design for Reuse is design process to support the reusability of a business
process |
|||
Service Composition and
Coordination (KM-SC) |
The Design for Reuse is a design for a generic service
that could be used in multiple contexts in a composite service. The Design for
Reuse includes techniques such as identification and granularity of
services |
The Design for Reuse could include the common quality of service level to be
used in a service composition |
|||
Service Infrastructure (KM-SI) |
The Design for Reuse is a design process to ensure a
common quality of service definition in
terms of performance dimensions |
||||
Generic (domain independent) |
When designing services it is important to be able to
design them for reuse so that they can perform a given function
wherever this function is required within an enterprise. To design for
service reuse one must make services more generic, abstracting away
from differences in requirements between one situation and another, and
attempting to use the generic service in multiple contexts where it is
applicable. Designing a solution that is reusable requires keeping it
as simple as possible. There are intuitive techniques that facilitate
reuse that are related to design issues such as identification and
granularity of services. These include looking for common behavior that
exists in more than one place in the system and trying to generalize
behavior so that it is reusable. When designing a service-based application, it is possible to extract common behavior and provide it by means of a generic services so that multiple clients can use it directly. It is important, however, that when designing enterprise services that business logic is kept common and consistent across the enterprise. Nevertheless there are cases where finetuning, specialization or variation of business logic functionality is required. Consider for instance, discounting practices that differ depending on the type of customer being handled. In those cases it is customary to produce a generalized solution with customization points to allow for service variations. [Papazoglou 2007] |
Designing products, processes, and systems for performance in a commercial 'afterlife' [Wikipedia] |
Competencies
- Tilburg: Service Design & Modeling Methodologies; http://www.tilburguniversity.nl/eriss/research/; Willem-Jan van den Heuvel, Khoa Nguyen, Mike Papazoglou
- INRIA: Component-Based Software Development;http://www.irisa.fr/triskell/;
Brice Morin, Grégory Nain, Olivier Barais, Franck Chauvel, Jean-Marc
Jézéquel, Françoise André, Jean-Louis Pazat
References
- [Papazoglou 2007] Michael P. Papazoglou, Web Services: Principles and Technology, Prentice Hall, 2007
- [Wikipedia] Sustainable Design: http://en.wikipedia.org/wiki/Sustainable_design