<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Vinothek -A Self-Service Portal for TOSCA</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Uwe</forename><surname>Breitenbücher</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Institute of Architecture of Application Systems</orgName>
								<orgName type="institution">University of Stuttgart</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Tobias</forename><surname>Binz</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Institute of Architecture of Application Systems</orgName>
								<orgName type="institution">University of Stuttgart</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Oliver</forename><surname>Kopp</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Institute of Architecture of Application Systems</orgName>
								<orgName type="institution">University of Stuttgart</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="department">Institute for Parallel and Distributed Systems</orgName>
								<orgName type="institution">University of Stuttgart</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Frank</forename><surname>Leymann</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Institute of Architecture of Application Systems</orgName>
								<orgName type="institution">University of Stuttgart</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Vinothek -A Self-Service Portal for TOSCA</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">CF47F1D1AB3C43355E35F6BF945BA96C</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T21:34+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Cloud Applications</term>
					<term>Self-Service Portal</term>
					<term>TOSCA</term>
					<term>Portability</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The TOSCA standard provides a means to describe Cloud applications and their management in a portable way. TOSCA-based applications can be deployed on various standard-compliant TOSCA Runtimes. Vinothek is a Web-based Self-Service Portal that hides the technical details of TOSCA Runtimes and provides end users a simple graphical interface to provision Cloud applications on demand. This demonstration shows how Vinothek supports automated provisioning of applications and how it facilitates integrating TOSCA Runtimes.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>The Topology and Orchestration Specification for Cloud Applications (TOSCA <ref type="bibr" target="#b3">[4]</ref>) is an OASIS standard for automating provisioning and management of Cloudbased applications in a portable and interoperable way. TOSCA provides a generic specification to model topologies that define the structure of Cloud applications. Topologies and all required software artifacts such as virtual machine images or scripts are stored in a package called Cloud Service Archive (CSAR). This archive is also standardized and enables vendors to distribute their applications to multiple Cloud providers based on a uniform and portable format.</p><p>To run TOSCA-based applications, a so called TOSCA Runtime is employed. TOSCA Runtimes consume CSARs, install them, and provide functionalities to provision and manage instances of the application. However, different TOSCA Runtimes provide different management APIs as these are not standardized by the specification: Some TOSCA Runtimes provide management functionalities out of the box, others require so called Management Plans which are contained in CSARs. Despite the goal of portability, TOSCA is currently lacking a common API specification to provision new application instances.</p><p>This demonstration tackles this issue by presenting the Self-Service Portal "Vinothek", which allows end users to provision new application instances through a simple, graphical user interface. Vinothek hides the technical details and differences of TOSCA Runtimes and provides a single unified interface to provision applications on various connected TOSCA Runtimes. Vinothek is based on Web technologies such as HTML5 and JavaScript and requires no additional software on client side. More details about TOSCA and TOSCA Runtimes are provided by the TOSCA Specification <ref type="bibr" target="#b3">[4]</ref>, the TOSCA Primer <ref type="bibr" target="#b4">[5]</ref>, and Binz et al. <ref type="bibr" target="#b1">[2]</ref>. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">User Interaction</head><p>Vinothek provides a simple and easy accessible Web-based end user interface to provision new application instances on different TOSCA Runtimes. The portal consists of two main screens: The Overview page shown in Fig. <ref type="figure" target="#fig_1">1</ref> lists all applications installed in the TOSCA Runtimes connected to the Vinothek. The shown applications can be provisioned by the user. Therefore, the user selects one of the listed applications which leads to the Application Details page shown in Fig. <ref type="figure">2</ref>. This page presents all details about the selected application and offers different options to configure the provisioning (shown on the bottom left in Fig. <ref type="figure">2</ref>). The user provisions a new application instance by clicking the "Start Instance" button. If the provisioning requires additional user input such as payment information, a popup appears that enables filling in this information. After the provisioning is finished, the new application instance is opened in a new browser window. Depending on the type of the application, the user interface, a status page, or a remote desktop of the application instance is shown.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">System Overview</head><p>The Vinothek is implemented following the Web-based client-server architecture shown in Fig. <ref type="figure">3</ref>. The Graphical User Interface (GUI) is based on Java Server Pages and HTML5. It communicates via a RESTful API with the server that delegates calls to the TOSCA Application Lifecycle Manager, which is currently dealing with the provisioning of applications only. We plan to extend this component in the future to support management and termination of application   Depending on the API provided by the respective TOSCA Runtime, the implementations of plugins differ from each other. We implemented one plugin for the OpenTOSCA Runtime <ref type="bibr" target="#b0">[1]</ref>, which employs management plans implemented as workflows to provision and manage applications. The OpenTOSCA plugin connects, therefore, to (i) OpenTOSCA's workflow engine to provision new application instances and to (ii) the RESTful OpenTOSCA Management API for retrieving installed applications.</p><p>As the TOSCA Specification does not define how to deal with self-service information, we extended the structure of CSARs by adding a "Meta-SelfService" folder. This folder contains a uniform XML-based application description including marketing information such as text, icons, and screenshots as well as a technical Deployment Descriptor. This Deployment Descriptor defines technical information required to provision the application on the respective runtime, i. e., required input parameters and runtime-specific information. When the provisioning of a new application instance is triggered, the Vinothek first requests all specified input parameters from the user via a popup. This information is passed to the plugin that uses these parameters and the technical information contained in the runtime-specific part of the Deployment Descriptor to start the provisioning of the application in the respective TOSCA Runtime. For example, the Deployment Descriptor of the school learning software "Moodle"<ref type="foot" target="#foot_0">3</ref> requires the initial username and password for the admin from the user. In addition, the Deployment Descriptor contains information required by OpenTOSCA to run the plans, e. g., it specifies that both Moodle database and business logic shall run in one single virtual machine. The "Meta-SelfService" folder itself may be created manually or by using the TOSCA modeling tool "Winery" <ref type="bibr" target="#b2">[3]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Conclusion and Outlook</head><p>We presented the Self-Service Portal "Vinothek", which provides a simple graphical user interface for the provisioning of TOSCA-based applications. The tool also provides a means to integrate different TOSCA Runtimes transparently to end users and hides the technical details. A video of the demonstration is available at http://demo.opentosca.org. In the future, we plan to extend the Vinothek to support management functionalities and policies.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>N</head><label></label><figDesc>. Herzberg, M. Kunze (eds.): Proceedings of the 6th Central European Workshop on Services and their Composition (ZEUS 2014), Potsdam, Germany, 27-03-2014, published at http://ceur-ws.org</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 1 .</head><label>1</label><figDesc>Figure 1. Vinothek Overview page showing all available applications</figDesc><graphic coords="2,186.64,444.67,242.07,196.58" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 2 .Figure 3 .</head><label>23</label><figDesc>Figure 2. Vinothek Application Details page showing the selected Moodle application</figDesc><graphic coords="3,186.64,116.83,242.07,196.58" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>installed as CSARs in the respective TOSCA Runtime. Thus, if a new application gets installed in a TOSCA Runtime that is connected to the Vinothek by a plugin, the new application is offered automatically by the Vinothek.</figDesc><table /><note>instances, too. Below this manager, the TOSCA Runtime Integration Layer provides mechanisms to plug-in TOSCA Runtimes. Plugins hook into the Vinothek Lifecycle Manager by implementing a certain interface provided by the integration layer and encapsulate all runtime-specific mechanisms to (i) provision a new application instance and (ii) to retrieve available applications that are</note></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_0">http://www.moodle.org</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgements</head><p>This work was partially funded by the BMWi project CloudCycle (01MD11023). We thank Kálmán Képes for his work on the prototype.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">OpenTOSCA -A Runtime for TOSCA-based Cloud Applications</title>
		<author>
			<persName><forename type="first">T</forename><surname>Binz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICSOC. Springer</title>
				<imprint>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">TOSCA: Portable Automated Deployment and Management of Cloud Applications</title>
		<author>
			<persName><forename type="first">T</forename><surname>Binz</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2014-01">Januar 2014</date>
			<publisher>Springer</publisher>
			<biblScope unit="page" from="527" to="549" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Winery -Modeling Tool for TOSCA-based Cloud Applications</title>
		<author>
			<persName><forename type="first">O</forename><surname>Kopp</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICSOC. Springer</title>
				<imprint>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">OASIS Topology and Orchestration Specification for Cloud Applications</title>
	</analytic>
	<monogr>
		<title level="m">TOSCA) Version 1.0 Committee Specification</title>
				<imprint>
			<date type="published" when="2013">2013</date>
			<biblScope unit="volume">01</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">OASIS: Topology and Orchestration Specification for Cloud Applications</title>
	</analytic>
	<monogr>
		<title level="j">TOSCA) Primer Version</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">0</biblScope>
			<date type="published" when="2013-01">January 2013</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
