Personal tools
You are here: Home Knowledge Model REPOSITORY of Terms D Design for Reuse

Design for Reuse

by Dinh Khoa Nguyen last modified Apr 26, 2012 12:01
— filed under:

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

 

 

References

  • [Papazoglou 2007] Michael P. Papazoglou, Web Services: Principles and Technology, Prentice Hall,  2007
  • [Wikipedia] Sustainable Design: http://en.wikipedia.org/wiki/Sustainable_design

Document Actions
  • Send this
  • Print this
  • Bookmarks

The Plone® CMS — Open Source Content Management System is © 2000-2017 by the Plone Foundation et al.