Modeling and Analyzing Software Ecosystems - Schwichtenberg, Bahar
In den letzten Jahren haben sich Software-Ökosysteme als neue, erfolgreiche Geschäftsform etabliert. Unternehmen agieren hierbei als Anbieter von Software-Plattformen, auf denen Drittanbieter Softwarelösungen für den Markt anbieten können. Etablierte Beispiele sind hierbei sogenannte App-Stores, die z.B. von Google oder Apple angeboten werden. Beim Aufbau von Software-Ökosystemen müssen vom Plattformanbieter viele architektonische Entwurfsentscheidungen getroffen werden. Bisher gibt es keine Architekturrichtlinien und -werkzeuge, die den Entwurf einer Ökosystemarchitektur unterstützen. Dadurch fehlt hier systematisches, wiederverwendbares Wissen. Plattformanbieter müssen auf ad-hoc Entscheidungen zurückgreifen. Dies kann dann zu Problemen im Betrieb der Software-Plattformen führen, zu erhöhten Ausfallrisiken und Mehrkosten. Der Mangel an Architekturwissen manifestiert sich konkret in zwei Gruppen von Herausforderungen: Erstens fehlt eine Wissensbasis zu Architekturalternativen und zweitens fehlt es an methodischem Wissen zu Entwicklung und Betrieb von Software-Ökosystemen. Eine Architekturwissensbasis würde Orientierungshilfen zu den Bestandteilen von Software-Ökosystemen und deren Abhängigkeiten geben, während methodisches Wissen die Erstellung dieser Systeme erleichtern würde. In der Dissertation werden diese Herausforderungen durch die Entwicklung des Frameworks SecoArc für die Modellierung von Software-Ökosystemen angegangen. Der Beitrag der Dissertation ist zweifach: 1. Das SecoArc-Framework umfasst eine Architekturwissensbasis, die wiederverwendbare Architekturentwurfsentscheidungen von Software-Ökosystemen enthält. Die Wissensbasis wurde entwickelt, indem das Architekturwissen bestehender Ökosysteme sowie aus existierender Fachliteratur ermittelt wurde und in einer Produktlinie für Software-Ökosysteme konsolidiert wurde. Die Produktlinie umfasst architektonische Gemeinsamkeiten und Variabilitäten von Software-Ökosystemen. 2. Das SecoArc-Framework liefert methodisches Wissen, um die Ökosystemarchitektur in Modellen zu entwerfen und zu analysieren. Dieses Wissen wurde entwickelt, indem drei Architekturmuster identifiziert wurden. Jedes Muster erfasst unterschiedliche Beziehungen zwischen architektonischen Entwurfsentscheidungen zu den Qualitätsmerkmalen einer Ökosystemgesundheit und der Erreichung von Geschäftszielen. Die Architekturmuster und die Produktlinie wurden dazu genutzt, ein Modellierungsframework zu entwickeln und in Form eines Prototypen umzusetzen, welches einen Entwurfsprozess, eine Modellierungssprache und eine Architekturanalysetechnik umfasst. Es erleichtert das Modellieren, Analysieren und Vergleichen von Ökosystemarchitekturen. Die Ergebnisse der Dissertation wurden im Rahmen von zwei Studien evaluiert. In der ersten Validierungsstudie wurden das Framework sowie der Prototyp verwendet, um zwei alternative Ökosystemarchitekturen zu entwerfen und zu analysieren. In der zweiten Studie wurde eine Analyse von existierenden Ökosystemen basierend auf den architektonischen Variabilitäten des Frameworks durchgeführt.
Keywords: Enterprise Architecture; Architectural Design Decisions; Open Platforms

Modeling and Analyzing Architectural Diversity of Open Platforms - Schwichtenberg, Bahar; Schwichtenberg, Simon; Küster, Jochen; Zimmermann, Olaf; Engels, Gregor (Advanced Information Systems Engineering)

Design Options of Store-Oriented Software Ecosystems: An Investigation of Business Decisions - Jazayeri, Bahar; Zimmermann, Olaf; Engels, Gregor; Küster, Jochen; Kundisch, Dennis; Szopinski, Daniel (Proceeding of International Symposium on Business Modeling and Software Design)
Nowadays companies like Apple create ecosystems of third- party providers and users around their software platforms. Often online stores like Apple App Store are created to directly market third-party solutions. We call such ecosystems store-oriented software ecosystems. While the architecture of these ecosystems is mainly derived from busi- ness decisions of their owners, ecosystems with greatly different archi- tectural designs have been created. This diversity makes it challenging for future ecosystem providers to understand which architectural design is suitable to fulfill certain business decisions. In turn, opening a plat- form becomes risky while endangering intellectual property or scarifying quality of services. In this paper, we identify three main design options of store-oriented software ecosystems by classifying existing ecosystems based on similarities in their business decisions. We elaborate on the design options, discuss their main contributions, and provide exemplary ecosystems. Our work provides aspiring ecosystem providers with the reusable knowledge of existing ecosystems and helps them to take more informed architectural decisions and reduce risks in future.

