SFB 901 - Service Specification Language

0 downloads 0 Views 816KB Size Report
with composed software solutions and complementary environments such as operating plat- forms ... with respect to their business strategies and to build their own ecosystems. .... Vodafone 360 ...... Transform-Enterprise-Mobility.html. 48.
A Variability Model for Store-oriented Software Ecosystems: An Enterprise Perspective1 (Supplementary Material) Technical Report Version: 0.1

Bahar Jazayeri, Olaf Zimmermann, Gregor Engels, Dennis Kundisch University of Paderborn Zukunftsmeile 1 D-33102 Paderborn, Germany [email protected]

Paderborn, June 24, 2017

1

This work was supported by the German Research Foundation (DFG) within the Collaborative Research Centre “On-The-Fly Computing” (CRC 901).

Contents 1. Introduction

1

2. A Taxonomy for Variabilities of Architectural Design Decisions of Storeoriented Software Ecosystems 2.1. A Method for Taxonomy Development and Its Application in Information Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Meta Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. Ending Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4. Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5. Iteration 1: Empirical-to-Conceptual Approach . . . . . . . . . . . . . . . . 2.5.1. Identifying New Subset of Ecosystems . . . . . . . . . . . . . . . . 2.5.2. Identifying Common Characteristics and Grouping Ecosystems . . . 2.5.3. Grouping Characteristics into Dimensions to Create Taxonomy . . . 2.5.4. Checking Against Ending Conditions . . . . . . . . . . . . . . . . . 2.6. Iteration 2: Conceptual-to-Empirical Approach . . . . . . . . . . . . . . . . 2.6.1. Conceptualize New Characteristics and Dimensions of Ecosystems . 2.6.2. Examine Ecosystems for the Characteristics and Dimensions . . . . . 2.6.3. Revise Taxonomy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.4. Checking Against Ending Conditions . . . . . . . . . . . . . . . . . 2.7. Iteration 3: Empirical-to-Conceptual Approach . . . . . . . . . . . . . . . . 2.7.1. Identifying New Subset of Ecosystems . . . . . . . . . . . . . . . . 2.7.2. Identifying Common Characteristics and Grouping Ecosystems . . . 2.7.3. Grouping Characteristics into Dimensions to Create Taxonomy . . . 2.7.4. Checking Against Ending Conditions . . . . . . . . . . . . . . . . . 2.8. Iteration 4: Conceptual-to-Empirical Approach . . . . . . . . . . . . . . . . 2.8.1. Conceptualize New Characteristics and Dimensions of Ecosystems . 2.8.2. Examine Ecosystems for the Characteristics and Dimensions . . . . . 2.8.3. Revise Taxonomy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8.4. Checking Against Ending Conditions . . . . . . . . . . . . . . . . . 2.9. Iteration 5 & Iteration 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 3 5 5 5 5 6 7 7 9 9 10 11 11 12 12 13 13 14 15 15 15 15 16 17

Bibliography

19

A. Initial Inspection of existing Ecosystems

21

3

III

IV

C ONTENTS

B. Sources of Literature Review

23

C. List of Technical Links

27

D. Iteration 3: Inspection of existing Ecosystems

29

Chapter 1. Introduction Today, the software industry delivers more than (a family of) software: it rather provides users with composed software solutions and complementary environments such as operating platforms, execution environment, and preconfigured assets. A software ecosystem is a collaborative architectural approach to create a market on top of software platforms by opening them to external actors. Examples of the external actors are third-party developers and hardware suppliers. Existing ecosystems allow the external actors to access the platforms at different levels of the software life cycle [EB12]. This has caused them to diversify in many different ways, e.g., in software type and the target group of users [MH13]. For instance, software development ecosystems (e.g., Atlassian1 and Eclipse2 ) enable collaborative work among developers by providing code sharing and development environment. On the contrary, mobile App ecosystems target a completely different user group, i.e., mobile users, by growing around mobile operating systems (e.g., iOS and Android). Whereas, a third group of ecosystems flourishes around cloud services (e.g., Salesforce3 and AWS Marketplace4 ). In all cases, third-party developers compose their functions in form of Apps, plug-ins, APIs, cloud services, etc. to the platform. The architectural knowledge of the existing ecosystems is implicit and distributed among their online portals in form of online manuals, “how to" guides and samples as well as entries in questions-and-answers developer forums. While being successful in practice, the existing ecosystems provide implicit architectural knowledge about their structure. In protection of intellectual property, existing documentation hardly reveal influential business strategies of their platform providers that affect the ecosystem structure. Thus, other platform providers can hardly learn from the existing ecosystems to systematically make reasonable design decisions with respect to their business strategies and to build their own ecosystems. In this technical report, we develop a taxonomy for variabilities of architectural design decisions of store-oriented software ecosystem product line. We mature the taxonomy using fragmentary material of the existing ecosystems and a rigorous literature review through several 1

www.atlassian.com, Last Access: March 2017 www.eclipse.org, Last Access: March 2017 3 www.salesforce.com, Last Access: March 2017 4 www.aws.amazon.com/marketplace, Last Access: March 2017 2

1

2

CHAPTER 1. INTRODUCTION

conceptual and empirical iterations. Furthermore, the technical report includes complete lists of literature and technical sources that are used during the taxonomy development.

Chapter 2. A Taxonomy for Variabilities of Architectural Design Decisions of Store-oriented Software Ecosystems In this chapter, we present the detailed process of developing a variability model for a storeoriented software ecosystem product line.

2.1. A Method for Taxonomy Development and Its Application in Information Systems N ICKERSON ET AL . [NVM13] propose a taxonomy development method based on design science research paradigm [VAMPR04] to classify objects of study based on their common characteristics. The result is a set of dimensions, while each dimension consists of mutually exclusive and collectively exhaustive characteristics. Figure 2.1 sketches the steps of the taxonomy development method. Initially, meta-characteristics are to be defined. They are the most comprehensive characteristics that serve as a basis to identify further characteristics for each dimension. The method is a combination of two types of iterations, i.e, empirical-to-conceptual and conceptual-toempirical iterations. At the end of each iteration, the taxonomy is evaluated against ending conditions [NVM13].

2.2. Meta Characteristics To derive our variability model, first we need to identify meta-characteristics of the variability model. These characteristics are used to identify concrete variation points. Our metacharacteristics refer to the initial sources of architectural variabilities in software ecosystems. We identify three meta-characteristics by referring to the definition of software ecosystem provided by B OSCH AND B OSCH -S IJTSEMA that “a software platform, a set of internal and external developers and a community of domain experts in service to a community of users

