• No results found

WP2: Experimental Prototype of Software Components and Documentation: D2.3.2

N/A
N/A
Protected

Academic year: 2021

Share "WP2: Experimental Prototype of Software Components and Documentation: D2.3.2"

Copied!
45
0
0

Loading.... (view fulltext now)

Full text

(1)

Copyright © TID and other members of the 4CaaSt consortium 2011 Page 1

Building the PaaS Cloud of the Future

WP2: Experimental Prototype of

Software Components and

Documentation:

D2.3.2

Version x,x

WP2 – Service Engineering and Lifecycle Management

Dissemination Level: Limited to Programme Participants

Lead Editor: Francesco Lelli, ERISS

11/03/2013

Status: Final

The research leading to these results has received funding from the European Union's Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 258862

Seventh Framework Programme FP7-ICT-2009-5

(2)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 2

This is a public deliverable that is provided to the community under a Creative Commons Attribution 3.0 Unported License: http://creativecommons.org/licenses/by/3.0/

You are free:

to Share — to copy, distribute and transmit the work to Remix — to adapt the work

Under the following conditions:

Attribution — You must attribute the work in the manner specified by the author or licensor (but

not in any way that suggests that they endorse you or your use of the work).

With the understanding that:

Waiver — Any of the above conditions can be waived if you get permission from the copyright

holder.

Public Domain — Where the work or any of its elements is in the public domain under

applicable law, that status is in no way affected by the license.

Other Rights — In no way are any of the following rights affected by the license:

Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; The author's moral rights;

Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights.

Notice — For any reuse or distribution, you must make clear to others the license terms of this

work. The best way to do this is with a link to this web page.

For a full description of the license legal terms, please refer to:

(3)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 3

Contributors: Francesco Lelli

1

, ERISS

Mathijs van der PaauW, ERISS

Joerg Nimeoeller, Ericsson

Dimitri Mazmanov, Ericsson

Internal Reviewer(s):

Daniel Scheibli, SAP

Sergio Garcia Gomez, TID

Version History

Version Date Authors Sections Affected

0.1 11/11/2011 Francesco Lelli Outline

0.2 05/12/2011 Francesco Lelli Initial Version

0.3 10/01/2012 Francesco Lelli Description of the Interfaces

0.4 15/01/2012 Mathijs van der PaauW Deployment instructions

0.9 19/01/2012 Francesco Lelli Version for internal Review

0.9a 10/02/2012 Francesco Lelli Feedback from reviewers

1.0 12/02/2012 Francesco Lelli Final version

1.1 10/12/2012 Francesco Lelli Porting to the new template

1.2 15/01/2013 Francesco Lelli Integration with the Information of

the Blueprint Editor from FT

1.3 18/01/2013 Mathijs van der PaauW New deployment information

1.4 31/01/2013 Francesco Lelli

Stephane Pierre Carrie

Information regarding the Blueprint Editor

1.5 07/03/2013 Joerg Niemoeller

Dimitri Mazmanov

Information regarding the resolution engine.

1.0 11/03/2013 Francesco Final version

(4)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 4

Table of Contents

Executive Summary ... 9

1. Introduction ...10

1.1. Purpose and scope ...11

1.2. Document Overview ...11

1.3. Change Log (compared to D2.3.1) ...11

2. Prototype Description management ...12

2.1. WP2 Demos ...14

2.2. Infrastructure and Deployment ...14

2.2.1. BlueprintHQ and BlueprintEXE ...14

2.2.2. Blueprint Editor ...15

2.2.3. SLA Resolution Engine ...15

2.3. Relationship to other 4CaaSt Work Packages ...15

2.3.1. Interfaces to WP3 ...15 3. Component Management ...16 3.1. Blueprint HQ ...16 3.1.1. Generation instruction ...16 3.1.2. Installation instructions ...17 3.1.3. Configuration ...17 3.1.4. Execution Instructions ...17 3.2. Blueprint EXE ...18 3.2.1. Generation instruction ...19 3.2.2. Installation instructions ...20 3.2.3. Configuration ...20 3.2.4. Execution Instructions ...20 3.3. Blueprint Editor ...20 3.3.1. Generation instruction ...21 3.3.2. Installation instructions ...21 3.3.3. Configuration ...21 3.3.4. Execution Instructions ...23

3.4. SLA Resolution Engine ...23

4. User guide ...24

4.1. Blueprint Visualization...24

4.2. Blueprint Editor ...25

4.3. SLA Resolution Engine ...33

4.4. Blueprint Repository APIs ...33

(5)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 5

4.4.2. getBlueprints ...35

4.4.3. resolveBlueprints ...36

4.4.4. resolveBlueprintAlt ...37

4.4.5. Example of Request Response message ...39

5. Conclusions ...41

6. References ...42

(6)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 6

List of Figures

Figure 1 Blueprint Architecture ...10

Figure 2 Virtual Machine of the blueprintHQ server ...16

Figure 3 XAMPP: Configuration settings for Blueprint HQ ...18

Figure 4 Virtual Machine of the blueprintEXE server ...19

Figure 5 XAMPP: Configuration settings for Blueprint EXE ...20

Figure 5 Blueprint Visualization ...24

Figure 6 Blueprint Editor ...25

Figure 7 Blueprint HQ: documentation ...34

Figure 8 getBlueprint: details of the remote call ...35

Figure 9 getBlueprints detail of the remote call ...36

