An Approach for Developing Service Oriented Product Lines

Service Orientation (SO) is a relevant promising candidate for accommodating rapidly changing user needs and expectations. Adopting SO in practice for real software and system development, however, has uncovered several challenging issues, such as how to identify services, determining configurations of services that are relevant to users' current context, and maintaining system integrity after configuration changes. In this paper, we propose a method that addresses these issues by adapting a feature-oriented product line engineering approach. Our method is based on the feature analysis technique that enables us to identify services of a service oriented system. The method is notable in that it guides developers to identify services at the right level of granularity, to map users' context to relevant service configuration, and to maintain system integrity in terms of invariants and pre/post conditions of services. We also propose a heterogeneous style based architecture model for developing such systems.

[1]  David S. Rosenblum,et al.  Integrating C2 with the Unified Modeling Language , 1997 .

[2]  Liang-Jie Zhang,et al.  S3: A Service-Oriented Reference Architecture , 2007, IT Professional.

[3]  Ali Arsanjani,et al.  Service-Oriented Modeling and Architecture for Realization of an SOA , 2006, 2006 IEEE International Conference on Services Computing (SCC'06).

[4]  Richard N. Taylor,et al.  A language and environment for architecture-based software development and evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[5]  MeyerBertrand,et al.  Design by Contract , 1997 .

[6]  Jaejoon Lee,et al.  Feature Binding Analysis for Product Line Component Development , 2003, PFE.

[7]  Haibin Zhu,et al.  Building reusable components with service-oriented architectures , 2005, IRI -2005 IEEE International Conference on Information Reuse and Integration, Conf, 2005..

[8]  Matjaz B. Juric,et al.  Business process execution language for web services , 2004 .

[9]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[10]  Bertrand Meyer,et al.  Advances in object-oriented software engineering , 1992 .

[11]  Dirk Krafzig,et al.  Enterprise SOA: Service-Oriented Architecture Best Practices , 2004 .

[12]  Kyo Chul Kang,et al.  A feature-oriented approach to developing dynamically reconfigurable products in product line engineering , 2006 .

[13]  C.A. Long Software product lines: practices and patterns [Book Review] , 2002, IEEE Software.

[14]  Jan Mendling,et al.  Business Process Execution Language for Web Services , 2006, EMISA Forum.

[15]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[16]  Jan Bosch,et al.  Software Reuse: Methods, Techniques, and Tools , 2004, Lecture Notes in Computer Science.

[17]  dizayn İç dekor Design by Contract , 2010 .

[18]  Jaejoon Lee,et al.  A feature-oriented approach to developing dynamically reconfigurable products in product line engineering , 2006, 10th International Software Product Line Conference (SPLC'06).

[19]  Yérom-David Bromberg,et al.  The Amigo Service Architecture for the Open Networked Home Environment , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[20]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[21]  Klaus Schmid,et al.  PuLSE: a methodology to develop software product lines , 1999, SSR '99.

[22]  Jaejoon Lee,et al.  Feature-oriented variability management in product line engineering , 2006, CACM.

[23]  Jaejoon Lee,et al.  Concepts and Guidelines of Feature Modeling for Product Line Software Engineering , 2002, ICSR.

[24]  William C. Chu,et al.  Feature analysis for service-oriented reengineering , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[25]  Frank J. van der Linden Software Product-Family Engineering , 2003, Lecture Notes in Computer Science.