3

4

CHAPTER 2. A TAXONOMY FOR VARIABILITIES OF ARCHITECTURAL DESIGN DECISIONS OF STORE-ORIENTED SOFTWARE ECOSYSTEMS

Figure 2.1.: Taxonomy development method [NVM13]

2.3. ENDING CONDITIONS

5

that compose relevant solution elements to satisfy their needs" [BBS10a]. Thus, our metacharacteristics are: a) What a platform consist of, b) Collaborations upon which a platform supports service provision, and c) What a platform offers as products / services.

2.3. Ending Conditions We set the ending conditions as follows: The development of variability model is terminated when the last iterations do not result in identification of any new variability or when currently identified variabilities are not further enriched.

2.4. Approach As our first iteration, we choose to begin the taxonomy development by conducting an empirical-to-conceptual approach, because a diverse range of ecosystems already exists in real-world. This can be a valuable source of data, which is very beneficial for an empirical approach. Furthermore, we present the state of the variability model at the end of each iteration using the orthogonal variability model (OVM) notation [MPH+ 07]. We use the OVM notation, because it enable us to represent the variabilities as first class architectural knowledge entities.

2.5. Iteration 1: Empirical-to-Conceptual Approach In this section, the first version of the taxonomy including a set of dimensions and characteristics is derived by investigating existing store-oriented software ecosystems using an empiricalto-conceptual iteration.

2.5.1. Identifying New Subset of Ecosystems According to the taxonomy development method, first researchers need to identify an initial subset of objects, which are subject to the classification. This subset is most likely the one that there are most relevant data available to it or the one that the researchers are the most familiar with it. Our objects of classification are store-oriented software ecosystems. As the initial subset, we choose to use our list of software marketplaces that we develop in our previous work [JPEK16a, JPEK16b]. We decide to use this list as the initial subset, because it includes ecosystems from a diverse range of domains. The list is shown in Table 2.1. Among the list, we include the ecosystems, which conform to our meta-characteritics, i.e., having a software platform, including external collaborations, providing a kind of software service / product.

6

CHAPTER 2. A TAXONOMY FOR VARIABILITIES OF ARCHITECTURAL DESIGN DECISIONS OF STORE-ORIENTED SOFTWARE ECOSYSTEMS Mobile  App  stores Apple  App   store Google  Play

Amazon   Appstore Mobango Cloud service   marketplaces

Telecommunication   carrier App  store MediaTek App   Store

StrikeIron

T-­Mobile   Web2go

Black  Berry   World

SalesForce AppExchange

Verizon  VCast

Nokia  Ovi Store

AWS   Marketplace

Vodafone  360

Component repository

Mashery

ATT  AppCentral Research

Microsoft  Store

Third-­party   (Android/iOS  App   stores)

Programmable Web

4CaaSt OTF Markets FOR 1371

API  repository Vitual Fort Knox

F-­Droid

Binpress

GetJar

Slideme

SourceForge

Java  Store

Eclipse  Marketplace

Aptoide

CPAN,  CTAN

OpenIntents

SteamPowered

Cydia

Envato

Mashape

Bowser  Marketplace   (Firefox, Chrome,...)

Others

Cytoscape

Table 2.1.: The initial list of store-oriented software ecosystems adopted from [JPEK16b]

2.5.2. Identifying Common Characteristics and Grouping Ecosystems In this step, researchers identify common characteristics of the objects in the initial subset. Such characteristics are logical consequences of the meta-characteristics. Each characteristic needs to be defined in a way that it discriminates the objects, otherwise, it is not beneficial to taxonomy development. To identify common characteristics of the ecosystems in our initial subset, we refer to the meta-characteristics in Section 2.2. We inspect the ecosystems with respect to the metacharacteristics and we document the collected data in a table. The documentation collected during this inspection can be found in Appendix A. During this inspection, we analyze the ecosystems by exploring their technical documentation that are available on the Internet. Such documentation usually comes in the form of online manuals in developer portals, “how to" guides, and official documentation provided by platform providers as well as samples and demos. In addition, if enrollment in the ecosystems is made possible, we register as developer and experiment the way that the ecosystems work.

2.5. ITERATION 1: EMPIRICAL-TO-CONCEPTUAL APPROACH

7

Up to this step, the mentioned activities do not help us to deeply understand business strategies of platform providers. Therefore, we additionally explore their annual reports e.g., using AnnualReports.com, and well-reputed business magazines as well as entries in questions-and-answers forums. Moreover, we identify groups of ecosystems, i.e., mobile App stores, cloud services, API repositories, enterprise applications, open source development, etc. Our inspection of the initial subset results in the following common characteristics: • The platforms are mobile operating systems, web browsers, cloud services (SaaS and PaaS), or software development platforms. • The collaborations include open source communities, programmers, web developers, hardware assemblers, manufacturers, B2B partners, or consultants. • The products /services are mobile Apps, browser add-ons, software development plugins, cloud services, or open source projects.

2.5.3. Grouping Characteristics into Dimensions to Create Taxonomy After defining the set of characteristics, we group them to form the first dimensions of the taxonomy. The grouping action follows the goal of taxonomy, i.e., to identify architectural variabilities of store-oriented software ecosystems. Following the notation used by N ICKERSON ET AL . [NVM13], Di and Cij respectively represent ith dimension of the taxonomy and j th characteristics of Di . Our first dimensions are as follows: • D1 = complementary Partnership with characteristics C11 = strategic partner, C12 = supplier, and C13 = independent developer. This variability addresses strategic decisions that platform providers make to choose ecosystem partners. Platform providers choose such partners in a way that each partner contributes to final service provisioning to ecosystem users. To this end, the partners support the ecosystem by providing valueadding solutions. • D2 = deliverable with characteristics C21 = software product, C22 = software service, and C23 = source code. Deliverable is the type of software artifact that an ecosystem delivers to its users. This can be software products, software services as well as source code. We distinguish between software products like mobile Apps that are installed on local devices and software services like cloud services that are the result of some execution on a remote server.

2.5.4. Checking Against Ending Conditions At the end of each iteration, we check whether the process of taxonomy development needs to be continued or not. Figure 2.2 shows the taxonomy of variabilities of store-oriented soft-

8

CHAPTER 2. A TAXONOMY FOR VARIABILITIES OF ARCHITECTURAL DESIGN DECISIONS OF STORE-ORIENTED SOFTWARE ECOSYSTEMS VP

