- Annette Beyer (for administrative matters)
Service orientation has become a major trend in computer science over the course of the last decade. Cloud computing has recently begun to move in the same direction, towards the virtualization of resources and service offerings. In particular, cloud computing is receiving significant attention from companies. Although the initial idea in service orientation was to standardize the relevant services and distribute them across the Internet, we see that an increasing amount of customization must be done to really meet customer needs. Modern platforms are often required to offer "customized" versions, which may be imposed by a particular class of customers, specific marketing- or business-related decisions, or the current context of fruition. These characteristics are often referred to as the ability to develop and deliver services that can accommodate the needs of different tenants. This is true both for business models that rely on customer-specific deployment of service-based systems, and for centrally hosted cloud offerings. As in traditional system development, a "one size fits all" approach is not adequate.
This seminar will focus on service platforms, a concept that includes but is not limited to cloud computing. A service platform combines technical software infrastructure with domain- or business-specific services built according to the service-oriented development paradigm. Such services often require significant customization to be useful at a practical level. Providing this customization on a large scale correctly and cost-effectively is an extremely demanding task. This lesson was learned the hard way by a number of companies in traditional software engineering, leading to the development of product line engineering. While they provide a significant solution to these problems, they have been evolving over the years, and sometimes we need dynamic software product lines to address the challenging issues.
This seminar will explore the range of different approaches towards customized service offerings in both current and future service-based environments, and will address the potential combination of service-oriented and product line engineering ideas. These concepts will be thoroughly discussed and a comprehensive taxonomy proposed.
Service-orientation has become a major trend in computer science over the last decade. More recently cloud computing is leading into the same direction: a virtualization of resources and service offerings. Especially cloud computing is getting very significant attention by companies. While the initial idea in service orientation was to have the relevant services standardized and distributed across the internet, we also see that an increasing amount of customization must be done to really meet customer needs. As in traditional system development, one size fits all is not enough.
This seminar focused on the notion of service platforms, a concept including, but not limited to, cloud computing. A service platform is a combination of technical infrastructure along with domain-specific or business-specific services built according to the service-oriented development paradigm. Especially the latter in practice often requires significant customization in order to be practically useful. Providing such customizations on a massive scale cost-effectively is an extremely demanding task. This is a lesson that has been learned hard by a number of companies in traditional software engineering. As a consequence the concept of product line engineering was conceived.
The focus of this seminar was to explore the range of different approaches towards customized service offerings in current - and future - service-based environments. In particular, it was a goal to address the potential for a combination of service-orientation with product line engineering ideas. In this regard, this seminar was the first of its kind.
Diversity of Topics
The expected diversity of inputs that was desired for the seminar was well achieved. This is shown by the diversity of individual presentations summarized in chapter 3. Also the working groups that were established had participants from multiple communities. These working groups discussed the following topics:
Quality Assurance and Validation in the Context of Customization: Here, a broad range of different problems and techniques could be identified, related both to problems of varying of the object of the quality assurance as well as to the variation of the expections (qualities).
Mobility Devices and Customization: This working group focused particularly on the difficulties that arise from a mobile context with a lot of variation over time and limited resources.
Architecting for Platform Customization: Architectures are fundamental to any software system, so this group addressed what architectural techniques are important to create customizable platforms.
Energy-Aware Customization: Here, the focus was on the issue of energy-awareness and, in particular, energy-efficiency, which is particularly relevant to mobile platforms. By adequate customization, this can be improved for a platform.
Customizing Service Platforms for Agile Networked Organizations: The organizational context of service platform needs to be taken into account as well as a platform needs to fit to the relevant business context. Hence customization needs to be done on both levels in a synchronized manner.
Binding time aspects of service platform customization: This working group focused on when (i.e., in which lifecycle phase) the customization is done, as this has significant impact on the details of the technologies that can be used.
Reflections on the Format
A main goal of the seminar was to have a significant portion of the time for discussion. In order to achieve this, we decided to not require presentations from everyone associated with a long introduction round. Rather, we decided to ask everyone for a poster to present her- or himself and describe the personal interest and relation to the topic. Overall this novel approach was well received by the participants. The poster walls were set up in the coffee break area outside the room. (Thanks to everyone at Dagstuhl for their support.) This allowed for a casual browsing of the posters in every coffee break during the seminar. Each poster also had a picture of the participant, this also helped to get to know each other.
- Marco Aiello (University of Groningen, NL) [dblp]
- Luciano Baresi (Polytechnic University of Milan, IT) [dblp]
- Karina Barreto Villela (Fraunhofer IESE - Kaiserslautern, DE) [dblp]
- Deepak Dhungana (Siemens AG - Wien, AT) [dblp]
- Peter Dolog (Aalborg University, DK) [dblp]
- Schahram Dustdar (TU Wien, AT) [dblp]
- Holger Eichelberger (Universität Hildesheim, DE) [dblp]
- Gregor Engels (Universität Paderborn, DE) [dblp]
- Sam Guinea (Università di Milano, IT) [dblp]
- Waldemar Hummer (TU Wien, AT) [dblp]
- Christian Inzinger (TU Wien, AT) [dblp]
- Patricia Lago (VU University Amsterdam, NL) [dblp]
- Grace A. Lewis (Carnegie Mellon University - Pittsburgh, US) [dblp]
- Georg Leyh (Siemens AG - Erlangen, DE) [dblp]
- Tiziana Margaria (Universität Potsdam, DE) [dblp]
- Nenad Medvidovic (University of Southern California - Los Angeles, US) [dblp]
- Nanjangud C. Narendra (IBM India - Bangalore, IN) [dblp]
- Leonardo Passos (University of Waterloo, CA) [dblp]
- Cesare Pautasso (University of Lugano, CH) [dblp]
- Manuel Resinas (University of Sevilla, ES) [dblp]
- Florian Rosenberg (IBM TJ Watson Research Center - Yorktown Heights, US) [dblp]
- Antonio Ruiz Cortés (University of Sevilla, ES) [dblp]
- Andreas Rummler (SAP Research Center - Dresden, DE) [dblp]
- Klaus Schmid (Universität Hildesheim, DE) [dblp]
- Jacek Serafinski (NextDayLab Sp. z o.o. - Poznan, PL) [dblp]
- Damian Andrew Tamburri (Free University of Amsterdam, NL) [dblp]
- Frank van der Linden (Philips Medical Systems - Best, NL) [dblp]
- Wenjun Wu (Beihang University - Beijing, CN) [dblp]
- Uwe Zdun (Universität Wien, AT) [dblp]
- software engineering
- Service-Oriented Architectures
- Service Platforms
- Cloud Computing
- Product Line Engineering
- Variability Management