even as a wrapper to itself. Areas where this pattern
is not applicable at present are where certain tasks
may run in parallel, however; the pattern only makes
it possible to run one task per loop. Given though
that this pattern makes it possible to execute varying
sub-processes by specification at run time, it is a
powerful pattern for implementing variations to a
process without developer intervention. Problems
may arise as the number of activities increases; it
would be helpful if this pattern could eventually be
integrated into a BPEL IDE in a similar manner to
the FlowN construct, which allows for the parallel
execution of a number of tasks specified at runtime.
The Business Rules Variations pattern allows
variations in policy to be implemented by one
process, thus increasing reuse and flexibility; as well
as different organisations being able to use the same
process, should one organisation change its rules, it
will be possible to do so without requiring
modification of the process. The rule definitions
need to be created carefully, however, in order to
take the level of abstraction to a high enough level to
make it usable by different parties, while still
retaining enough relevance to provide value.
These patterns are not independent of each other
either; indeed it could be argued that the Business
Rule Variations pattern employs the Terminology
Variations pattern, such as in our panel constitution
example, where ‘role-name’ is the generic term
which is specialised by the invoking institution at
runtime.
7 CONCLUSIONS
BPEL and SOA provide ways in which product
variation can be implemented far more efficiently
than the alternative of a ground-up solution. There
are, however, still bottlenecks and impediments to
the vision of truly flexible applications. It is our
belief that the patterns presented in this paper could
point in the direction of solutions which could
remove some of these barriers.
We hope that these patterns can be examined,
and improved, to provide future developers with the
tools to build genuinely flexible and customisable
applications.
ACKNOWLEDGEMENTS
This work has been funded in part by the Joint
Information Systems Committee (JISC).
http://www.jisc.ac.uk
REFERENCES
Barn, B., Dexter H., Oussena, S. and Sparks, D. 2006,
SOA-MDK: Towards a Method Development Kit for
Service Oriented System Development, Proceedings of
the 15TH International Conference on Information
Systems Development: Methods and Tools, Theory
and Practice, Budapest, Hungary
Barn, B., Dexter, H., Oussena, S. Petch, J., 2006, An
Approach to Creating Reference Models for SOA
from Multiple Processes. In: IADIS Conference on
Applied Computing, Spain.
Bergstein, H., 2004, JavaServer Faces, O’Reilly.
Csarnecki, K., Eisenecker, U., 2000, Generative
Programming: Methods, Tools and Applications,
Addison-Wesley.
Emmerich, W., 2000, Software Engineering and
Middleware: A Roadmap. In: The Future of Software
Engineering, ACM Press.
Gamma, E., Helm, R., Johnson, R., and Vlissides, J., 1995,
Design patterns: elements of reusable object-oriented
software, Addison-Wesley.
Greenfield, J., and Short, K., 2004, Software Factories:
Assembling applications with patterns, Frameworks,
Models and Tools, John Wiley and Sons.
Johnson, R., 2005. J2EE Development Frameworks,
Computer, Vol. 38.
Johnson, R. 2000, Documenting Framework using
Patterns, ACM SIGPLAN notices, Vol. 27, Number
10.
Juric, M. et al, 2006, Business Process Execution
Language for Web Services 2nd Edition
Kang, K.C., Lee, J., Danohoe, P., 2002, Feature-oriented
Product Line Engineering, IEEE Software, Vol. 19,
Number 4
Newcomer, E., Lomow, G., 2005, Understanding Web
Services with SOA, Addison Wesley Professional
Olivier B., Roberts T., and Blinco K. "The e-Framework
for Education and Research: An Overview". DEST
(Australia), JISC-CETIS (UK), www.e-
framework.org, accessed December 2006.
Parnas, D., 1976, On the Design and Development
Families. IEEE Transaction on Software Engineering,
March 1976.
Van Zyl, J.A., 2002, Product Line Architecture and the
Separation of Concerns, Second Software Product
Line Conference – SPLC 2, San Diego, Kluver
Publication.
ICEIS 2007 - International Conference on Enterprise Information Systems
300