Complementary Partnership 1..3

Business View

V

Strategic Partner

V

Independent Developer

V

Supplier

VP

Deliverable 1..3

Application View V

V

Legend

VP

VP

V

Software Product

Mandatory Variation Point Optional Variation Point

Source Code

Software Service

[min..max]

V

Variant Mandatory Variability Dependency Optional Variability Dependency

Alternative Choice Requires Excludes

Figure 2.2.: Taxonomy of variabilities of store-oriented software ecosystems after iteration 1 ware ecosystems after the iteration 1. The iteration 1 results in identification of new variabilities. Therefore, according to the ending conditions, which are introduced in Section 2.3, the taxonomy development continues with further iterations.

2.6. ITERATION 2: CONCEPTUAL-TO-EMPIRICAL APPROACH

9

2.6. Iteration 2: Conceptual-to-Empirical Approach In the conceptual-to-empirical iteration, we continue with the taxonomy development by defining further dimensions and characteristics. According to the research method [NVM13], in a conceptual-to-empirical iteration, these dimensions and characteristics can be defined based on researchers’ knowledge and expertise. Afterwards, they are validated by examining further objects of study. To define the dimensions and characteristics in this iteration, we perform a literature review that captures the most important aspects of software ecosystems. Our search terms for the initial search are “software ecosystem” , “variabilities”, and “architecture”. To capture as many relevant sources as possible, we consider alternative words for the search terms. Alternative words for “software ecosystem” are “open software platform”, “open software development”, “open software product line”, “multi software product line”, and “software ecosystem governance”. Furthermore, “architectural”, “design decision”, and “design” are alternative words for “architecture”. In addition, to reasonably narrow the search results, we build search phrases out of the search terms by using AND and OR logical operations. An example of our search terms is (“software ecosystem” OR “open software platform”) AND “variabilities” AND “architecture”. Furthermore, we use Google Scholar as a meta-search engine that searches through several digital libraries. We include a search result in our literature review when the “software ecosystem” , “variabilities”, and “architecture” search terms, or their alternatives, appear in the title or abstract. Furthermore, we add quality criteria to our search by considering most influential journal, conference, and workshop publications that are relevant to software ecosystems. Moreover, we include the publications from the International Workshop on Software Ecosystems (IWSECO). A complete list of sources that are included in the literature review can be found in Appendix B.

2.6.1. Conceptualize New Characteristics and Dimensions of Ecosystems We supplement the taxonomy with our implication from the literature regarding the metacharacteristics and the differences between the existing ecosystems and the concepts addressed in the literature. In particular, we pay attention to the following questions that are raised in the previous iteration: a) Where are deliverables executed? b) How do complementary partnerships add value to software ecosystems? c) Are software platforms open to external developers? d) How is extending software platforms made possible for external developers? The literature review results in identification of the following dimensions and characteristics: • D3 = openness with characteristics C31 = open and C32 = closed. This variability determines whether content and methods of ecosystem are opened and subject to change by external developers. Openness has two variants, i.e., open and closed. However,

10

CHAPTER 2. A TAXONOMY FOR VARIABILITIES OF ARCHITECTURAL DESIGN DECISIONS OF STORE-ORIENTED SOFTWARE ECOSYSTEMS

ecosystems can hardly be judged as completely open or closed. The degree of openness in ecosystems depends on the realization of this variation point at management and practical levels [JBSL12]. • D4 = platform interfaces with characteristics C41 = user interface and C42 = System libraries. The interfaces of software platform need to provide the right modularity and granularity so that the external developers become able to correspond to relevant components of the platform [Bos10]. • D5 = extension development with characteristics C51 = platform SDK, C52 = integrated development environment (IDE), C53 = choice of programming language, C54 = choice of communication protocol, and C55 = testing functions. This variability defines development tools and techniques that enable external developers to add their applications to ecosystems. Moreover, techniques like using Wikis and forums support social communication in communities of developers, who usually work independently [SEL14]. • D6 = security check with characteristics C61 = leak and bugs C62 = policy violation. This variation point includes a wide range of security and privacy checking functions to protect ecosystems from malware, unwanted actions, and misuse. Furthermore, different communities of external actors may be granted with different access to software platform. For instance, a strategic partner receives deep access to the platform functions [BBS10b]. • D7 = service execution with characteristics C71 = operating system and C72 = compute center. This implies suitable infrastructure for the execution of deliverables. It is an optional variation point, i.e., in some ecosystems, e.g., where deliverable is source code, no execution of deliverables is needed. While in other ecosystems, e.g., mobile ecosystems, applications require an operating system to be executed on [Bos09].

2.6.2. Examine Ecosystems for the Characteristics and Dimensions In this step, researchers examine actual objects of study to check whether they support the dimensions and characteristics that are identified in the previous step. This means that the researchers need to answer the question whether “Are there objects that have each of the characteristics in each dimension?” [NVM13]. To do so, we refer to our initial list of existing ecosystems in Section 2.5.1. We inspect the existing ecosystems. In general, D3 = openness is a fundamental design decision of software ecosystems that is supported by all of the ecosystems. Different realization of openness causes the existing ecosystems to differ greatly. For instance, while the source code of Android OS is open to modification by external developers, Windows Mobile is rather a closed source OS.

2.6. ITERATION 2: CONCEPTUAL-TO-EMPIRICAL APPROACH

11

In addition, the existing ecosystems support D4 = platform interfaces. However, they introduce a new group of platform interfaces, i.e., platform features. The platform features are specific to a certain platform or domain and developers often require to work with them in order to develop domain-specific features. GPS, camera, and audio control are examples of features in mobile OS platforms. We discover that D5 = extension development is an obligatory architectural decision of the existing ecosystems if a platform provider would like to allow a platform to be extended by external developers. Moreover, some ecosystems may allow for the composition of external applications. For instance, in the ecosystem of Android operating system, Intents1 facilitate the composition of Apps on Google Play. Furthermore, the existing ecosystems support D6 = security check by providing more concrete information. We observe that a typical way to realize security checks is to apply a review process when external developers would like to enter the ecosystem. The review process mainly considers security leaks, bugs, and policy violations of externally developed applications before being published on stores. During the examination of the ecosystems, we identify a new characteristic for D7 = service execution, i.e., C73 = data center. We observe that ecosystems in cloud computing and mobile domains, which require high quality of data delivery, require the support of data centers. This can be provided internally by platform providers or by external suppliers.