Figure 10 resolveBlueprints details of the call ...37

(7)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 7

List of Tables

Table 1 Features and Component mapping ...12 Table 2 Component and Associated Functionalities ...13 Table 3 Summary of the Deployed Machines ...14

(8)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 8

Abbreviations

A table with used abbreviations is strongly recommended

BAC Business Advisory Committee

TAC Technical Advisory Committee

SB Steering Board

GA General Assembly

IP Integrated Project

TCC Technical Coordination Committee

TM Technical Manager

PC Project Coordinator

4CaaSt Building the PaaS Cloud of the future

TL Task Leader

TOC Table of Content

WPC Work Package Committee

(9)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 9

Executive Summary

The 4CaaSt Blueprint Repository offers tooling and services for storing, retrieving filtering and combining blueprints. In other words it is intended as a layer offering a set of services for manipulating blueprints to the user.

The first release of the Blueprint has been prototyped and deployed in the FLEXISCALE cloud infrastructure and each component has been realised as a dedicated virtual machine.

The present prototype is based on the first blueprint version that is offering: - Support for publication of blueprints

- Basic Support for editing blueprints

- Basic APIs for integration with Marketplace (WP2) and Deployment (WP4)

This document intends to provide a set of guidelines on how to set up and configure the 4CaaSt Blueprint Repository. In addition we present the developed components and describe the main user interfaces.

(10)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 10

1.

Introduction

Following the requirements specified in [2] we have worked towards a comprehensive blueprint tool for supporting the application developers during the entire development lifecycle as described in deliverable D2.2.2 and D.2.1.2. Figure 1 presents the prototype architecture of the blueprint repository and blueprint tools.

The Blueprint Headquarter (BlueprintHQ) server provides the SOAP API for accessing the repository and manipulating stored blueprints. provide the interface that can be used by external components for accessing the blueprint repository and the resolution engine via SOAP message communication. Key operations are:

getBlueprint(BlueprintID) to retrieve a blueprint from the repository based on its unique ID, getBlueprints([property, value]*) to retrieve several blueprints based on their property values, like, requirements, offerings artefacts etc.

resolveBlueprint(BlueprintID) to resolve a blueprint by invoking the Blueprint Resolution Engine. This API is consumed by the marketplace component provided by WP3.

The BlueprintEXE server supporting a web-based user interface for visualization purpose that consumes the BlueprintHQ API described above. All the components of the blueprint prototype, i.e. the BlueprintEXE, BlueprintHQ, blueprint repository and blueprint resolution engine, are currently hosted on a Flexiscale virtual machine (supported by our Flexiant partner).

Figure 1 Blueprint Architecture

The Blueprint repository is where all the XML-based Blueprints in the 4caaSt project are stored. The Blueprint resolution engine: performs the matchmaking of the requirements contained in an input blueprint against the existing blueprints in the blueprint repository, and then produces a set of alternative Abstract Resolved Blueprints (ARBs) as the result. Each ARB is a possible combination of blueprints that constitute a cloud application.

The Blueprint editor: is a Web interface that allows end-users to interact with the blueprint repository, e.g. to add, modify, display, or delete blueprints.

(11)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 11

1.1.

Purpose and scope

This Document intends to complement the software release WP2 providing an overview of the deployed architecture, information regarding the installation and use guidelines.

This document should be used as starting point for deploying and run the present release of the software. Note that this document only refers to the functionalities that have been implemented and released for the first version of the blueprint repository and will be updated during the various releases

1.2.

Document Overview

The rest of this document is organized as follows:

Section 2: provides detailed information regarding component management and the deployed machines.

Section 3: provides user information, regarding the released APIs and the Visualization Interfaces.

Section 4: give a set of references for accessing the Demo that has been realised together with the first release of the code.

Section 5: gives some conclusions about the results obtained in the first iteration of the Blueprint Repository and related tooling.

1.3.

Change Log (compared to D2.3.1)

From a comparison between D2.3.1 and D.2.3.2 we can note the following:

 The architecture of the components is substantially unchanged. Thus validating the work performed in the previous version of the document.

 All the components have been improved and during this iteration and new figures have been provided

 A new component called “blueprint editor” has been developed

 A video describing the functionalities of the blueprint visualizer have been provided  A Chapter regarding the designed Manipulation APIs has been added.

 Appendix A (WSDL) has been modified following the changes in the language  New demos have been created and a collection of links have been reported

(12)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 12

2.

Prototype Description management

The second release of WP advance all the features reported in D.1.1.3b. All the features have been implemented however some of the aspects remain basic and will be improved in the 3rd iteration.

The following table report the features and the software that have been delivered: Table 1 Features and Component mapping

Feature Id Feature Name Status Component F#WP2.01 Support the

design of a cloud enabled solution

In Progress Blueprint language Reported in D.2.2.2

Web Interface and Blueprint repository implemented in the blueprint HQ

F#WP2.02 Empower cloud Developers

In Progress Web Interface implemented in the blueprintEXE

The Blueprint SOAP APIs the Blueprint resolution engine. And the Blueprint repository

implemented in the blueprint HQ F#WP2.03 Break the

Monolithic Cloud and avoid vendor lock-in

In Progress Blueprint language documented in D.2.2.2

F#WP2.04 Resolution of Service Requirements

In Progress Blueprint resolution engine documented in D.2.2.2

F#WP2.05 Cloud Offering Orchestration

In Progress Blueprint language and Blueprint resolution engine documented in D.2.2.2

