<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Vinothek - A Self-Service Portal for TOSCA</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Uwe Breitenbücher</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tobias Binz</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oliver Kopp</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Frank Leymann</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute for Parallel and Distributed Systems, University of Stuttgart</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute of Architecture of Application Systems, University of Stuttgart</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>69</fpage>
      <lpage>72</lpage>
      <abstract>
        <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>
      </abstract>
      <kwd-group>
        <kwd>Cloud Applications</kwd>
        <kwd>Self-Service Portal</kwd>
        <kwd>TOSCA</kwd>
        <kwd>Portability</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Vinothek provides a simple and easy accessible Web-based end user interface
to provision new application instances on diferent TOSCA Runtimes. The
portal consists of two main screens: The Overview page shown in Fig. 1 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. 2. This page presents all details about the selected application
and ofers diferent options to configure the provisioning (shown on the bottom
left in Fig. 2). 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.
3</p>
    </sec>
    <sec id="sec-2">
      <title>System Overview</title>
      <p>The Vinothek is implemented following the Web-based client-server architecture
shown in Fig. 3. 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</p>
      <p>GUI
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 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 ofered automatically by the Vinothek.</p>
      <p>
        Depending on the API provided by the respective TOSCA Runtime, the
implementations of plugins difer from each other. We implemented one plugin for
the OpenTOSCA Runtime [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], 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-specicfi 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”3 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” [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
4
      </p>
    </sec>
    <sec id="sec-3">
      <title>Conclusion and Outlook</title>
      <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 diferent 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>
      <p>Acknowledgements This work was partially funded by the BMWi project
CloudCycle (01MD11023). We thank Kálmán Képes for his work on the prototype.
3 http://www.moodle.org</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Binz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , et al.:
          <article-title>OpenTOSCA - A Runtime for TOSCA-based Cloud Applications</article-title>
          . In: ICSOC. Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Binz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , et al.:
          <source>TOSCA: Portable Automated Deployment and Management of Cloud Applications</source>
          , pp.
          <fpage>527</fpage>
          -
          <lpage>549</lpage>
          . Advanced Web Services, Springer (Januar
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Kopp</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          , et al.:
          <article-title>Winery - Modeling Tool for TOSCA-based Cloud Applications</article-title>
          . In: ICSOC. Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. OASIS:
          <article-title>OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA) Version 1.0 Committee Specification 01 (</article-title>
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. OASIS:
          <article-title>Topology and Orchestration Specification for Cloud Applications (TOSCA) Primer Version 1</article-title>
          .0 (
          <year>January 2013</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>