2.6.3. Revise Taxonomy The examination of the existing ecosystems results in confirming the validity of the newly identified dimensions and characteristics in this iteration. Furthermore, in the previous step, the following characteristics are introduced newly: • D4 = platform interfaces with characteristic C43 = platform features • D7 = service execution with C73 = data center

2.6.4. Checking Against Ending Conditions The iteration 2 results in identification of new variabilities. Therefore, according to the ending conditions, which are introduced in Section 2.3, the taxonomy development continues with further iterations. Figure 2.3 shows the taxonomy of variabilities of store-oriented software ecosystems after the iteration 2.

1

https://developer.android.com/reference/android/content/Intent.html, Last Access: May 2017

12

CHAPTER 2. A TAXONOMY FOR VARIABILITIES OF ARCHITECTURAL DESIGN DECISIONS OF STORE-ORIENTED SOFTWARE ECOSYSTEMS VP

VP

Complementary Partnership

Business View

Openness

1..3 V

Strategic Partner

V

1..2 V

Independent Developer

Open V

V

Closed

Supplier

VP

Deliverable

VP

VP

VP

Extension Development

Platform Interfaces

Security Check

1..3

1..3

Application View

V V

V

Software Product V

Source Code V

Software Service

1..2

Platform SDK V

V

Programming Language

V

Testing

IDE V

Communication Protocol

User Interface V

V

System Libraries

Platform Features

V

V

Policy Violation

Leaks & Bugs

VP

Service Execution

Infrastructure View

1..3

V

Operating System V

V

Data Center

Compute Centre

Figure 2.3.: Taxonomy of variabilities of store-oriented software ecosystems after iteration 2

2.7. Iteration 3: Empirical-to-Conceptual Approach In this section, we perform another iteration to enrich the taxonomy. There is a set of open questions that are going to be answered. Since existing ecosystems provide concrete information from the real world, we decide to perform an empirical-to-conceptual approach by exploring existing ecosystems. Examples of open questions are: a) How do users receive deliverables?, b) Do the ecosystems provide any asset?, and c) What are incentives for external developers?

2.7.1. Identifying New Subset of Ecosystems We continue using our list of existing ecosystems. We assume that this list is useful, because these ecosystems have not been examined with respect to the newly risen questions. Further-

2.7. ITERATION 3: EMPIRICAL-TO-CONCEPTUAL APPROACH

13

more, we continue to identify new ecosystems (i.e., Atlassian2 and GitHub3 ) that are not in our list.

2.7.2. Identifying Common Characteristics and Grouping Ecosystems Inspecting the ecosystems with respect to the open questions results in identifying a new set of characteristics. Similar to the previous empirical-to-conceptual iteration, we analyze the ecosystems by inspecting the technical documentation and information that are available on the Internet. The list of links to technical documentation can be found in Appendix C. Furthermore, the details of this inspection can be found in Appendix D. Result of this inspection is the identification of following common characteristics: • The ecosystems motivate external developers by introducing incentives. Examples of incentives are rating, reputation, funding, discounts on platform fee, advertisement of external applications in form of featured applications, etc. • The deliverable are delivered as web services, cloud services, or generally using a remote server. Or, They are applications that users need to download and install them on their devices. Furthermore, some ecosystems provide their own asset (device). For instance, iOS is runnable only on the proprietary asset of Apple Inc., i.e., iPhone, iPad, and iPod. • To deliver and execute deliverables, the ecosystems require variety of hardware and software resources, e.g., content delivery network services to cache information and ensure a high quality service delivery. While some ecosystems only rely on world wide web for the purpose of service delivery, some others use telecommunication services that are provided by Telco companies.

2.7.3. Grouping Characteristics into Dimensions to Create Taxonomy Similar to Section 2.5.3, we group the newly emerged characteristics to form new dimensions of the taxonomy. The grouping action follows the goal of taxonomy, i.e., to identify architectural variabilities of store-oriented software ecosystems, which results in identifying the following dimensions and characteristics: • D8 = incentive with characteristics C81 = moral value and C82 = material value • D9 = delivery mode with characteristics C91 = local installation and C92 = remote delivery 2 3

https://www.atlassian.com/ https://github.com/

14

CHAPTER 2. A TAXONOMY FOR VARIABILITIES OF ARCHITECTURAL DESIGN DECISIONS OF STORE-ORIENTED SOFTWARE ECOSYSTEMS VP

Complementary Partnership

Business View

VP

VP

Openness

Incentive

1..3 V

Strategic Partner

V

1..2

1..2 V3.1

V

Independent Developer

Open

Moral Value V3.1

V

V

Material Value

Closed

Supplier

VP

Deliverable

VP

VP

VP

Extension Development

Platform Interfaces

Security Check

1..3

Application View

V

V

Software Product V

Platform SDK

Source Code V

Software Service

V

User Interface

Testing

IDE Programming Language

V

V

Communication Protocol

VP

VP

V

V

System Libraries V

Platform Features

Policy Violation

Leaks & Bugs

VP

VP

Delivery Mode

Service Delivery

Asset 1..3

1..2

1..3 V V

Operating System V

Legend

V

V

Service Execution

Infrastructure View

1..2

1..3 V

VP

VP

V

Data Center

Local Installation

Compute Centre

Mandatory Variation Point Optional Variation Point

V V

Cloud Delivery

Telecommunication

V

Exclusively WWW

V Content Delivery Network

[min..max]

V

Variant Mandatory Variability Dependency Optional Variability Dependency

Alternative Choice Requires Excludes

Figure 2.4.: Taxonomy of variabilities of store-oriented software ecosystems after iteration 3 • D10 = service delivery with characteristics C10 1 = exclusively over telecommunication networks provided by telcos, C10 2 = content delivery network (CDN), and C10 3 = exclusively over WWW • D11 = asset

2.7.4. Checking Against Ending Conditions The iteration 3 results in identification of new variabilities. Therefore, according to the ending conditions, which are introduced in Section 2.3, the taxonomy development continues with further iterations. Figure 2.4 shows the taxonomy of variabilities of store-oriented software ecosystems after the iteration 3.

2.8. ITERATION 4: CONCEPTUAL-TO-EMPIRICAL APPROACH

15