Web Interface and Blueprint repository implemented in the Blueprint Editor, the blueprintEXE and the blueprintHQ

As described in section 1 the 4CaaSt blueprint prototypes are a set of software components deployed into the FLEXISCALE cloud infrastructure. The present deployment consists of 4 different virtual machines.

Users of the blueprint services stored in the BluepringHQ can access to its user interface by means of a Web-based front end deployed on an Apache application server, with a MySQL database. Communications between different components are mainly based on SOAP interfaces/Web services.

(13)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 13 The following table summarize the released components and provides an overview of the functionalities offered by each of them. Please note also that the blueprint language and the blueprint resolution engine have been extensively described in D.2.2.2.

Table 2 Component and Associated Functionalities Component

Name

Associated Features Functionalities

Blueprint Language F#WP2.01 F#WP2.02 F#WP2.03 F#WP2.05

Blueprint language has been extensively reported in D.2.2.2. It leverages a categorization of the information in order to perform a match making between offering and requirements. Blueprint Visualizer F#WP2.02 F#WP2.04 F#WP2.05

Visualization of the Information contained in the blueprint language.

Visualization of Abstract Resolved Blueprints Integration with the Resolution engine Filter of the core information of the blueprint SOAP

APIs

F#WP2.02 F#WP2.03 F#WP2.04

Façade for the blueprint repository WS-I Compliant

Façade for the Resolution Engine

Resolution Engine

F#WP2.04 The Blueprint resolution engine documented in D.2.2.2. By looking and the Blueprint repository it select a set of cloud based services that match and original request. Blueprint

Editor

F#WP2.02 F#WP2.05

Visualization of the Blueprints in the repository

Interface with the SOAP APIs Editing of Blueprints

Editing of single information contained in the blueprint Blueprint Repository F#WP2.01 F#WP2.02 F#WP2.03 F#WP2.05 Upload Blueprints Create Blueprints Destroy Blueprints

Check consistency of blueprints

The source code released under BSD license is available at the following URL: https://svn.forge.morfeo-project.org/4caast/trunk/WP2/

(14)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 14 and organized in two directory, one for each machine that has been deployed:

 Exe blueprintEXE server  Hq BlueprintHQ server

2.1.

WP2 Demos

A demo of the blueprint repository and of the visualization tool is available is available at the following links:

- http://blueprintexe.host-for.me/4CaaSt/blueprint_sdk_main.php As described in Section 4 This GUI accesses the blueprint repository and visualizes the blueprints in way that is easy to understand for cloud service developers. In addition a video describing the functionalities is available at the following link: http://www.youtube.com/watch?v=7UX5NfvP-Mw

- http://blueprintexe.host-for.me/4CaaSt/blueprintHQ.htm The Blueprint HQ is the server that exposes the WSDL (See appendix A) for accessing manipulating Blueprints.

- The Blueprint editor: is a Web interface that allows end-users to interact with the blueprint repository, e.g. to add, modify, display, or delete blueprints. http://109.231.78.131/fourcaast-blueprint-editor

2.2.

Infrastructure and Deployment

2.2.1.

BlueprintHQ and BlueprintEXE

The following table summarizes the information related to 4CaaSt blueprint VMs:

Table 3 Summary of the Deployed Machines VM # OS Applications 4CaaSt Components URL VM1 Windows Server 2008 R2 MySQL, Apache HTTP Web Server  blueprint Repository http://blueprintHQ.host-for.me VM2 Windows Server 2008 R2 MySQL, Apache HTTP Web Server  blueprint Visualizer http://blueprintEXE.host-for.me

(15)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 15

2.2.2.

Blueprint Editor

Blueprint editor

VM3 Ubuntu MyQL  Blueprint Editor http://109.231.78.131/fourcaast-blueprint-editor

2.2.3.

SLA Resolution Engine

SLA resolution Engine

VM4

Ubuntu Tomcat

Application Server

 SLA Resolver http://109.231.73.115/App-

Web-Resolve/SlaResolverSvc

2.3.

Relationship to other 4CaaSt Work Packages

2.3.1.

Interfaces to WP3

The blueprint manipulation language that has been extensively described in D2.2.2 represents the interface between the blueprint repository and the marketplace. The language has been coded in a WS-I compliant service and in appendix A we report the WSDL.

(16)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 16

3.

Component Management

3.1.

Blueprint HQ

We provided the component as a Virtual Machine for the 4CaaSt platform, and have been deployed in FLEXISCALE, in particular as follows:

 blueprintHQ

o Url: http://blueprintHQ.host-for.me o OS: Windows Server 2008 R2 standard o DataBase: Mysql:

Figure 2 Virtual Machine of the blueprintHQ server

3.1.1.

Generation instruction

The source code is available in the 4CaaSt repository at the following link: https://svn.forge.morfeo-project.org/4caast/trunk/WP2/

In particular at the following subdirectory  Exe blueprintEXE server

(17)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 17

3.1.2.

Installation instructions

Two different installation procedure have been produced: - Virtual machine

- Manual installation

In the first case the artefact is provided as a Virtual Machine so no particular installation instructions are required.

In the second case the procedure is the following:

$ Install XAMPP //(change all default passwords): this installs Apache, MySQL (& FileZilla FTP)