Patterns of Store-oriented Software Ecosystems: Detection, Classification, and Analysis of Design Options - Jazayeri, Bahar; Zimmermann, Olaf; Küster, Jochen; Engels, Gregor; Kundisch, Dennis; Szopinski, Daniel (The Latin American Conference on Pattern Languages of Programs (SLPLoP))
Software companies nowadays create ecosystems of users and third-party providers around their platforms. They often provide online stores so that the third-party developments can be exposed to users directly. The resulting ecosystems differ significantly from each other in their architectural designs because their providers differ in terms of business goals and contexts. Until now, this architectural diversity and rationale behind it are not well-understood. Therefore, it is not clear which software features contribute to ecosystem’s success with respect to certain business goals and context. This hinders systematic creation of ecosystems in the future. Thus, decision-making becomes too risky; for future ecosystem providers, which may lead to creation of inefficient ecosystems that lack critical features, and for third-party providers to rely on ad-hoc choices while deciding on suitability of an ecosystem for their future career. In this paper, we introduce three design patterns for store- oriented software ecosystems by classifying the design decisions, business goals, and context of 111 store-oriented software ecosystems. Each design pattern provides an architectural solution to achieve a different business goal while supporting a different context. We discuss how the design patterns are applied together in order to achieve more business goals. Our work supports ecosystem and third-party providers by sharing practice-proven architectural solutions, helping them to take informed architectural decisions and reduce technical risks.

On-The-Fly Computing: Ein Referenzmodell für individualisierte IT-Dienstleistungen in dynamischen Märkten - Szopinski, Daniel; Jazayeri, Bahar; Engels, Gregor; Kundisch, Dennis (Proceedings of the Workshop Enterprise Architecture Management in Forschung und Praxis, INFORMATIK 2017, Chemnitz, Germany)
Das Enterprise Architecture Management stellt umfangreiche Methoden, Modelle und Frameworks für die Modellierung von Unternehmensarchitekturen zur Verfügung. Die Entwicklung von Software und deren Integration in IT-Landschaften ist heutzutage zunehmend von Komplexität und Unsicherheit geprägt. Dieser Beitrag (Research-in-progress) möchte ein neues Paradigma – das „On-The-Fly Computing“ – vorschlagen, um diesen Herausforderungen zu begegnen, mögliche Lösungsansätze zu diskutieren sowie erste Ergebnisse eines Referenzmodells für individualisierte IT-Dienstleistungen in dynamischen Software-Märkten dokumentieren.

On-The-Fly Computing Meets IoT Markets - Towards a Reference Architecture - Jazayeri, Bahar; Schwichtenberg, Simon (Proceedings of the International Conference on Software Architecture (ICSA) IoT-ASAP Workshop)
The Internet of Things (IoT) connects the things of our everyday life and supports usin our common activities.Several markets for IoT services have been created. These markets enable IoT users to search and compose services in order to support an IoT activity.However, existing IoT markets like IFTTT (If This Then That) are not convenient for users with respect to service discovery and composition.The objective of On-the-fly (OTF) computing is to configure and provide software markets that fulfill individual users' wishes by the automatic on-the-fly composition of single services.The architecture framework of On-the-fly computing markets helps architects to systematically develop these systems in different domains.In this paper, we use our OTF architectural framework to examine the requirements of a reference architecture for IoT markets.Furthermore, we perform a comparison between the architecture of IFTTT as an existing IoT market with this reference architecture. The results show how existing IoT markets can be improved. In return, the practical knowledge of IFTTT is taken to the reference architecture.This knowledge helps to overcome the limitations of today's IoT markets or creating new markets in the future.

On the Necessity of an Architecture Framework for On-The-Fly Computing - Jazayeri, Bahar; Schwichtenberg, Simon (Proceedings of Softwaretechnik-Trends Workshops)

A Variability Model for Store-oriented Software Ecosystems: An Enterprise Perspective (Supplementary Material) - Jazayeri, Bahar; Zimmermann, Olaf; Engels, Gregor; Kundisch, Dennis

A Variability Model for Store-oriented Software Ecosystems: An Enterprise Perspective - Jazayeri, Bahar; Zimmermann, Olaf; Engels, Gregor; Kundisch, Dennis (Proceedings of the 15th International Conference on Service Oriented Computing (ICSOC))
Pioneers of today’s software industry like Salesforce and Apple have established successful ecosystems around their software platforms. Architectural knowledge of the existing ecosystems is implicit and fragmented among online documentation. In protection of intellectual property, existing documentation hardly reveals influential business strategies that affect the ecosystem structure. Thus, other platform providers can hardly learn from the existing ecosystems in order to systematically make reasonable design decisions with respect to their business strategies to create their own ecosystems. In this paper, we identify a variability model for architectural design decisions of a store-oriented software ecosystem product line from an enterprise perspective, comprising business, application, and infrastructure views. We derive the variability model from fragmentary material of existing ecosystems and a rigorous literature review using a research method based on the design science paradigm. To show its validity, we describe real-world ecosystems from diverse domains using the variability model. This knowledge helps platform providers to develop customized ecosystems or to recreate existing designs in a systematic way. This, in turn, contributes to an increase in designer and developer productivity.

Features of IT Service Markets: A Systematic Literature Review (Supplementary Material) - Jazayeri, Bahar; Platenius, Marie Christin; Engels, Gregor; Kundisch, Dennis