2.8. Iteration 4: Conceptual-to-Empirical Approach We need to perform another iteration, because, there are open questions left from the previous iterations. The following questions are to be considered in this iteration: a) How do ecosystems provide software licensing? b) What is the degree of freedom given to developers in choosing a suitable license for their applications? c) What are typical fees and charges in software ecosystems? We choose the conceptual-to-empirical approach for this iteration, because, during the literature review, we have encountered concepts in the literature that are related to the newly risen open questions.

2.8.1. Conceptualize New Characteristics and Dimensions of Ecosystems [AAS09] defines licensing as a set of legal rules that defines cases and scope of software use and its redistribution. There are public software licensing systems such as GNU General Public License or shortly GPL. GPL allows free usage, execute, and altering source code. Ecosystems may use such public licenses or may introduce their own licensing system to protect external developers’ right. Fee has a direct relation to different degree of access to software platforms that is granted to an actor. Moreover, external developers, who wish to publish their application on the store, may need to pay certain amount of periodic or one-time entrance fee [VAKJP11].

2.8.2. Examine Ecosystems for the Characteristics and Dimensions In this step, we try to answer the question whether “Are there objects that have each of the characteristics in each dimension?” by examining existing ecosystems. To do so, we refer to our list of existing ecosystems. We inspect the ecosystems. The result is that not any ecosystem provides software licensing. Moreover, not any ecosystem expect users and developers pay for platform usage or store usage. Therefore, we consider licensing and fee as optional variation points. Furthermore, we notice that, in open source communities, the ecosystems usually use licenses that are publicly available. Whereas commercial ecosystems invent their own licensing system that conforms to their license of agreements and regulations.

2.8.3. Revise Taxonomy According to the conceptualization performed in Section 2.8.1 and the examination in Section 2.8.2, we define the following dimensions and characteristics:

16

CHAPTER 2. A TAXONOMY FOR VARIABILITIES OF ARCHITECTURAL DESIGN DECISIONS OF STORE-ORIENTED SOFTWARE ECOSYSTEMS

• D12 = licensing with characteristics C12 1 = public licensing and C12 2 = ecosystemspecific licensing. This variability determines the way that platform providers regulate software licensing at developers and end-users sides. • D13 = fee with characteristics C13 1 = platform fee and C13 2 = entrance fee. Fee is a medium for platform providers to protect intellectual property by introducing different degree of payments for platform users and complementary partners.

2.8.4. Checking Against Ending Conditions The iteration 4 results in identification of new variabilities. Therefore, according to the ending conditions, which are introduced in Section 2.3, the taxonomy development continues with further iterations. Figure 2.5 shows the taxonomy of variabilities of store-oriented software ecosystems after the iteration 4.

2.9. Iteration 5 & Iteration 6 Until this step, the open questions regarding the meta-characteristics are answered by the previous iterations. In the following, we continue the process of taxonomy development with another conceptual-to-empirical iteration. We consider whether the literature addresses new characteristics or dimensions, which have not been included in the taxonomy. This process results in conceptualization of no characteristic or dimension. According to the ending conditions, the taxonomy is not further enriched in this iteration. In this situation, researchers are allowed terminate the process of taxonomy development. To ensure about the validity of our decision regarding the termination of taxonomy development, we conduct another empirical-to-conceptual approach as our 6th iteration. In this iteration, we inspect the existing ecosystems to check whether further common characteristics can be identified. This inspection results in identifying no common characteristic, which has not been included in the taxonomy. We observe that the variability model provides a suitable abstraction to describe important aspects of store-oriented software ecosystems.Therefore, according to the ending condition, no other empirical-to-conceptual iteration is necessary. At this point, we terminate the process of taxonomy development.

17

2.9. ITERATION 5 & ITERATION 6

VP

Complementary Partnership

Business View

VP

VP

Openness

Incentive

Licensing

1..3 V

Strategic Partner

V

1..2

1..2 V

V

Independent Developer

VP

VP

V

V

V

Closed

Supplier

VP

Deliverable

V

Software Product V

Source Code

VP

VP

VP

Extension Development

Platform Interfaces

Security Check

V

Software Service

V

V

V

User Interface

Testing

IDE V

Programming Language

Communication Protocol

VP

VP

1..2

V

V

V

System Libraries V

Platform Features

Policy Violation

Leaks & Bugs

VP

VP

Delivery Mode

Service Delivery

Asset 1..3

1..2

1..3 V V

Operating System V

Legend

Entrance Fee

Platform SDK

Service Execution

Infrastructure View

V

V Ecosystemspecific Licensing

Material Value

1..3 V

V

Platform Fee

V

Public Licensing

1..3

Application View

1..2

1..2 V

Moral Value

Open

Fee

VP

VP

V

Data Center

Local Installation

Compute Centre Mandatory Variation Point Optional Variation Point

V V

Cloud Delivery

Telecommunication

V

Exclusively WWW

V Content Delivery Network

[min..max]

V

Variant Mandatory Variability Dependency Optional Variability Dependency

Alternative Choice Requires Excludes

Figure 2.5.: Taxonomy of variabilities of store-oriented software ecosystems after iteration 4

Bibliography [AAS09]

Thomas A Alspaugh, Hazeline U Asuncion, and Walt Scacchi. The role of software licenses in open architecture ecosystems. In International Workshop on Software Ecosystems@ ICSR, 2009. 15

[BBS10a]

Jan Bosch and Petra Bosch-Sijtsema. From integration to composition: On the impact of software product lines, global development and ecosystems. Journal of Systems and Software, 83(1):67–76, 2010. 5

[BBS10b]

Jan Bosch and Petra M. Bosch-Sijtsema. Softwares product lines, global development and ecosystems: Collaboration in software engineering. In Collaborative Software Engineering, pages 77–92. Springer, 2010. 10

[Bos09]

Jan Bosch. From software product lines to software ecosystems. In Software Product Line Conference, pages 111–119. Carnegie Mellon University, 2009. 10

[Bos10]

Jan Bosch. Architecture challenges for software ecosystems. In ECSA- Companion Volume, pages 93–95. ACM, 2010. 10

[EB12]

Ulrik Eklund and Jan Bosch. Using architecture for multiple levels of access to an ecosystem platform. In International ACM SIGSOFT Conference on Quality of Software Architectures, pages 143–148. ACM, 2012. 1

[JBSL12]

Slinger Jansen, Sjaak Brinkkemper, Jurriaan Souer, and Lutzen Luinenburg. Shades of gray: Opening up a software producing organization with the open software enterprise model. Journal of Systems and Software, 85(7):1495–1510, 2012. 10

[JPEK16a]