$ Copy htdoc from repository to htdoc directory (BlueprintHQ:

https://svn.morfeo-project.org/4caast/trunk/WP2/hq)

Installation Notes:

 The application embeds the NuSoap Library for developing web services.

 We recommend to move the htdoc directory from the default drive C: to D: (due to the size of the drive).

 Both BlueprintHQ and BlueprintEXE share a very similar installation procedure

3.1.3.

Configuration

The internal database and the PHP engine are already pre-configured in the virtual machine so no additional instructions are required. However we recommend 1GB or RAM and a dimension of the virtual disk adequate to the size of the foreseen blueprint repository.

3.1.4.

Execution Instructions

The PHP server and the MySQL engine run as a service inside the virtual machine therefore, no execution instructions are required. We recommend giving a name to the machine in order to easily address the service. The application server run as a service in following the standard configuration of XAMPP.

$ Xampp setting

(18)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 18 Figure 3 XAMPP: Configuration settings for Blueprint HQ

3.2.

Blueprint EXE

The Blueprint EXE is the component that interfaces the blueprint repository to the rest of the 4CaaSt middleware. It is delivered as a Virtual Machine that can be easily re-deployed.  Virtual Machine: blueprintEXE

o Url: http://blueprintEXE.host-for.me o OS: Windows Server 2008 R2 standard o Web Server: Appache

(19)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 19

Figure 4 Virtual Machine of the blueprintEXE server

3.2.1.

Generation instruction

The Blueprint EXE, share a similar installation procedure of the one provided for the Blueprint HQ. In particular, two different installation procedure have been produced:

- Virtual machine - Manual installation

In the first case the artefact is provided as a Virtual Machine so no particular installation instructions are required.

In the second case the procedure is the following:

$ Install XAMPP //(change all default passwords): this installs Apache, MySQL (& FileZilla FTP)

$ Copy htdoc from repository to htdoc directory (BlueprintEXE: https://svn.morfeo-project.org/4caast/trunk/WP2/exe)

Installation Notes:

 The application embeds the NuSoap Library for developing web services.

 We recommend to move the htdoc directory from the default drive C: to D: (due to the size of the drive).

(20)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 20

3.2.2.

Installation instructions

The internal database and the PHP engine are already pre-configured in the virtual machine so no additional instructions are required. However we recommend 1GB or RAM and a dimension of the virtual disk adequate to the size of the foreseen blueprint repository.

3.2.3.

Configuration

The PHP server and the MySQL engine run as a service inside the virtual machine therefore, no execution instructions are required. We recommend giving a name to the machine in order to easily address the service

3.2.4.

Execution Instructions

The PHP server and the MySQL engine run as a service inside the virtual machine therefore, no execution instructions are required. We recommend giving a name to the machine in order to easily address the service

The application server run as a service in following the standard configuration of XAMPP. $ Xampp setting

$ Start the module on start-up

Figure 5 XAMPP: Configuration settings for Blueprint EXE

3.3.

Blueprint Editor

Easy deployment is an important feature for an Open source product if a successful dissemination is desired.

Once deployed in a DEBIAN compliant package repository (basically a website with a particular layout and file descriptor), our open source blueprint editor should be installable on a recent UBUNTU or DEBIAN server with commands similar to these:

(21)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 21 $ sudo sh -c "echo 'deb <<URL of 4Caast repository>> binary/' >

/etc/apt/sources.list.d/fourcaast.list" $ sudo apt-get update

$ sudo apt-get install fourcaast-blueprint-editor

3.3.1.

Generation instruction

1. Build orange version of the telco-server from scratch using the following commands: $ svn checkout

https://svn.forge.morfeo-project.org/4caast/trunk/WP2/orangeBlueprintEditor/source $ cd orangeBlueprintEditor/source

$ mvn install -Pdebian

2. Deploy generated *.deb file in a Debian repository.

3.3.2.

Installation instructions

1. Install a Mysql database somewhere. Create a schema and a user with grants. 2. Install an Ubuntu server Lucid 10.04 (later version should work but are not tested). 3. Configure networking so this server can reach 4CaaSt SVN repository. If necessary

define a proxy following standard procedures. $ sudo bash

$ export

REP=’https://svn.forge.morfeo-project.org/4caast/trunk/WP2/orangeBlueprintEditor/debian’

$ echo “deb $REP precise 4CaaSt_wp2” > /etc/apt/sources.list.d/4CaaSt_wp2” 4. Update local package list with the following command:

$ sudo apt-get update

5. Install fourcaast-blueprint-webapp with command: $ sudo apt-get install fourcaast-blueprint-webapp

3.3.3.

Configuration

1. Configure fourcaast-blueprint-webapp interactively with command $ sudo dpkg-reconfigure fourcaast-blueprint-webapp

(22)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 22 Figure 1. Blueprint editor database user configuration screen

b. Provide database password

Figure 2. Blueprint editor database password configuration screen

(23)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 23 Figure 3. Blueprint editor JDBC configuration screen

Note: This configuration can also be done programmatically using DEBIAN standard tools

3.3.4.

Execution Instructions

Reboot your server or run the following DEBIAN standard compliant command: $ sudo service fourcaast-blueprint-webapp start

3.4.

SLA Resolution Engine

The resolution engine is delivered as already fully configured package. The delivered .war file can be deployed on a java application server to be integrated into the WP2 infrastructure. No additional configuration is necessary. Prerequisite: blueprint repository.

(24)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 24

4.

User guide

In this section we describe the released software from an end users point of view.

4.1.

Blueprint Visualization

The information contained in the Blueprint is represented in XML and particularly difficult to read by a human. Therefore we decide to implement a viewer supporting the visualization of blueprints for overcome this issues. The present prototype is capable of visualizing Abstract Resolved Blueprints and using the following legend:

 Blue box: refers to cloud services described via blueprint  Yellow ellipse: refers to artefacts that will be deployed  Blue arrow: refers to needs of the particular blueprint  Red arrow: refers to offering of a particular blueprint

Note, that users can move items in the visualisation to screen in order to display the concatenation of a set of blueprints in an intuitive way. The position in the screen will be kept in the BlueprintEXE and saved for future usages. This functionality is not part of the blueprintHQ server because we decided to maintain a clear separation between functionalities of the repository and visualization issues.

Figure 6 Blueprint Visualization

A demo is also available at the following link: http://blueprintexe.host-for.me/4CaaSt/

(25)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 25 http://www.youtube.com/watch?v=7UX5NfvP-Mw

4.2.

Blueprint Editor

The blueprint editor integrates with other blueprint component thanks to the APIs that will be presented in section 3.2. It allows user-friendly visualization and editing of one or more services described using the blueprint template presented in the deliverable D.2.2.2

The figure below report a snapshot of the graphical user interface that has been developed:

Figure 7 Blueprint Editor Key features includes:

 Staging Editor of Blueprints

 Built-in support for blueprint extension language  Publication and editing of blueprints in the repository

(26)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 26

4.2.1.1.

Importing a blueprint from XML

From application welcome screen, click on , then edit or paste XML blueprint in “blueprint XML” field and click on validate.

4.2.1.2.

Creating a blueprint from scratch

From application welcome screen, click on creation box next to “abstract blueprint” label.

For the core blueprint, Blueprint editor follows the structure of the blueprint XSD. In order to create a sub-element, click on a creation box. Present document presents generic rules for navigating in the structure but does not document structure of field usage which is documented in blueprint documentation.

To create a new sub-element such as a new artefact, you need to locate the name of the field in the editor, and click on creation box on its right.

Figure 4. Blueprint editor creation box

Then select the type of element to create (only one choice in this example)

Figure 5. Blueprint editor creation box – select type

To navigate to an already existing referenced element, click on the edit/view icon generally located on the left column of an item table:

(27)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 27

4.2.1.3.

Displaying XML view of a blueprint

On the blueprint screen, click on then click on XML result and eventually zoom using F11.

Figure 7. Blueprint editor XML view of a blueprint

4.2.1.4.

Creating a blueprint graphical view

Blueprint editor allows multiple views to be created for a given blueprint. To create a view, click on “create and add a” and select “Blueprint Graphical View”.

(28)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 28 Figure 8. Blueprint editor create a blueprint view

4.2.1.5.

Customizing a blueprint graphical view

Blueprint graphical view may be customized individually by end user using the following options:

Figure 9. Blueprint editor graphical view customization

4.2.1.6.

Content and purpose of a blueprint Graphical view

Understanding a blueprint structure is sometime easier using a graphical view. Also some classes of errors can be easily spotted in graphical mode. For these reasons, blueprint editor provides graphical views for blueprint under edition.

In the diagram below, each element have a different shape. Nature of the element is given by the first word before semicolon (Offering, Blueprint, Artefact requirement).

A blueprint is shown on the diagram as:

 An offering linked to a blueprint (basic properties)  A blueprint (basic properties) linked to Artefacts  Artefacts

(29)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 29 Diagram elements are link by

 Implicit ownership link from offering to blueprint (basic properties)  Implicit ownership links from blueprint (basic properties) to artefacts.  Implicit ownership links from blueprint (basic properties) to requirements.  Vertical dependencies links (in dashed red)

 Horizontal dependencies links (in dotted green)

Figure 10. Blueprint editor unfolded view graphical with horizontal and vertical dependencies

The previous diagram displays artefact with similar links. They have in fact the exact same graph structure and may thus be grouped in a single box. Blueprint editor implements a graph manipulation algorithm for grouping similar artefacts as shown in the following diagram. This feature greatly improves readability of some family of blueprints and can greatly help tracking inconsistencies that would otherwise be hard to detect in an unfolded diagram.

Figure 11. Blueprint editor folded graphical view with horizontal and vertical dependencies

4.2.1.7.

Content and purpose of a resolved blueprint graphical view

Graphical view is also especially important for resolved blueprint which contain a recursive list of blueprint dependencies. In order to see how a blueprint is resolved, click on “show required blueprints”. This will only display additional element if selected blueprint is resolved.

(30)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 30 Resolved blueprint graphical view is similar to blueprint graphical view besides:

 Show requirement Resolution option must be switch on.  Multiple blueprints are visible in a single diagram

 An additional link (resolved by) is displayed between requirement and a correspondent resolving offering.

In the following diagram example, a (..)Warrant management(...) blueprint has 2 requirements which are resolved by 2 blueprint offerings postgresql and tomcat 6 which in turn have 2 requirements toward a linux server which are offered by a flexiscale virtual machine offering.

(31)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 31 Figure 12. Blueprint editor graphical view of a resolved blueprint

(32)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 32

4.2.1.8.

Editing known blueprint extensions

Known blueprint extensions are edited using the same built-in mechanism as used for the core blueprint.

4.2.1.9.

Editing other blueprint extensions

When a blueprint extension is not known to the blueprint editor, a generic blueprint editor is provided. XML is color highlighted for improved readability and completion may be provided with future development.

Figure 13. Blueprint editor XML view of a generic extension

Clicking on “format”, reformat text for easier text reading. It can also be viewed full paged by clicking on F11.

Figure 14. Blueprint editor formatted XML view of a generic extension

For large XML editing, user may click on F11. The XML text is then rendered full page and other page elements are hidden in the background.

Faulty XML is highlighted in red for easy correction. In the example below, “aaa” does not match “bbb”.

(33)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 33 Figure 15. Blueprint editor faulty XML highlight of a generic extension

4.2.1.10.

Importing a blueprint from Blueprint repository

On welcome screen, click on “import Blueprint From Cache”. Then select desired blueprint in the proposed list.

4.2.1.11.

Exporting a blueprint to a Blueprint repository

On a blueprint page, click on “publish to runtime repository”, then select a runtime repository in the proposed list and click on validate.

Status of export is saved in “information Log” visible from the main blueprint page. You may know when a blueprint was exported and the status of the export.

4.3.

SLA Resolution Engine

The resolution engine is integrated into the overall WP2 infrastructure as a service. It does not have dedicated user front-ends or configuration tools.

4.4.

Blueprint Repository APIs

In this section we describe some of the APIs developed for accessing and manipulating the Blueprints. Most of the content of this section is available online:

http://blueprintexe.host-for.me/4CaaSt/blueprintHQ.htm

(34)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 34

Figure 8 Blueprint HQ: documentation

The keys methods are:  getBlueprint  getBlueprints  resolveBlueprint  resolveBlueprintAlt

these methods have been adapted and extended for supporting the second version of the blueprinting language.

4.4.1.

getBlueprint

Retrieve a blueprint from the blueprintHQ based on its unique ID. Below you can find the details of the call

(35)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 35

Figure 9 getBlueprint: details of the remote call

4.4.2.

getBlueprints

Retrieve several blueprints from the blueprintHQ based on their property values. Below you can find the details of the call:

(36)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 36

Figure 10 getBlueprints detail of the remote call

4.4.3.

resolveBlueprints

Provide the user the best candidate for deployable solution of given blueprint. Below you can find the details of the call:

(37)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 37

Figure 11 resolveBlueprints details of the call

4.4.4.

resolveBlueprintAlt

Provide the user all deployable solutions of given blueprint as Input. Below you can find the details of the call:

(38)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 38

(39)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 39

4.4.5.

Example of Request Response message

An example of Request/Response message is shown in this section. Additional example are available from: http://blueprintexe.host-for.me/4CaaSt/blueprintHQ.htm

Request

POST /4CaaSt/blueprint.php HTTP/1.0

Host: 109.231.78.171

User-Agent: NuSOAP/0.9.5 (1.123)

Content-Type: text/xml; charset=ISO-8859-1

SOAPAction: "urn:blueprint#getBlueprint"

Content-Length: 462

<?xml version="1.0" encoding="ISO-8859-1"?>

<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"

xmlns:ns3190="urn:blueprint">

<SOAP-ENV:Body>

<getBlueprint

xmlns="http://109.231.78.171/4CaaSt/blueprint.php">

<uuid xmlns="">1</uuid>

</getBlueprint>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Response

HTTP/1.1 200 OK

Date: Wed, 18 Jan 2012 13:35:29 GMT

Server: Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o

PHP/5.3.4 mod_perl/2.0.4 Perl/v5.10.1

X-Powered-By: PHP/5.3.5

X-SOAP-Server: NuSOAP/0.9.5 (1.123)

Content-Length: 2073

Connection: close

Content-Type: text/xml; charset=ISO-8859-1

<?xml version="1.0" encoding="ISO-8859-1"?>

<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">

<SOAP-ENV:Body>

<getBlueprintResponse

(40)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 40

xmlns="http://109.231.78.171/4CaaSt/blueprint.php">

<result xmlns="">

<uuid>1</uuid>

<name>Lucy&apos;s Blueprint</name>

<date_created>2011-08-08 12:31:55</date_created>

<blueprint>&amp;lt;?xml version=&amp;quot;1.0&amp;quot;

encoding=&amp;quot;UTF-8&amp;quot;

standalone=&amp;quot;no&amp;quot;?&amp;gt;

&amp;lt;blueprint

NS1:schemaLocation=&amp;quot;http://www.4caast.eu/blueprint

blueprint_template.xsd &amp;quot;

xmlns=&amp;quot;http://www.4caast.eu/blueprint&amp;quot;

xmlns:NS1=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&amp;gt;&amp;lt;basic_properties_section&amp

;gt;&amp;lt;blueprint_id&amp;gt;Lucy&apos;s sexiest

Blueprint&amp;lt;/blueprint_id&amp;gt;&amp;lt;description&amp;

gt;My hamster Lucy (5.0) as a

Blueprint&amp;lt;/description&amp;gt;&amp;lt;version&amp;gt;1.

0&amp;lt;/version&amp;gt;&amp;lt;release_date&amp;gt;2011-09-15&amp;lt;/release_date&amp;gt;&amp;lt;owner&amp;gt;4CaaSt/ERI

SS&amp;lt;/owner&amp;gt;&amp;lt;/basic_properties_section&amp;

gt;&amp;lt;offering_section&amp;gt;&amp;lt;capability&amp;gt;H

amster

awerness&amp;lt;/capability&amp;gt;&amp;lt;service_signature&a

mp;gt;&amp;lt;api_location&amp;gt;http://hamstertracker.com/Pr

inciples.html&amp;lt;/api_location&amp;gt;&amp;lt;endpoint_loc

ation&amp;gt;http://hamstertracker.com/&amp;lt;/endpoint_locat

ion&amp;gt;&amp;lt;range_of_instance&amp;gt;&amp;lt;minimum&am

p;gt;1&amp;lt;/minimum&amp;gt;&amp;lt;maximum&amp;gt;1&amp;lt;

/maximum&amp;gt;&amp;lt;/range_of_instance&amp;gt;&amp;lt;func

tionality&amp;gt;To publish and retrieve hamster data,

generated by

Lucy(5.0)&amp;lt;/functionality&amp;gt;&amp;lt;/service_signat

ure&amp;gt;&amp;lt;/offering_section&amp;gt;&amp;lt;/blueprint

&amp;gt;</blueprint>

</result>

</getBlueprintResponse>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

(41)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 41

5.

Conclusions

This document contains information for deploying and operating the first version of the Blueprint repository and tools supporting blueprint visualization.

The software was deployed to the Flexiscale cloud infrastructure and successfully integrated with WP3 and between WP3 and WP4.

The interoperability has been achieved using WS-I compliant interfaces exchanging messages in SOAP.

The present APIs give support for publication, resolution and editing of blueprints.

Most of the documentation contained in this document and examples of use have been released as part of the demos and are available online.

(42)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 42

6.

References

[1] 4CaaSt FP7 Grant Agreement - Annex II General Conditions Grant Agreement No. 258862 [2] F. Lelli, D.K. Nguyen, M. Parkin,Y. Taher Blueprinting the Cloud: Scientific and Technical Report,

4CaaSt Project, Deliverable 2.1.1, July 2011

[3] F. Lelli, D.K. Nguyen, M. Parkin,Y. Taher, S. Strauch, T. Binz, J. Niemoeller Component Design and Open Specification, 4CaaSt Project, Deliverable 2.2.1, July 2011

[4] F. Lelli, D.K. Nguyen, M. Parkin,Y. Taher Blueprinting the Cloud: Scientific and Technical Report, 4CaaSt Project, Deliverable 2.1.2, July 2012

[5] F. Lelli, D.K. Nguyen, M. Parkin,Y. Taher, S. Strauch, T. Binz, J. Niemoeller Component Design and Open Specification, 4CaaSt Project, Deliverable 2.2.2, July 2012

(43)

Copyright © TID and other members of the 4CaaSt consortium 2011 Page 43

Annex A.

WSDL of the Blueprint Repository

The WS-I compliant WSDL that is available at the following link: http://blueprinthq.host-for.me/4CaaSt/blueprint.php?wsdl <?xml version="1.0"?> <definitions targetNamespace="http://109.231.78.171/4CaaSt/blueprint.php"> <types> <schema elementFormDefault="qualified" targetNamespace="http://109.231.78.171/4CaaSt/blueprint.php"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/><import namespace="http://schemas.xmlsoap.org/wsdl/"/> <complexType name="Blueprint"> <sequence>

<element name="uuid" type="xsd:string"/> <element name="name" type="xsd:string"/>

<element name="date_created" type="xsd:string"/> <element name="blueprint" type="xsd:string"/> </sequence>

</complexType>

<complexType name="getBlueprintRequestType"> <all>

<element name="uuid" type="xsd:string" form="unqualified"/> </all>

</complexType><complexType name="getBlueprintResponseType"> <all>

<element name="result" type="tns:Blueprint" form="unqualified"/> </all>

</complexType>

<complexType name="Map"> <sequence>

<element name="key" type="xsd:string"/> <element name="value" type="xsd:string"/> </sequence>

</complexType>

<complexType name="Maplist"> <sequence>

<element name="element" type="tns:Map" minOccurs="0" maxOccurs="unbounded"/> </sequence>

</complexType>

<complexType name="reslveBlueprint"> <sequence>

<element name="uuid" type="xsd:string"/> <element name="map" type="tns:Maplist"/> </sequence>

</complexType>

<complexType name="ffBlueprintResult"> <sequence>

<element name="blueprint" type="xsd:string"/> </sequence>

</complexType>

<complexType name="blueprintList"> <sequence>

<element name="element" type="tns:Blueprint" minOccurs="0" maxOccurs="unbounded"/> </sequence>

</complexType>

<complexType name="getBlueprintsRequestType"> <all>

<element name="input" type="tns:Maplist" form="unqualified"/> </all>

</complexType>

<complexType name="getBlueprintsResponseType"> <all>

<element name="result" type="tns:blueprintList" form="unqualified"/> </all>

</complexType>

<complexType name="resolveBlueprintRequestType"> <all>

(44)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 44

</all>

</complexType>

<complexType name="resolveBlueprintResponseType"> <all>

<element name="result" type="tns:ffBlueprintResult" form="unqualified"/> </all>

</complexType>

<complexType name="resolveBlueprintAltRequestType"> <all>

<element name="input" type="tns:reslveBlueprint" form="unqualified"/> </all>

</complexType>

<complexType name="resolveBlueprintAltResponseType"> <all>

<element name="result" type="tns:ffBlueprintResult" form="unqualified"/> </all>

</complexType>

<element name="getBlueprint" type="tns:getBlueprintRequestType"/>

<element name="getBlueprintResponse" type="tns:getBlueprintResponseType"/> <element name="getBlueprints" type="tns:getBlueprintsRequestType"/>

<element name="getBlueprintsResponse" type="tns:getBlueprintsResponseType"/> <element name="resolveBlueprint" type="tns:resolveBlueprintRequestType"/>

<element name="resolveBlueprintResponse" type="tns:resolveBlueprintResponseType"/> <element name="resolveBlueprintAlt" type="tns:resolveBlueprintAltRequestType"/>

<element name="resolveBlueprintAltResponse" type="tns:resolveBlueprintAltResponseType"/> </schema>

</types>

<message name="getBlueprintRequest">

<part name="parameters" element="tns:getBlueprint"/> </message>

<message name="getBlueprintResponse">

<part name="parameters" element="tns:getBlueprintResponse"/> </message>

<message name="getBlueprintsRequest">

<part name="parameters" element="tns:getBlueprints"/> </message>

<message name="getBlueprintsResponse">

<part name="parameters" element="tns:getBlueprintsResponse"/> </message>

<message name="resolveBlueprintRequest">

<part name="parameters" element="tns:resolveBlueprint"/> </message>

<message name="resolveBlueprintResponse">

<part name="parameters" element="tns:resolveBlueprintResponse"/> </message>

<message name="resolveBlueprintAltRequest">

<part name="parameters" element="tns:resolveBlueprintAlt"/> </message>

<message name="resolveBlueprintAltResponse">

<part name="parameters" element="tns:resolveBlueprintAltResponse"/> </message>

<portType name="blueprintPortType"> <operation name="getBlueprint">

<documentation>This interface returns a blueprint with a given UUID</documentation> <input message="tns:getBlueprintRequest"/><output message="tns:getBlueprintResponse"/> </operation>

<operation name="getBlueprints">

<documentation>This method returns blueprints based on input criteria.</documentation> <input message="tns:getBlueprintsRequest"/>

<output message="tns:getBlueprintsResponse"/> </operation>

<operation name="resolveBlueprint">

<documentation>This method returns the result of resolving a blueprint. If there are configuration properties they could be specified here.</documentation>

<input message="tns:resolveBlueprintRequest"/> <output message="tns:resolveBlueprintResponse"/> </operation>

<operation name="resolveBlueprintAlt">

<documentation>This method returns the result of resolving a blueprint. If there are configuration properties they could be specified here.</documentation>

<input message="tns:resolveBlueprintAltRequest"/> <output message="tns:resolveBlueprintAltResponse"/> </operation>

(45)

Copyright © ERISS and other members of the 4CaaSt consortium 2013 Page 45

<binding name="blueprintBinding" type="tns:blueprintPortType">

<binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="getBlueprint">

<operation soapAction="urn:blueprint#getBlueprint" style="document"/> <input>

<body use="literal" namespace="urn:blueprint"/> </input>

<output>

<body use="literal" namespace="urn:blueprint"/> </output>

</operation>

<operation name="getBlueprints">

<operation soapAction="urn:blueprint#getBlueprints" style="document"/> <input><body use="literal" namespace="urn:blueprint"/></input>

<output><body use="literal" namespace="urn:blueprint"/> </output>

</operation><operation name="resolveBlueprint">

<operation soapAction="urn:blueprint#resolveBlueprint" style="document"/> <input>

<body use="literal" namespace="urn:blueprint"/> </input>

<output>

<body use="literal" namespace="urn:blueprint"/> </output>

</operation>

<operation name="resolveBlueprintAlt">

<operation soapAction="urn:blueprint#resolveBlueprintAlt" style="d ocument"/> <input>

<body use="literal" namespace="urn:blueprint"/> </input>

<output>

<body use="literal" namespace="urn:blueprint"/> </output>

</operation> </binding>

<service name="blueprint">

<port name="blueprintPort" binding="tns:blueprintBinding">

<address location="http://blueprinthq.host-for.me/4CaaSt/blueprint.php"/> </port>

</service> </definitions>

Figure

Figure 1 Blueprint Architecture
Table 1 Features and Component mapping
Table 2 Component and Associated Functionalities
Table 3 Summary of the Deployed Machines
+7

References

Related documents

The physical and chemical characteristics of crude oils and the yields and properties of products or fractions prepared from them vary considerably and are dependent on

2.3.1 A regulated agent annotates “SPX” on &#34;Signature of Issuing Carrier or its Agent&#34; box at the bottom right corner of a Master Air Waybill immediately above its

F876/F2023 requirements for chlorine resistance of PEX pipe in potable water plumbing applications appear robust enough to ensure minimum performance of both PEX distribution and

Regional integration performance: As the dominant economic power, South Africa controls most of the intra-regional supply chains, and dictates value chain dynamics within the

Included in this review is the role that Technology teachers’ knowledge can play in promoting the acquisition of higher order thinking skills, together with pedagogical,

Hasil tersebut membuktikan bahwa hipotesis yang menyatakan terdapat hubungan negatif antara school well-being dengan agresivitas pada siswa SMK Negeri 4 Kota Semarang

Read important warnings and information on the inside cover of this catalog titled Cautions.. Wire Rope Clips Size Rope Dia. Clips Required Amt. Wire Rope to Turn Back Torque in

When you receive primary or specialty care at Group Health Medical Centers, you get access to our full breadth of services, including e-mail access to your doctor, online