Bahar Jazayeri, Marie C. Platenius, Gregor Engels, and Dennis Kundisch. Features of IT Service Markets: A Systematic Literature Review. In ICSOC, pages 301–316. Springer, 2016. 5

[JPEK16b]

Bahar Jazayeri, Marie Christin Platenius, Gregor Engels, and Dennis Kundisch. IT Service Markets: A Systematic Literature Review – Supplementary Material. Technical Report tr-ri-16-350, Heinz Nixdorf Institute, University of Paderborn, 2016. https://www.hni.uni-paderborn.de/pub/9342. 5, 6

19

20

B IBLIOGRAPHY

[MH13]

Konstantinos Manikas and Klaus Marius Hansen. Software ecosystems–a systematic literature review. Journal of Systems and Software, 86(5):1294–1306, 2013. 1

[MPH+ 07]

Andreas Metzger, Klaus Pohl, Patrick Heymans, Pierre-Yves Schobbens, and Germain Saval. Disambiguating the documentation of variability in software product lines: A separation of concerns, formalization and automated analysis. In RE, pages 243–253. IEEE, 2007. 5

[NVM13]

Robert C. Nickerson, Upkar Varshney, and Jan Muntermann. A method for taxonomy development and its application in information systems. European Journal of Information Systems, 22(3):336–359, 2013. 3, 4, 7, 9, 10

[SEL14]

Klaus-Benedikt Schultis, Christoph Elsner, and Daniel Lohmann. Architecture challenges for internal software ecosystems: A large-scale industry case study. In ACM SIGSOFT International Symposium on Foundations of Software Engineering, pages 542–552. ACM, 2014. 10

[VAKJP11] Joey Van Angeren, Jaap Kabbedijk, Slinger Jansen, and Karl Michael Popp. A Survey of Associate Models used within Large Software Ecosystems. In International Workshop on Software Ecosystems, pages 27–39. Citeseer, 2011. 16 [VAMPR04] R. Hevner Von Alan, Salvatore T. March, Jinsoo Park, and Sudha Ram. Design science in information systems research. MIS quarterly, 28(1):75–105, 2004. 3

Appendix A. Initial Inspection of existing Ecosystems In this section, we provide the details that we document during the inspection of the initial subset of existing ecosystems with respect to the meta-characteristics.

No.

Ecosystems (named after their store)

Platform

- Mobile OS (iOS) 1

Apple App Store

2

Google Play

3

Microsoft Store

- Mobile OS (Android)

-

- Android

-

Browser (Mozilla Firefox)

- Open source community of developers - Open source community of developers - B2B Partners - External developer

Amazon.com: Apps & Games

6

Mozilla Firefox Marketplace

7

Browser (Google Google Chrome Chrome) Store SAP Store

-

for manufacturing iPhone and iPad External developers Hardware and software suppliers External developers Hardware and software suppliers External developers Hardware and software suppliers External developers

- BlackBerry OS

5

SAP Services

Service / Product

- External developers - Mobile Apps - Hardware suppliers - iCloud services

- Mobile OS (Microsoft Windows)

4 BlackBerry World

8

Collaboration

- Mobile Apps - Google services - Mobile Apps - OneDrive services - Mobile Apps - OneDrive services - Android Apps - Extensions

- Add-ons

- SAP solutions - 3rd-party solutions

21

22

APPENDIX A. INITIAL INSPECTION OF EXISTING ECOSYSTEMS

No.

Ecosystems (named after their store)

Platform

cloud services 9

StrikeIron

Collaboration

Service / Product

- B2B Partners - Cloud-based data - External developers services: - Enterprises and - email verification business experts - Address verification

- Phone validation 10

SalesForce AppExchange

- Salesforce - force.com

- Consulting Partners - CRM Apps - External developers - Enterprise Cloud - Infrastructure & SaaS

- AWS

- Commercial vendors - AWS-based SaaS,

Software supplier

11 AWS Marketplace

12

Oracle Cloud Marketplace

13

Eclipse Marketplace

14

15

16

17

18

Oracle Cloud services (SaaS, PaaS, IaaS)

Eclipse IDE

including IBM, Microsoft, etc. - Open-source provision from Nginx - Consulting Partners - External developers - Infrastructure & Software supplier - Eclipse Foundation consists of several collaborators - External developers

- products for external platforms like Envato Wordpress, Joomla, Drupal, etc. Development platforms - Open source Mashape (Galileo, Kong, Gelato) community of developers/freelancers - Generally avialable - Open source platforms: community of developers/freelancers - Programming Binpress languages - Mobile - Desktop - Web - Network visualisation - Open source Cytoscape App and analysis platform community of Store developers/freelancers - TEX - Open source community of CTAN: Packages developers

PaaS, and IaaS

Oracle-based cloud services

- Eclipse plug-ins - Eclipse projects - Digital arts and artifacts

- APIs

- Commercial and open source projects

- Commercial and open source projects - TEX-related packages

Appendix B. Sources of Literature Review This section provides the complete list of literature sources that are used in the conceptual-toempirical iterations during the taxonomy development.

[1]A. Baars and S. Jansen, “A framework for software ecosystem governance,” in International Conference of Software Business, 2012, pp. 168–180. [2]G. K. Hanssen, “A longitudinal case study of an emerging software ecosystem: Implications for practice and theory,” Journal of Systems and Software, vol. 85, no. 7, pp. 1455–1466, 2012. [3]M. Cataldo and J. D. Herbsleb, “Architecting in software ecosystems: interface translucence as an enabler for scalable collaboration,” in Proceedings of the Fourth European Conference on Software Architecture: Companion Volume, 2010, pp. 65–72. [4]M. Che and D. E. Perry, “Architectural design decisions in open software development: A transition to software ecosystems,” in 2014 23rd Australian Software Engineering Conference, 2014, pp. 58–61. [5]K.-B. Schultis, C. Elsner, and D. Lohmann, “Architecture challenges for internal software ecosystems: a large-scale industry case study,” in Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2014, pp. 542–552. [6]J. Bosch, “Architecture challenges for software ecosystems,” in Proceedings of the Fourth European Conference on Software Architecture: Companion Volume, 2010, pp. 93–95. [7]U. Eklund and J. Bosch, “Architecture for embedded open software ecosystems,” Journal of Systems and Software, vol. 92, pp. 128–142, 2014. [8]S. Jansen, A. Finkelstein, and S. Brinkkemper, “A sense of community: A research agenda for software ecosystems,” in Software Engineering-Companion Volume, 2009. ICSE-Companion 2009. 31st International Conference on, 2009, pp. 187–190. [9]J. Van Angeren, J. Kabbedijk, S. Jansen, and K. M. Popp, “A Survey of Associate Models used within Large Software Ecosystems.,” in IWSECO@ ICSOB, 2011, pp. 27–39. [10]A. Ghazawneh and O. Henfridsson, “Balancing platform control and external contribution in thirdparty development: the boundary resources model,” Information Systems Journal, vol. 23, no. 2, pp. 173–192, 2013.

23

24

APPENDIX B. SOURCES OF LITERATURE REVIEW

[11]P. Kruchten, “Contextualizing agile software development,” Journal of Software: Evolution and Process, vol. 25, no. 4, pp. 351–361, 2013. [12]S. Jansen and M. A. Cusumano, “Defining software ecosystems: a survey of software platforms and business network governance,” Software ecosystems: analyzing and managing business networks in the software industry, vol. 13, 2013. [13]A. Metzger, K. Pohl, P. Heymans, P.-Y. Schobbens, and G. Saval, “Disambiguating the documentation of variability in software product lines: A separation of concerns, formalization and automated analysis,” in Requirements Engineering Conference, 2007. RE’07. 15th IEEE International, 2007, pp. 243–253. [14]K. Schmid and H. Eichelberger, “EASy-Producer: from product lines to variability-rich software ecosystems,” in Proceedings of the 19th International Conference on Software Product Line, 2015, pp. 390–391. [15]J. McGregor, “Ecosystems, continued.,” Journal of Object Technology, vol. 8, no. 7, pp. 7–21, 2009. [16]M. Anvaari and S. Jansen, “Evaluating architectural openness in mobile software platforms,” in Proceedings of the Fourth European Conference on Software Architecture: Companion Volume, 2010, pp. 85–92. [17]G. Costa, F. Silva, R. Santos, C. Werner, and T. Oliveira, “From applications to a software ecosystem platform: an exploratory study,” in Proceedings of the Fifth International Conference on Management of Emergent Digital EcoSystems, 2013, pp. 9–16. [18]J. Bosch and P. Bosch-Sijtsema, “From integration to composition: On the impact of software product lines, global development and ecosystems,” Journal of Systems and Software, vol. 83, no. 1, pp. 67–76, 2010. [19]J. Bosch, “From software product lines to software ecosystems,” in Proceedings of the 13th international software product line conference, 2009, pp. 111–119. [20]K. M. Popp, “Goals of Software Vendors for Partner Ecosystems–A Practitioner ́s View,” in International Conference of Software Business, 2010, pp. 181–186. [21]K. Plakidas, S. Stevanetic, D. Schall, T. B. Ionescu, and U. Zdun, “How do software ecosystems evolve? a quantitative assessment of the r ecosystem.,” in Proceedings of the 20th International Systems and Software Product Line Conference, 2016, pp. 89–98. [22]A. Gawer and M. A. Cusumano, “Industry platforms and ecosystem innovation,” Journal of Product Innovation Management, vol. 31, no. 3, pp. 417–433, 2014. [23]U. Eklund and J. Bosch, “Introducing software ecosystems for mass-produced embedded systems,” in International Conference of Software Business, 2012, pp. 248–254. [24]S. P. Gregg, R. Scharadin, E. LeGore, and P. Clements, “Lessons from AEGIS: organizational and governance aspects of a major product line in a multi-program environment,” in Proceedings of the 18th International Software Product Line Conference-Volume 1, 2014, pp. 264–273. [25]A. A. Albez and O. Terzidis, “Management of Partner Ecosystems in the Enterprise Software Industry–The Partner Selection.” [26]H. Hartmann and J. Bosch, “Orchestrate your platform: architectural challenges for different types of ecosystems for mobile devices,” in International Conference of Software Business, 2014, pp. 163–178. [27]A. Gawer and M. A. Cusumano, Platform leadership: How Intel, Microsoft, and Cisco drive industry innovation. Harvard Business School Press Boston, 2002. [28]K. Manikas, “Revisiting software ecosystems research: a longitudinal literature study,” Journal of Systems and Software, vol. 117, pp. 84–103, 2016.

25

[29]S. Jansen, S. Brinkkemper, J. Souer, and L. Luinenburg, “Shades of gray: Opening up a software producing organization with the open software enterprise model,” Journal of Systems and Software, vol. 85, no. 7, pp. 1495–1510, 2012. [30]K. Manikas and K. M. Hansen, “Software ecosystems–a systematic literature review,” Journal of Systems and Software, vol. 86, no. 5, pp. 1294–1306, 2013. [31]J. Bosch, “Software Ecosystems–Implications for Strategy, Business Model and Architecture,” in Software Product Line Conference (SPLC), 2011 15th International, 2011, pp. 351–351. [32]J. Bosch, “Software ecosystems: Taking software development beyond the boundaries of the organization,” The Journal of Systems & Software, vol. 7, no. 85, pp. 1453–1454, 2012. [33]J. Bosch and P. M. Bosch-Sijtsema, “Softwares product lines, global development and ecosystems: collaboration in software engineering,” in Collaborative Software Engineering, Springer, 2010, pp. 77–92. [34]R. N. Taylor, “The role of architectural styles in successful software ecosystems,” in Proceedings of the 17th International Software Product Line Conference, 2013, pp. 2–4. [35]N. Khedri and R. Khosravi, “Towards managing data variability in multi product lines,” in Model-Driven Engineering and Software Development (MODELSWARD), 2015 3rd International Conference on, 2015, pp. 1–8. [36]U. Eklund and J. Bosch, “Using architecture for multiple levels of access to an ecosystem platform,” in Proceedings of the 8th international ACM SIGSOFT conference on Quality of Software Architectures, 2012, pp. 143–148. [37]M. Galster, D. Weyns, D. Tofan, B. Michalik, and P. Avgeriou, “Variability in software systems—a systematic literature review,” IEEE Transactions on Software Engineering, vol. 40, no. 3, pp. 282–306, 2014. [38]T. Berger et al., “Variability mechanisms in software ecosystems,” Information and Software Technology, vol. 56, no. 11, pp. 1520–1535, 2014.

Appendix C. List of Technical Links In this section, we provide more details on the technical sources of information that are used in the taxonomy development. By technical source, we mean websites, technical documentation, links to developer portal, link to question & answer forums. The links to the sources are accessed in a time period from December 2016 to June 2017. Our main work, to which this document is a supplementary material, presents a comparison of existing ecosystems based on the variability model. The list of technical sources in this section includes links to the documentation that are used in the corresponding comparison.

No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

URL https://www.apple.com/ios/app-store/ play.google.com www.microsoftstore.com https://appworld.blackberry.com/webstore/?countrycode=NL&lang=en https://www.atlassian.com/software/marketplace https://addons.mozilla.org https://github.com/forcedotcom https://chrome.google.com/webstore https://marketplace.informatica.com/index.jspa https://appexchange.salesforce.com https://aws.amazon.com/marketplace https://cloudmarketplace.oracle.com/marketplace https://www.sapstore.com https://marketplace.eclipse.org/ https://market.mashape.com https://www.binpress.com

27

28

No. 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

APPENDIX C. LIST OF TECHNICAL LINKS

URL http://apps.cytoscape.org/ https://www.sapstore.com/ https://www.amazon.com/mobile-apps/b?ie=UTF8&node=2350149011 https://www.ctan.org/pkg?lang=en https://github.com/marketplace https://envato.com/#products https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/ sforce_api_om_outboundmessaging_setting_up.htm https://developer.apple.com/library/content/documentation/AppleApplications/Reference/ SafariWebContent/Introduction/Introduction.html#//apple_ref/doc/uid/TP40002051-CH1-SW1 https://developer.apple.com/library/content/documentation/Miscellaneous/Conceptual/ iPhoneOSTechOverview/iPhoneOSTechnologies/iPhoneOSTechnologies.html https://trailhead.salesforce.com/modules/apex_database/units/apex_database_intro www.joshmorony.com/the-challenges-of-developing-ios-applications-on-a-pc/ http://awsmp-loadforms.s3.amazonaws.com/AWS_Marketplace_-_Seller_Guide.pdf www.salesforce.com/assets/pdf/misc/Salesforce-Industry-Fullforce-Brochure.pdf https://partners.salesforce.com/ https://www.eclipse.org/membership/exploreMembership.php www.jot.fm/issues/issue_2009_09/column1/ https://developer.salesforce.com/forums/?id=906F00000008mukIAA https://developer.salesforce.com/docs/atlas.en-us.workbook_lma.meta/workbook_lma/ lma_license_details.htm adcdownload.apple.com/Documentation/License_Agreements__Apple_Developer_Program/ Apple_Developer_Program_License_Agreement_20160921.pdf https://developer.apple.com/terms/ https://aws.amazon.com/marketplace/help/seller-AMIs?ref=help_ln_sibling https://developer.apple.com/app-store/review/guidelines/#app-completeness https://developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/intro_framework.htm https://aws.amazon.com/tools/ docs.aws.amazon.com/AmazonS3/latest/API/APISoap.html stackoverflow.com/questions/9091767/up-to-date-instructions-on-how-to-installxmppframework-manually/30543948#30543948 stackoverflow.com/questions/204465/how-to-access-soap-services-from-iphone https://help.salesforce.com/articleView?id=integrate_what_is_api.htm&type=0 https://www.messagesystems.com/products/momentum https://www.symantec.com/about/newsroom/press-releases/2011/symantec_0503_05 www.oracle.com/us/corporate/press/1964798 https://www.apple.com/pr/library/2014/07/15Apple-and-IBM-Forge-Global-Partnership-toTransform-Enterprise-Mobility.html appleinsider.com/articles/16/06/10/intel-lte-modems-to-power-att-version-of-apples-iphone-7--report https://resources.docs.salesforce.com/206/latest/en-us/sfdc/pdf/ salesforce_apex_language_reference.pdf

Appendix D. Iteration 3: Inspection of existing Ecosystems This section provides the details regarding the inspection of the existing ecosystems in the third iteration.

No.

Ecosystems How do users Which (named after their receive technologies do store) deliverables? support service delivery? - Telco Apple App Store - download from the store companies like and install Verizon, 1 Telecom, etc. - Providers of CDN services Google Play - download - WWW from the store and install 2 - download from the store and install

- Telco

BlackBerry World - download from the store and install 4

- Telco

Microsoft Store 3

-

-

companies Providers of CDN services

Do the ecosystem provide any asset? Yes- iPhone, iPad, iPod

Yes- Google Pixel

-

- earn money - reputation - identifying the

Yes- Microsoft Surface

-

Yes- BlackBerry

-

companies Providers of CDN services

Amazon.com: Apps & Games

- download from the store and install

- WWW

- Amazon Kindle Fire

-

Mozilla Firefox 6 Marketplace

- download from the store and install

- WWW

No

-

5

What are incentives for external developers? earn money reputation identifying the best Apps as featured App

best Apps as featured App earn money reputation identifying the best Apps as featured App earn money reputation identifying the best Apps as featured App earn money reputation identifying the best Apps as featured App reputation

29

30

APPENDIX D. ITERATION 3: INSPECTION OF EXISTING ECOSYSTEMS

No.

Ecosystems (named after their store)

Google Chrome 9 Store

How do users receive deliverables?

- download from the store and install SAP Store - download from 10 the store and install StrikeIron - remote delivery 11 using cloud services SalesForce - remote delivery 12 AppExchange using cloud services AWS Marketplace - remote delivery 13 using cloud services Oracle Cloud - remote delivery 14 Marketplace using cloud services Eclipse - download from the store and 15 Marketplace install Envato - download from the store and 16 install Mashape - remote delivery of functions 17 provided by web services Binpress - download from 18 the store and use Cytoscape App - download from 19 Store the store and install CTAN: Packages - download from 20 the store and install GitHub - download from 21 the store and install Atlassian - download and Marketplace install plug-ins for platforms, e.g., 22 JIRA, Confluence, etc.

Which technologies do support service delivery? - WWW

Do the ecosystem provide any asset? No

-

What are incentives for external developers? reputation

WWW, SAP No Network (e.g., intranet) - Providers of CDN No - WWW

- earn money

- Providers of CDN No - WWW

- earn money - reputation

- Providers of CDN No - WWW

- earn money - reputation

- Providers of CDN No - WWW

- earn money - reputation

- WWW

No

- reputation

- WWW

No

- earn money - reputation

- WWW

No

- earn money - reputation

- WWW

No

- WWW

No

- earn money - reputation - reputation

- WWW

No

- reputation

No

- earn money - reputation

No

- earn money - reputation - identifying the

- WWW

- earn money - reputation

best Apps as featured App