Topology and Orchestration Specification for Cloud Applications (TOSCA) Primer Version 1.0

Total Page:16

File Type:pdf, Size:1020Kb

Topology and Orchestration Specification for Cloud Applications (TOSCA) Primer Version 1.0

Topology and Orchestration Specification for Cloud Applications (TOSCA) Primer Version 1.0

Committee Note Draft 01 31 January 2013 Specification URIs This version: http://docs.oasis-open.org/tosca/tosca-primer/v1.0/cnd01/tosca-primer- v1.0-cnd01.doc (Authoritative) http://docs.oasis-open.org/tosca/tosca-primer/v1.0/cnd01/tosca-primer- v1.0-cnd01.html http://docs.oasis-open.org/tosca/tosca-primer/v1.0/cnd01/tosca-primer- v1.0-cnd01.pdf Previous version: N/A Latest version: http://docs.oasis-open.org/tosca/tosca-primer/v1.0/tosca-primer-v1.0.doc (Authoritative) http://docs.oasis-open.org/tosca/tosca-primer/v1.0/tosca-primer- v1.0.html http://docs.oasis-open.org/tosca/tosca-primer/v1.0/tosca-primer-v1.0.pdf Technical Committee: OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA) TC Chairs: Paul Lipton ([email protected]), CA Technologies Simon Moser ([email protected]), IBM Editors: Frank Leymann ([email protected]), IBM Matt Rutkowski ([email protected]), IBM [TOSCA-Primer] format used: referencing should be the following document When this citation format: Citation at page by using Committeethe “ Committee’s Technical emailOthersto list. commentsshould send the Technical the Committeeon to document Technical members comments this should send revisions of document. this alsothe “Latest version” locationis listed notedfor possibleabove. Check above later abovelevel for Cloud (TOSCA)Specification Applications on The date. of TC the approval was last the OASISOrchestration This revisedand Topology document orby approved Status: for Cloud Applications (TOSCA). providesTopologySpecification tointroduction Orchestration This an and the document Abstract: work: Related Zhang ( Paul WaschkeMarvin Adolf Hohl tosca-primer-v1.0-cnd01 ordocument deliverable produced by Technical an Committee OASIS (in which case the rules copyright the references notice OASIS, or to asexcept for needed purpose the of developing any However, thisdocumentworks. itself may be not modified in any including way, by removing abovethat the copyright notice and this section included are on all such derivative copies and published, copied, distributed, and orin whole part, without restriction anyof kind, provided works that on comment explain or otherwise it or assist in its implementation may be prepared, documentThis and of translations it may be furnishedcopied and to others, and derivative website.OASIS PropertyIntellectual Rights (the IPR Policy Policy"). "OASIS The full All capitalized interms the text following have the meanings assigned them to in the OASIS Copyright OASIS© Open All Rights2013. Reserved. open.org/tosca/tosca-primer/v1.0/cnd01/tosca-primer-v1.0-cnd01.html 1.0 Topology Specificationand Orchestration Cloud for Applications Version (TOSCA) Primer Non-Standards TrackNon-Standards . 31 January 2013. OASIS CommitteeDraft January01. 31Note OASIS 2013. . Latest Latest version.  is to: related This document Topology Specificationand Orchestration Cloud for Applications Version 1.0 http://www.oasis-open.org/committees/tosca/ ( [email protected] [email protected] ( [email protected] http://docs.oasis-open.org/tosca/TOSCA/v1.0/TOSCA-v1.0.html The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply Send A Comment Send A This Non-Standards is a Work Product. Track ) , NetApp ), ), Huawei ” button onCommittee’s button the Technical web” ) , CA Technologies

Copyright © Copyright OASIS Open Reserved.Rights© All 2013. http://docs.oasis- . Policy . may be found at the . 31 2013 January Page . . . 2 of 82

[Type the document title] PURPOSE. ORRIGHTS MERCHANTABILITY ANY WARRANTIES IMPLIED OF OR FOR A FITNESS PARTICULAR THATWARRANTY OF THEUSE THE OWNERSHIP HEREIN INFRINGE INFORMATION WILL NOT ANY EXPRESS ALLINCLUDINGDISCLAIMS WARRANTIES, ORBUT IMPLIED, LIMITED ANYNOT TO documentThis and the containedinformation is herein provided an on "AS IS" andbasis OASIS successors or assigns. The limited permissions granted aboveare perpetual not and will be by revoked OASIS or its translate it intolanguages than other English. applicable copyrights, to as forthset IPR in the Policy,must OASIS be or required followed) as to tosca-primer-v1.0-cnd01 Non-Standards TrackNon-Standards The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track Copyright © Copyright OASIS Open Reserved.Rights© All 2013. . 31 2013 January Page 3 of 82

[Type the document title] 2 1. Table Contentsof tosca-primer-v1.0-cnd01 3 Non-Standards TrackNon-Standards 3.4 3.4 PerspectiveGreen Field 3.3 RequirementTypesProviding and Capability Types Inheritance3.2 Using 3.1 Node Providing Types and Relationship Types in 2.2 Involved Roles Cloud a Modeling Application overview of2.1 An TOSCA 1.3 References (non-normative) of1.2 Scope thisDocument 1.1 PurposeStatement of 3.6 3.6 Simplifying Application Modeling: Composable Service Templates 3.5 Modular DesignService of Templates 3.1.4 Relationship3.1.4 Types The3.1.3 Lifecycle Interface Node3.1.2 Types Vendor3.1.1 Perspective What Type Architects KnowShould About TOSCA Application Architect2.2.3 Role Artifact 2.2.2 Developers Role TypeArchitect2.2.1 Role TOSCA2.1.3 Processing Environment TOSCA2.1.2 ValueStatement BringingCloud2.1.1 to Services – Market RolesTOSCA What Should Everybody Know About TOSCA Software1.3.2 and Services Standards1.3.1 Introduction ...... The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply ...... This Non-Standards is a Work Product. Track ...... Copyright © Copyright OASIS Open Reserved.Rights© All 2013...... 31 2013 January Page 4 of 11 11 11 10 10 10 33 32 32 30 28 28 26 26 25 25 25 19 18 17 16 12 11 82 9 9 9

[Type the document title] 6 5 4 tosca-primer-v1.0-cnd01 7 Non-Standards TrackNon-Standards 6.2 6.2 WebTwo-Tier SugarCRM Application Example Database6.1 Single-Tier MySQL for Webour SugarCRM Application 5.1 toAdaptation Cloud Particular Providers 4.3 ImplementationsProviding 4.2 Defining Templates Artifact 4.1 Defining Types Artifact 6.2.7 Creating6.2.7 the Cloud Archive (CSAR) Service Turning6.2.6 Relationship Types intoRelationship Templates Required6.2.5 Relationship Types Turning6.2.4 Types Artifact Templatesinto Artifact Required6.2.3 Types Artifact Turning6.2.2 Types Node into Node Templates Required 6.2.1 Node Types Turning6.1.6 Relationship Types intoRelationship Templates Required6.1.5 Relationship Types Turning6.1.4 Types Artifact Templatesinto Artifact Required6.1.3 Types Artifact Turning6.1.2 Types Node intoNode Templates Required 6.1.1 Node Types What Application Architects KnowShould About TOSCA Deployment5.1.1 implementation of artifactsand deployment artifacts What Service Cloud Providers Should About TOSCAKnow Coping4.3.1 Environment-Specific With Implementations What Developers Artifact Should Know About TOSCA Substitution of3.6.3 Abstract Node Typesby Templates Service Using3.6.2 AbstractNode Types Turning3.6.1 Templates Service intoComposables Moving VirtualMoving the Machinesto TOSCA World The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply ...... This Non-Standards is a Work Product. Track ...... Copyright © Copyright OASIS Open Reserved.Rights© All 2013...... 31 2013 January Page 5 of 42 42 42 40 39 37 36 36 35 34 34 69 67 66 64 64 63 61 56 56 54 53 53 51 49 45 44 44 82

[Type the document title] Appendix C.Appendix B.Appendix A.Appendix 8 tosca-primer-v1.0-cnd01 Non-Standards TrackNon-Standards B.1 B.1 Acronyms 8.1 7.1 Deploying New a Virtual Machine (VM) 8.1.2 Use8.1.2 Case Two.OVF Package Systemsfor Multiple Virtual Use8.1.1 Case OVF One: Package forSingle System Virtual How TOSCA OtherWorks with Standards Cloud 7.1.2 Creatingthe Required 7.1.1 Node Types Mapping TOSCA DMTF to OVF Revision HistoryRevision Terminology & Acronyms Acknowledgments ...... Service Service Template The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track ...... xml filexml ...... Copyright © Copyright OASIS Open Reserved.Rights© All 2013...... 31 2013 January Page 6 of 82 81 81 80 76 73 73 73 70 69 69 82

[Type the document title] Figure 14 Figure - TypeInheritanceNode a for Web SugarCRM Application Tier 13 Figure - TypeInheritanceNode a for Database SugarCRM Tier 12 Figure - DefinitionsKey forTOSCA Artifacts their and Relationships 11 Figure - Template Service a Substituting Type Node 10 Figure - UseMaking of Imports 9Figure Node,Artifact, – Relationship, Requirementsand Capabilities TypeHierarchies 8Figure Defining – Interfaces Theirand Implementations Particular For Types Node 7 Figure Service - thatTemplate Makes Use Requirements of and Capabilities 6 Figure Service - ofTemplate Sample a Application a Including Build Plan 5Figure Topology - of Simple a Cloud Application 4Figure Sample - Processing"Imperative" When Sequence Importing CSAR a 3Figure Sample - aExtension of for CSAR Processing"Imperative" 2Figure Sample - Processing"Declarative" When Sequence Importing a CSAR 1Figure Sample - ofArchitecture TOSCA a Environment of List Figures tosca-primer-v1.0-cnd01 16 Figure - TopologySample Service OVF for Use Case 2 15 Figure - TopologySample Service OVF for Use Case 1 Non-Standards TrackNon-Standards The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track ...... Copyright © Copyright OASIS Open Reserved.Rights© All 2013...... 31 2013 January Page ...... 7 of 29 27 23 22 21 16 15 14 13 76 73 61 49 36 35 33 82

[Type the document title] Table 10 –Table 10 Web SugarCRM Application Example's Relationship Types Base Table – 9 WebSugarCRM Application Example's Custom Node Types Table – 8 WebSugarCRM Application Example’s Specific Node Types Table – 7 WebSugarCRM Application Example's Base Node Types Table – 6 DatabaseSingle-Tier MySQL Example's Relationship Types Base Table – 5 DatabaseSingle-Tier MySQL Example's ArtifactBase Types Table – 4 DatabaseSingle-Tier MySQL Example's Custom Types Node Table – 3 DatabaseSingle-Tier MySQL Example’s Specific Node Types Table – 2 DatabaseSingle-Tier MySQL Example's NodeBase Types Table - 1 TOSCA ServiceBenefits by Role of List Tables tosca-primer-v1.0-cnd01 Non-Standards TrackNon-Standards The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track ...... Copyright © Copyright OASIS Open Reserved.Rights© All 2013...... 31 2013 January Page 8 of 60 59 56 54 52 48 47 45 12 65 82

[Type the document title] The of authors thisprimer realize that the many of sample applications presented in this first different aspects from and concepts TOSCA. processinvolved in the of creating a cloud-based approachapplication would their task using scenarioEach is authored in a way highlight to considerations andthe activities each role you, of regardless yourrole, TOSCAproductive using as as soon possible. and somerepresenting basic applications as templates. TOSCA service Its is purpose to make and as developers, cloud as well providers and tool vendors, thethrough process modeling of thewithin documentThis seeks a provide to practical introduction the to TOSCA meta-model defined as capabilities offeredby provider, any cloud regardless theirinfrastructure of service model.or servicesingle templatewhich would enable them deploy to and manage them against the theirapplicationsof with along theirdependent environments, services and artifacts insidea However, these same until customers, lacked TOSCA, a standard means describe to the topology reducingwhile theirneed in maintaining overheadthe large of datacenters and their operations. applications and servicesenvironment in an where it can scale meet to theircustomer demands computingCloud offers compelling a cost-effective businesses for model that wish host to their 1.1 Introduction tosca-primer-v1.0-cnd01 TOSCA thefrom chosen role. –reference an it provides answer forthe urgent most questions get to familiar leverage and service developerscloud and touches theupon other view of rolesIt only. ismeant not a be to proceduresoperational using TOSCA. The following this documentof is written for primarily The of aim thisdocument a is provide to quick cloud for start service developers describe to 1.2 complex casesover other, morenarrowly-scoped alternatives. willreaders come appreciate to the power,flexibility benefitsand TOSCA handle of to more behindthinking TOSCA using modeling (even the basic “hello world” examplesincluded) the alternatives that available. are However, it is our that hope, through careful explanation of the TOSCA seem might like “overkill” for such caseswhen compared some to domain-specific mayreaders be concerned maywith. seemIt even seem that a using modeling likelanguage of version primer the are simple quite thecompared to possible“real world” applications many Non-Standards TrackNon-Standards Scope of this Scope this Document of Statement Purpose of TOSCA TOSCA 1.0version draft specification The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track . . is intended toIt application guide architects Copyright © Copyright OASIS Open Reserved.Rights© All 2013.

. 31 2013 January Page 9 of 82

[Type the document title] OpenStack –OpenStack Source Open Cloud Software,Computing [OpenStack] Server,MySQL Community [MySQL-DB] HTTPApache Server Project, [Apache-HTTP-Server] ElasticAmazon Compute Cloud (EC2), [Amazon-EC2] 1.3.2 http://docs.oasis-open.org/tosca/TOSCA/v1.0/csprd01/TOSCA-v1.0-csprd01.pdf Committee Specification Draft 06Public(CSD) Draft / Review November 2012,01, 29 TopologyOASIS Orchestration and Specification Cloud for [TOSCA-CSD-1.0] October30 2012, Specification, Version a 1.0, Distributed Management Task Force (DMTF) Standard (DSP0263), Cloud Infrastructure Management ModelInterface (CIMI) REST and Interface over HTTP [DMTF-CIMI] 1.3.1 1.3 tosca-primer-v1.0-cnd01 CommunitySugarCRM Edition (CE), [SugarCRM-CE] Non-Standards TrackNon-Standards References (non-normative) SoftwareServicesand Standards http://dmtf.org/sites/default/files/standards/documents/DSP0263_1.0.1.pdf The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply http://dev.mysql.com/downloads/mysql/5.1.html

http://httpd.apache.org/ This Non-Standards is a Work Product. Track http://www.sugarforge.org/projects/sugarcrm/

http://aws.amazon.com/ec2/

. http://www.openstack.org/ Copyright © Copyright OASIS Open Reserved.Rights© All 2013.

Applications . (TOSCA), (TOSCA), 1.0,Version . . . 31 2013 January . Page Page 10 of 82

[Type the document title] The roles The roles will that reference we in thisdocument briefly are defined here: providers and whicheventually are service offeredto consumers. developer services provides which they distribute furthervia channels, primarily service cloud developers IT of provided services.The roles oriented are a on where cloudmodel a service aTOSCA is specification which adds value the to relationships between users, providers and 1.4.1 organizations actingin a “Cloud Developer” role.Service actor. However, it be should that noted, the majority of thisdocument is targetedfor or people mapTOSCA to roles actorsreal-world IT business and what value it brings individualfor each services anddelivered the one actually who operates this them. In outlinechapter, we how TOSCA formalizes significant a interactionsamount of between somebody who develops IT 1.4 WhatEverybody Should Know AboutTOSCA tosca-primer-v1.0-cnd01 Developer,Service the tablefollowing shows benefitsthe TOSCA each of for service role: Although the this majority of willdocument be the from the view of TOSCA rolea of Cloud TOSCA. is anthere for incentive service consumers choose to services deployed and operated using for those develop cloud who services and those deploy who and operate them. Furthermore, we section, would thelike highlight to reason why it makes the sense use to TOSCA specification TOSCA a valueprovides statementcompelling for roleeach and its corresponding this actor. In 1.4.2 multiple roles. course, Of roles typically apply separateto market actors one but actor may alsoserve in Non-Standards TrackNon-Standards    An overview TOSCAof TOSCAValue Statement to Services Cloud Bringing Market – TOSCARoles request request a consumerof new service theirto infrastructure. services bydeveloped service developers. cloud inPersons thisrole use TOSCA mapto Service Cloud Provider instantiate and operate the services they developed. ProviderService offers. The cloud service developer uses to TOSCA express to how services thatcloud will rely upon the andoperational support from services of Clouda Service Cloud Developer specification. business. These benefit persons but TOSCA, from not directfrom contactthe with Service Cloud Consumer The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track : The main ofbusiness cloud a service provider is operating : service A consumer leverages services IT runprovided to their : The main: business a of developer is cloud developing service Copyright © Copyright OASIS Open Reserved.Rights© All 2013. . 31 2013 January Page Page 11 of 82

[Type the document title] T tosca-primer-v1.0-cnd01 specification (see comprehendreader the andconceptual modeling processing steps behind the TOSCA belowfigure shows example an a of complete TOSCA environment in order to better thehelp supportfeatures to andthey would how be withinprovided architecture. their specific The these into components exist. architecture In addition, each may decide vendor ofwhich set architectures. Many different ways of thesegrouping features into components arrangingand in turnbe grouped into and asprovided components that describedcan as be of parts cloud be would used processto TOSCA accordingdefinitions the to specification. Thesefeatures may TOSCAA environment, operated by Clouda Provider, Service include might various featuresthat 1.4.3 Non-Standards TrackNon-Standards ABLE These benefits include: Cloud Provider. Service ServiceDeveloper and TOSCA the tobrings Cloud standardization which benefitindirectly from the Cloud Consumers Service Consumer Cloud Service ServiceTOSCA Roles  

TOSCA automation. operationalcosts from Lower and set-up Provider. flexibilityinCloud More choices and 1 TOSCAProcessing Environment B TOSCA - ENEFITS Figure 1 Figure

BY The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply S ). ERVICE     persons: ServiceProviders in place. These theirdeveloped services at Cloud TOSCA the getasto standard A ServiceCloud Developer uses Cloud This Non-Standards is a Work Product. Track reasonable effort. legalenvironmentswith ServiceProviders indifferent Can work with Cloudmultiple providers. widerofrange service cloud Areable achoosefromto ofCloud Service Providers business/distributionnetwork Mayfurther leveragethe Providers expertiseofCloud Service Leveragethe operational R Service Developer Service OLE Copyright © Copyright OASIS Open Reserved.Rights© All 2013.    Consumers. Provides: Developers ServiceCloudfor developed by ServiceCloud and cloud deploy services usesTOSCA offerrapidlyto A ServiceCloud Provider Cloud Provider Service  Optimize Optimize deploymentand chances. andofferings revenue extendservice Can service cloud developer. developedservices by Act resellersforas market market services for Optimize the totime expenses.and operational procedures . 31 2013 January Page Page 12 of 82

[Type the document title] TOSCA whichTOSCA is indicatedenvironment, rendering by it via dashed box.a Similarly, the Developers environment suggeststhat (graphical) TOSCA ofout the scope of specification. These archives could created be butmanually, the TOSCA While the format a of file defined CSAR TOSCA,is by the way in which such are files iscreated applicationsCloud typicallyare packaged in TOSCA using F tosca-primer-v1.0-cnd01 the Manager The application packaged intothe CSAR is processed declaratively. (stepcomponent in 2 2 Figure in chargeof CSAR processing the in file such a way that it can be initially deployed 1 (step in its first action,As the container forwards CSAR a the to to according its definition. to necessary deploy, manage decommission and cloudthe application over its lifecycle environment: TOSCAthe normalDuring processing, files CSAR be would passed the to TOSCA InterpreterModel Conversely,optional. when processing a in a CSAR manner declarative (see Section Section bydepicted dashed boxes. However, when processing a in an CSAR imperative manner (see Engine Non-Standards TrackNon-Standards IGURE Model Model Repository CSAR ProcessorCSAR

1 and the - S - 1.5.3.1 ). thispurpose, For the (step in 3 AMPLE to ease to the creation of files. theCSAR Nevertheless, ), a a ), Model InterpreterModel A RCHITECTURE is mandatory and the Process Engine

Figure 2 will extract definitions the from CSARthe and them pass to the such that all the definitions available are later (step on in 4 Figure 2 The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply Container )

. The. OF This Non-Standards is a Work Product. Track ). Such interaction an may be necessary in case the cloud

A CSAR Processor TOSCA E TOSCA ismandatory a component, but the are optional are components well,as which is why they also are Definitions Manager (or simply (or Process Engine NVIRONMENT Modeling Tools container may interact with a is in charge storing the of definitions into Copyright © Copyright OASIS Open Reserved.Rights© All 2013. mayomitted. be CSAR ProcessorCSAR forshort) understands all the steps Cloud Cloud ArchiveService would be would offeredto Modeling Tool Model Model Interpreter Container Model Model Interpreter which is the component . within the within is optional in a (or “CSAR”) (or files. Figure 2 Cloud Cloud Service 1.5.3.1 31 2013 January Definition

Page Page Process is still ). 13 ) ) the of 82

[Type the document title] template of cloud the application are available in the environment and ready foruse. executablesthe all operations of of types andnode relationship in thetypes used topology all implementationdeploy artifactsinto environment the in 7 (step environment, storing in scripts subdirectories, etc. the Next, 2 Figure 2 artifactsdeployment the from and CSAR passes them the to Furthermore, the tosca-primer-v1.0-cnd01 container dealing from with declarative the processing model all. at CSAR case, the will always contain definitions that imperatively can be processed freeing the imperatively processable(step model in 3 transformto declarative a specified model an by instead the of anIn alternative processing flow ( F Non-Standards TrackNon-Standards IGURE ) . . The

2 Artifact Manager - S - ). This may). This include storing virtual images intoimage available libraries in the AMPLE container "D CSAR ProcessorCSAR ECLARATIVE , may interact with a The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply component storesthe artifacts in appropriate artifact stores(step in 6 " P " This Non-Standards is a Work Product. Track ROCESSING would alsoextract all implementation artifacts and Figure 3 Figure S EQUENCE ), the), Figure 3 Model Model Interpreter TOSCA Modeling ToolTOSCA W application architect ) before it is packaged intoa that CSAR. In HEN I Copyright © Copyright OASIS Open Reserved.Rights© All 2013. MPORTING Artifact Manager Deploy Manager component (step in 2

A CSA Figure 2 Figure (step 1 (step in R into a intoa completely . ). Oncethisis done, is in charge to (step 5 5 (step in Figure 3 Figure 31 2013 January Figure 3 Page Page ), ), Figure Figure 14 of ) 82

[Type the document title] these are operations known now because they havebeen deployed concreteat endpoints in the theto of operations node types and relationship types, theand implementation artifacts of oftasks the to plans formerlythe deployed implementation artifacts: a task plan in a may refer Process Engine declarativethe case. The additionalperform imperative processing steps that thosecontinue from shown in theIn casewhere the TOSCA service template contains plans, the TOSCA container would F tosca-primer-v1.0-cnd01 environment before. Non-Standards TrackNon-Standards IGURE

3 - S - AMPLE (step 7 7 (step in E XTENSION The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply

Figure 4 Figure Deploy ManagerDeploy OF

A CSAR CSAR This Non-Standards is a Work Product. Track ). Deployingplan a intothe FOR "I MPERATIVE of the of container will deploy plan each intothe " P " ROCESSING Copyright © Copyright OASIS Open Reserved.Rights© All 2013. Process Engine . includes the binding Figure 2 31 2013 January Page Page 15 for for of 82

[Type the document title] Figure 4 Figure interacting by thewith imperative processing shownas in step in B applicationcloud is bycreated invoking either build the ofplan the application cloud (i.e. applicationcloud is performed theby CSARthe and of instances the application cloud created.can be Creation of instancean the of After these steps,the F tosca-primer-v1.0-cnd01 Cloudcorresponding ArchiveTOSCA Service (CSAR). theseactions three of roles required are create ato template TOSCA service and a company, the same may person fulfill morethan one of roles.these Concertedspecialized ofspecialization the generic role developer rolesThe technical this primarilydocument addresses include the involved withbe developingor interacting with cloud applications modeled TOSCA: using this In document, we to attempt sectionsauthor that are thetargeted to possibleroles that may 1.5 Interpreter (bymeansdecommissioned a of performedplan by the engine (stepprocess in C defined plans servicein template the the of cloud application; these are plans executed by the Non-Standards TrackNon-Standards IGURE Roles Involved inModeling a Cloud Application

4 - S - ). Once a ). Oncea application cloud been createdhas it can be by managed invoking otherthe declarative way, declarative i.e. without aany plans, process engine needed.isnot environment.Incase the where a cloudapplication will beprocessed a in Note: and the AMPLE ). The "I MPERATIVE ProcessEngine application architect environment Model InterpreterModel The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply Figure 4 " P " ROCESSING This Non-Standards is a Work Product. Track cloud applicationcloud developer service ). Finally, when cloudthe application is no longer needed, it is isshownabove as anoptional component of the is set up is set formanaging cloud the application represented by Instance ManagerInstance S and profiledin are ofthis section.Each these roles is a EQUENCE (i.e. declarative (i.e. processing shown as in step B’ of Figure 4 W HEN ) that is executed by the I MPORTING Copyright © Copyright OASIS Open Reserved.Rights© All 2013. Process Engine (step A (step in

A CSAR type architect Figure 4 Figure . . on Depending your , orthe via . ). An instance). An of a Process Engine , the Model Model 31 2013 January artifact Page Page 16 , or , of 82

[Type the document title] define a “Servlet”define a node type, “Web a Server”type, node as a as well “DBMS” node type. Database Management (DBMS) System formanaging data.persistent type architect A will then (or“servlets” granularservices) that run in a Theseservletsweb server. may require relational a example,For web applications based on Java programmingthe language of may consist Types defined as TOSCA defined as operations the of these andcomponents connections. Typesof components are of knowledge localthe management behavior of and such components connections, which is variousthe connections types of between these components. This especially includes The 1.5.1 please Section read providerservice artifacts,its types, or the CSAR ofpackaging a service. However, cloud have you if a these lastBoth roles are two typically involved not in the details creating aof service template, services cancloud run,be especially provisioned, managed,and decommissioned. provider offersenvironment an will typically (which encompass a container)TOSCA in which service cataloguecloud and deciding to tosubscribe particular a cloud service.The cloud service modeleda cloud application service, followinge.g. by the paradigm, self-service a browsing servicecloud consumer There twoare roles other that mayconcerned be with TOSCA applications: modeled cloud the tosca-primer-v1.0-cnd01 exploitation different of products in differentenvironments. definitionease the of types product-specific and to withinensure cloud a application the types (as node relationship as well may types) be defined by vendor consortia, forexample, to independentsystems, of specific the product of particulara vendor.product-independent Such management local (as behavior additional mentioned above; thisnew, nodederived type may define additional behavior. thispurpose, For the type architect may inherit the from “DBMS” node type defines the example, vendor the of specific a relational database system may define a type thatnode forsuch components by use application architects define to theircloud applications. For Often, type arearchitects employees of offering componentsvendors or the connect abilityto databaseparticular content and tasks. other includes for operations andstarting stopping the database backup for system, and recovery of servlet’s requirement foraccessing DBMS. a The management local of specificbehavior a DBMS its Similarly, web server. relationship a “ConnectsToDBMS”be will definedto express the that“HostedOn” can be used express to the corresponding relationship between servlet a and servlets Since deployedwebare on servers, the type architect define might relationship typea Non-Standards TrackNon-Standards type architect . . TypeArchitect Role applications Note properties : Insubsequent the : sections, usenotion thewe of cloud role and role and want understand to more about service deploying templates,TOSCA Node Types is an expert forthe types of required components applications asby as well synonymously. ?? of that of relational database as systemwell as its local management . and and the The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply , and connections types of are TOSCAdefined as This Non-Standards is a Work Product. Track cloud provider service operations ) ) common that is for all relational database . The. cloud service consumer makes of use Copyright © Copyright OASIS Open Reserved.Rights© All 2013. services properties . and cloudand Relationship and include and include 31 2013 January cloud Page Page 17 of 82

[Type the document title] by means ofby node types. ofinstallables the thatcomponents make up cloud a application; these components defined are ofoperations the of interfaces node types and relationship types. ArtifactsDeployment TOSCA twosupports kindsof such code artifacts, namely and purpose, the artifact developer defines the corresponding TOSCA installablesthe and executables required to instantiate and manage cloud a application.For this artifact developer applications well as providing as ofcomponents cloud applications and their connections,the While the 1.5.2 holdtheIf you role of a tosca-primer-v1.0-cnd01 package. its usage context; for example, authentication information bemight requiredprocess to an RPM artifactdeployment further may add information about the artifact used, which dependent onis appropriate implementation artifactsand deployment artifacts. implementation An artifact or a relationship type implementation refers the to artifacttemplates in needed order to bundle or TOSCA ofinstance node a type or relationship a type is adefined as TOSCA All implementation artifacts deploymentand artifactsrequired install, to and run, manage an code it represents, example for pointing by a to or CSAR to FTPaddress.an name “RegisterCustomer” and has the “1.0”.version An artifact template to points actualthe example would a file, be which provides JAR service a for registering customers, hasand the file JARparticular file) and the provides actual required information copeto with artifact.the An TOSCAA thatspecify a file a JAR has name file and a number.version thecorrectly process corresponding artifact. example, For an artifacttype named “JARfile” may Java file Archive or “JAR” RPM or an package), as the as well kindof information required to artifact Each a has TOSCA Non-Standards TrackNon-Standards Relationship TypeRelationship Implementations Artifact Developers Role increasinglycomplex cloudapplications. language byprovided TOSCA itself, supporting amodel recursive of specifying Inelement). such a typesway, node canbe “implemented” by meansof the boundary” of service the (by template meansof the operationsofenclosed the node templates and relationship to “thetemplates “ScalableAppServer”. canbe achievedThis by exporting relevant and properties etc.) may members, be groupedtogether definedasand a new node typecalled consisting(perhaps ofserver, anHTTP manager,a cluster several cluster example, For cloudapplication a representinga applicationclustered server atreated singleas set ofand services definedas another TOSCA Note: Artifact Template Relationship Type Implementation type architect Theentire cloudapplication (i.e. owntemplate)itself its service bemay is an expert is an in They code artifacts. inare chargeof and providing describing . . Implementation artifacts type architect is a specialist theon enablement theof management behavior of cloud The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply Artifact Type represents a artifactreusable (e.g. particular a package, RPM or a This Non-Standards is a Work Product. Track , we recommend, the reading contents Section of . An. artifacttype defines the kindof an artifact(e.g. a . . , respectively., A type implementation node or a are the executables implementing the Copyright © Copyright OASIS Open Reserved.Rights© All 2013. Implementation Artifacts BoundaryDefinition Node TypeNode Implementations Deployment artifacts Node TypeNode Implementation . NodeType and

31 2013 January . . Page Page are the are ?? . 18 of

82

[Type the document title] chapter. describedfunctions for the type architect.some In these cases, the nodeown and artifacttypes when ready-made types beenhave not made available themto by type architect types and relationship types available at their disposal, and that have already been definedby a oftopology the cloud this application. For applicationpurpose, the relies architect on node application well as the as relationship templates wiring the nodecollection of templatesinto the applicationthe identifies architect and defines the node templates making a up cloud lifecycle. ofThe structure a application cloud specifiedis means by a of composite types and artifacts, well as its global as management behavior covering its complete The 1.5.3 holdtheIf you role of cloudown applications. and themimplementations allowing to the reuse types and implementation in building their These packages may thenused be by Related type definitions and implementations might then packagedbe by vendors intoCSARs. thatdefinitions relationship types same is forconnectionstrue between components cloudof applications: they definedby are corresponding types andnode associated node type implementations must defined. be The order to In componentsprovide that useful are in different cloudkinds of applications, the tosca-primer-v1.0-cnd01 deployed andbe managed in an environment that supports TOSCA. Typically, CSAR a is self-contained anda portable representation of cloud a application that can application packaged are thewith service template intoa application. The executables required actually to instantiate, run and themanage cloud template topologyA template and its corresponding plans referred are as collectively to a types and relationship the types of affected templates. application. Corresponding operations may have been definedby type architect the of node the planThis mayoperations use foracquiring licenses of component individual each of the cloud behavior. example, For acquiring license a for clouda application might realized be by plan. a Furthermore, a mayplan include any task other required to define overallmanagement thewhen specifying node types and relationship types of corresponding the templates. templates and relationship templates exactly are the defined operations theby type architect cloudthe application have be to Theexecuted. management available operations for nodethe management operations offeredby node the templates relationshipand templatesmaking up defined by plans.means of A The management global covering the behavior complete oflifecycle cloud a application is Non-Standards TrackNon-Standards application architect Application Architect Application Role . A A . service template is the ofdefinition the components types of that make a up cloud previously. However, some application architects may also need define to their artifact developers and artifact developer relationship relationship type implementations The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply is an expert in both,the overall structure of cloud a application, its type architect plan This Non-Standards is a Work Product. Track isworkflow a that specifiesthe sequencing in which individual take as creating for basis their implementations. application architects , we recommend, the reading contents Section of application architect and a rtifact developer Copyright © Copyright OASIS Open Reserved.Rights© All 2013. . Thus. CSAR to import to the corresponding types would need understand to the , type , architects (i.e. a roles already roles already discussed in this Cloud Service ARchive topology template . provide the provide type service 31 2013 January Page Page ?? . . Thus, 19 ). . of 82

[Type the document title] node, the and “MyDBMS”node, the “MyBlockStore”node. corresponding application cloud of consists three (seenodes byis managed a relational database system that makes of use storage. block ofThe topology the anAs example, want you a model to cloud application that consists a of customer database that theof specification is declarative on processing. that imperative encompass processing of service templates, its current focus in the first version While the TOSCA alreadyspecification provides (such hooks TOSCA as aelements of cloud application needed are and what management behavior is be to realized. structured and themanaged, while other In words: the TOSCA semanticsthe of types andnode relationship types and theircorrect interpretation within a application to (e.g. how deploy application);the thistypically requires the preciseof definition assumption that it is infer possibleto the management behavior the of corresponding cloud The second flavor,referred as to application be to explicitly defined, as well as its all of management behavior means of by plans. imperative processing TOSCA processingsupports templates of service in two different flavors. The first, to referred as 1.5.3.1 ?? holdtheIf you role of an tosca-primer-v1.0-cnd01 system in the This environment. defines explicitly topology the of your cloud application. “MyDBMS” node “Install()”offers the operation used installto in instance theof database relationships that offered are manage to the overall cloud application. In this example, the “MyBlockStore” node. Furthermore,the figure alsodepicts the operations theof nodes theand “MyBlockStore_for_MyDBMS” relationship connects the and“MyDBMS” node the relationship connects the “CustomerDB” node and“MyDBMS” the thenode; These three arenodes connectedby relationships: two the “CustomerDB_on_MyDBMS” Non-Standards TrackNon-Standards . environment A A NoteonImperative Processing Declarativeand Processingof Service Templates imperative processing . . of a of service template, requires the topology complete a of cloud The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply application architect This Non-Standards is a Work Product. Track declarative processingdeclarative declarative processing flavor specifiesprecisely , we recommend, the reading contents Section of Copyright © Copyright OASIS Open Reserved.Rights© All 2013. of service a template, is based on the flavor flavor specifies Figure 5 Figure how below): the below): the “CustomerDB” plans a cloud a application is . what ) fordefining models structural 31 2013 January Page Page 20 of 82

[Type the document title] Section Section providehave to additional the to plans topology. This the is because case In focusonyou and deployment decommissioning of yourcloud application, don’t you F tosca-primer-v1.0-cnd01 is allocated and the “MyDBMS” is installed. “MyBlockStorage_For_MyDBMS” can only bemeaningfully performed once the “MyBlockStore” instancean the of sample cloud application, “Attach()” the ofoperation the order in which relations haveto considered mustbe be Forclear. example, when provisioning correspondingthe operation of nodeeach relationship, (or respectively, if Also,necessary). the initially newprovisioning a instance a application,of cloud the tooperation createand delete instances, starting stoppingand instances and Whenso on. thispurpose,For each node relationshipand support must basic operations lifecycle such as an node,the and the for similar relationships. itreached will invoke operation the distinguished as onethe use to forcreating an of instance a(in nutshell) simplynavigate the topology the “from leavesthe to root”.For nodeeach processingdeclarative of the cloudsample application. example, For the decommission the application.cloud Theas model in depicted Non-Standards TrackNon-Standards IGURE

5 - T - 1.4.3 and templatesand the in following sections. to the refers node DBMS type example, For precisethe terminology would be“ establishedby TOSCA. relationships.Inother the ofsections this use the primer, we language precise relationshipand templates, respectively, we butspeak just aboutnodes and dodistinguishnot between node types nodeand templates, relationshipor types are we thisbit in section lax whenusingTOSCA terminology. weexample, For Note: OPOLOGY ) of your TOSCA container how can infer initially to deploy and finally In order In order to comprehensionease of basic the mechanisms behind TOSCA

OF

A S IMPLE The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply C This Non-Standards is a Work Product. Track LOUD A PPLICATION ” explain ” will etc.We differencesthe between types Copyright © Copyright OASIS Open Reserved.Rights© All 2013. the CustomerDBthe node template Model Model Interpreter Figure 2 Model Model Interpreter is sufficient for . Model InterpreterModel will determine 31 2013 January Page Page (see 21 can of 82

[Type the document title] operation ofoperation the “MyDBMS”node,the “Attach Storage”task invoke the will “Attach()” ofoperation the “MyBlockStore”node.the Next, “Install will DBMS” task invoke the “Install()” a planthe that ensures initial the deployment the of cloud application – plansuch kind of is called modeled thatplans specify to how the manage cloud application.For example, environment, ofimperative processing the cloud application the extends topology explicitly by contrast toIn processing declarative that relies on a F tosca-primer-v1.0-cnd01 requirements capabilities willand be “auto-completed”. environment match to requirements capabilities.and a As result, models topology including been made available that their specify allowingcapabilities, the Interpreter theModel of requirements theiron “downstream” topology. In a TOSCAsupporting environment, nodes have advanced declarative processing may based on be ofnodes thethat simply topology declare for plans provisioning and instancesdecommissioning of the of specified More topologies. ofmodeling cloud applications even easier. describe As before, processing declarative infers flavorthe of processing declarative of service a template more may get advancedmaking Typically, topologythe willsame be whether it is processed imperatively But or declaratively. 1.5.3.2 and boundcan be the to tasks the of plan duringdeployment the of plan itself. Deploymentthe Manager of container, the TOSCA i.e. they available are in your environment Section tohow up set the environment for your“CustomerDB” application. cloud Recall (as sketched in ofoperation the “MyBlockStore_For_MyDBMS” and relationship, soon. This defines explicitly Non-Standards TrackNon-Standards IGURE build plan

6 - S - 1.4.3 NoteonAdvanced Processing Templatesof Service ERVICE . . plan first This will theperform GetStoragetask that is bound the to “Allocate()” ), ), implementationthat the artifactsof these operations bewill deployed before by T EMPLATE The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply

OF

A S This Non-Standards is a Work Product. Track AMPLE A PPLICATION I NCLUDING Model Model Interpreter Copyright © Copyright OASIS Open Reserved.Rights© All 2013.

A B UILD P LAN available in the . Figure 6 Figure 31 2013 January Page Page shows shows 22 of 82

[Type the document title] plans asplans before. sketched of side itThus, will automatically the extend specified accordingly: thetopology topology the on right InterpreterModel that(and has been definedto to correspond “BlockStorage_Needed”the requirement). The in the thefigure “BlockStore” node that is declares show the “BlockStorage_Offered” capability figure. The environment mayaware of be a that explicitlynode declares a matching withassociated an explicit 7 Figure example,For the modified oftopology yourcloud application may specify nodesjust two (see tosca-primer-v1.0-cnd01 canpolicies typically not inferred, i.e. be they have to modeled be explicitly. Similarly, defining topologythe of cloud a application, for plans granting rights access establishingand security behavior for the deploymentinitial and decommissioning may inferred be in many casesfrom applications willmodeled be by combination a bothof modeling approaches. example,For while approach puts much moreburden the on application architect. In practice, morecomplex cloud The approach declarative puts much more burden the on type the architect, while imperative matching. thetopologies type architect specifymust requirements capabilities and as well as their theof relationship type “ConnectsTo”. order to In make ofuse auto-completion features for plana be must defined; forexample, the relationship type “DependsOn” must take preference manipulated.be The order in which relationship types have be to considered when “generating” nodethe type.Relationship types must define the order in which theirsources and targets must aprovide interface lifecycle that encompasses operations for starting, stopping, of instances etc. typearchitects. architectsAlso, must certain follow conventions. example, For node types must requires very a crispand precise specification node of types and relationship types by type Declarative ofprocessing service templatesthat supports derivation theand addition plans of F Non-Standards TrackNon-Standards IGURE

7 Figure 7 Figure - S - , left side):, the “CustomerDB” node and “MyDBMS”node. Thethe latter node is ERVICE results. Furthermore, results. infer it will the corresponding build and decommissioning T EMPLATE of a of TOSCA environment will then the match requirement and capability.the The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply

THAT requirement M This Non-Standards is a Work Product. Track AKES U SE for“BlockStorage”, called “BlockStorage_Needed” in the

OF R EQUIREMENTS Copyright © Copyright OASIS Open Reserved.Rights© All 2013.

AND C APABILITIES . 31 2013 January capability Page Page 23 of : 82

[Type the document title] that proprietary are to specific a environment. make ofuse defined operations part as the of associated topology,and operations no used are interoperability can only achieved thebe if plans by specified the application only architect amanage cloud application initial (including deployment and –decommissioning) course, of work thewill because application architect precisely instructs TOSCA the predefined relationship types and the preference rules.In theany case, imperative approach andincrease, a TOSCA precedence rules forrelationship gettypes might complexwhen number the of such types tosca-primer-v1.0-cnd01 Non-Standards TrackNon-Standards environment The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track (Section 1.4.3 ) not) may automatically all support such Copyright © Copyright OASIS Open Reserved.Rights© All 2013. . environment 31 2013 January Page Page how to 24 of 82

[Type the document title] 1.6 1.6 theto of operations these interfaces. and imperative flavorthe dependson proper by interfaces binding oftasks management plans thedepends on existence of certain operationslifecycle forprovisioning and decommissioning, behavior application architects:by declarativethe flavor processing of service templates and target ofinterfaces relationship types.This isperquisite a fordefining all management Finally, the which havenot been yet.fulfilled ortype; an environment may node bind types a to node a of topology requirementsthe of templates; or tool maya suggestnode types that may be anconnected to already chosen node graphical tools modeling checkmay the of validity relationship types used connect to two node specification cloudof applications, thus, supporting application architects:example, for individualof node turn,types. requirements In and capabilities of types easesnode the correct requirement capabilitytypes and types the are for basis anddefining requirements capabilities Furthermore, the application an to architect thespecify topology a application.of cloud TOSCA variousthe connections types of between these components. By defining (i.e. such components The WhatType Architects ShouldKnow AboutTOSCA tosca-primer-v1.0-cnd01 typically havea commonalities likelot of properties “ServerName as “XWebServer”the and “YWebServer”the node types). Nevertheless, nodeboth types will operationsspecific or properties; differentthus, two vendor node specific types will result (e.g. Y”“vendor may offer web a server. Both haveproducts specificmay vendor vendor aspects like Often, different vendors offer productsthe of same example, type. For ”vendor X” as as well time. web of server vendor, the as well as laterdestroying an existing atconnection decommissioning relationship type supports constructionenables the a of connection the between DBMS and the system and example,their For web theserver. “MyWebServer_ConnectsTo_MyDBMS” corresponding relationship type representing the connectability to theirdatabase management node“MyWebServer” type, Furthermore, therespectively). vendor will also define a build cloud applications will define correspondingtypes (e.g. node a “MyDBMS”node type and a database management system and web as server tocomponents used be by their customers to render these components TOSCA as vendor A of thatcomponents should the become for basis applications cloud typically will 1.6.1 Non-Standards TrackNon-Standards type architect Providing Node Types and Relationship Types Vendor Perspective Node TypesNode type architect type architect is an expert forthe types of required components applications asby as well ) connections) and (i.e. TOSCA The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply defines interfaces the of node asa type, as well sourcethe interfaces This Non-Standards is a Work Product. Track specifies types of requirements and capabilities. Such Node Types . . example,For vendor a that wants to offer their Relationship Types Copyright © Copyright OASIS Open Reserved.Rights© All 2013. ) the typeenables architect ” or “IPAddress . 31 2013 January ” , or the Page Page 25 of 82

[Type the document title] below). Finally, the “ApacheWebServer” single defines a interface, which is the interface lifecycle (see second capability specifies that “ApacheWebServer”an may contain any number of modules. upperBound (as indicatedby the value of “0” the specifies that an may“ApacheWebServer” contain node any of number Web Application nodes capabilities definedtwo separate by override definitions the for specified “WebServer”node type.The “ApacheWebServer” defines typically add new properties comparedto inheritedthe properties “WebServer” but it may also properties arespecific definedin the “WebServer”the node intype specified as nested the The following 1.6.2 which will defineonly vendor on specifics oftop “WebServer” the node type. “XWebServer” and “YWebServer” then inherit fromwill common the node“WebServer” type, allcommonalities web of servers the of differentvendors. The vendor specific types node interface; lifecycle commonthus, node a type “WebServer” defined can be thespecifying tosca-primer-v1.0-cnd01 achieved invoking by the “uninstall” operation. stopping instance an by is done means of “start”the and operations. “stop” Decommissioning is Configuration of instancethe is achievedinvoking by the “configure” operation. Starting and invoked installto (and, thus,instantiate) an instance the of node type containing thisinterface. is non-normative. The interfacelifecycle defines five operations: the “install” operation bewill interfaceThe lifecycle is definedby the following 1.6.3 Non-Standards TrackNon-Standards Apache WebServer The LifecycleThe Interface Types Node lowerBound="0" name="modules"upperBound="unbounded"/> capabilityType="tns:ApacheModuleContainerCapability" lowerBound="0" name="webapps"upperBound="unbounded"/> capabilityType="tns:ApacheWebApplicationContainerCapability" attribute the of corresponding NodeType ApacheWebServer The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply element “ApacheWebServer”defines the type. node inherits from It This Non-Standards is a Work Product. Track lowerBound CapabilityDefinition PropertiesDefinition CapabilityDefinition "> Interface attribute and the “unbounded” thevalue of DerivedFrom Copyright © Copyright OASIS Open Reserved.Rights© All 2013. element. Note, that thisdefinition elements. The elements. first capability element; these properties will element. The Apache- . element). Similarly, the 31 2013 January Page Page 26 of 82

[Type the document title] Section Section implementing the for operation nodethe type. More details about these relations are in given anreferences ImplementationArtifact executableThe concrete an of operation a typeof is node defined a by corresponding implementation by (i.e. a The actualimplementations the of operations a of implementation.the parameters may exchanged come from sources, various documentatione.g. via that comes with understandsoperation which parameters to are exchanged. be The knowledge theof actual ofoperation web a server. expected It is user that the a of implementation concrete a of given usedoperation by DBMS node a type will require differentparameters than the “configure” parameters and may produce differentoutput parameters. example,For the configure implementationsDifferent an of operation aof name particular may expect different input tosca-primer-v1.0-cnd01 F Non-Standards TrackNon-Standards IGURE

8 – D – ?? web web (andstopservernot it). anexample,implementation of start the operationof a web startwill serverthe particular nameunderstands this faithfullysemanticsand it. realizes For Itsemantics. isexpectedthat every implementation of a operation lifecycle of a can bethat achieved it, by i.e. name theof a operation lifecycle its indicates parameters. means that This lifecycle each operation“just”defines effectsthe Note: interface interface supports that managementthe of data bystored DBMS; the suchan gobeyond lifecycle capabilities. aexample,node For DBMS type definemay an Note: ; fora overview quick theseon relations see EFINING lifecycleThese operationsare definedwithout any input outputor NodeTypesdefine may additional interfaces that provideoperations that ArtifactTemplate I NTERFACES The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply NodeTypeImplementation

AND element of element of node the type implementation, which in turn This Non-Standards is a Work Product. Track T HEIR element. This element. artifacttemplate the to points executable I MPLEMENTATIONS NodeType F OR Copyright © Copyright OASIS Open Reserved.Rights© All 2013. Figure 8 Figure element) for provided nodeeach type. P ARTICULAR are specified are a by node type . N ODE T . YPES 31 2013 January Page Page 27 of 82

[Type the document title] 1.7 1.7 interface“…/ConnectsTo” with “connectTo” the operation. act the on source the of relationship: the The “MySQLDatabaseConnection” relationship type alsodefines operations that can be used to potentialthe target node types (bymeans of a corresponding types (bymeans of correspondinga requirement type) theand capability of an database:being SQL the type that requiresconnection a a to database SQL and any node type that the provides nested DerivedFromThe element. database connection can be established between any node relationship This type inherits thefrom “ConnectsTo” relationship type as in specified the relationshipThe following type defines the establishability to connection a to database. SQL a 1.6.4 tosca-primer-v1.0-cnd01 (below) these sketches hierarchies. have been definedin order to interoperabilityachieve environments. between TOSCA that supporting allows types.In super non-normative a manner, for hierarchies all these types artifact types, requirement andtypes, capabilitytypes) has nested a each TOSCA, element thatlanguage allows defining types node (i.e. relationship types, types, ofThe use inheritance is well-established and as useful. proven very supportTo inheritance in Non-Standards TrackNon-Standards Using InheritanceUsing

Connects on Relationship Types droppingindexes so and on. interface operationsincludemay backup for and restore tables, and creating The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track MySQLDatabaseConnection ValidSource SourceInterface Copyright © Copyright OASIS Open Reserved.Rights© All 2013. element defines possiblesource node element specifiesthe CapabilityDefinition ValidTarget "> DerivedFrom . element defines element 31 2013 January Page Page Figure 9 Figure type). 28 of

82

[Type the document title] “ApacheWebServer” node “ApacheWebServer” node type inherits thefrom node “WebServer” an type, The node “WebServer” type in turninherits from “RootNodeType”. the the Since typeRef defined by ameans of “ApacheWebServer”The following node type inherits from “WebServer”the type. node is This F tosca-primer-v1.0-cnd01 “RootRelationshipType” relationship type. thefrom “ConnectsTo” relationship type, which in turninherits thefrom RelationshipType The code next two showsnippets inheritance between relationship types (via the and defined with “WebServer”the type by node corresponding nested “WebApplicationContainerCapability” because thisrequirement and thiscapability been has “ApacheWebServer” node both,type ahas “SoftwareContainerRequirement” well as a as Non-Standards TrackNon-Standards IGURE CapabilityDefinition

...

9 Web Server capabilityType="tns:WebApplicationContainerCapability" requirementType="tns:SoftwareContainerRequirement" upperBound="1"/> attribute. ODE , A , RTIFACT element). The “MySQLDatabaseConnection” relationship type inherits DerivedFrom , R , The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply ELATIONSHIP This Non-Standards is a Work Product. Track elements. , R , element with element with value “WebServer”the the for specified EQUIREMENTS

AND C Copyright © Copyright OASIS Open Reserved.Rights© All 2013. APABILITIES T YPE RequirementDefinition H IERARCHIES . 31 2013 January Page Page 29 of 82

[Type the document title] warrants warrants that asit can serve container a for Apache web applications. CapabilityDefinition “WebApplicationContainerCapability”. nodeEach type that includes a application; note, that the capability type inherits the from express capability the a typeof to node as serve runtime a container an for Apache web example, following the “ApacheWebApplicationContainerCapability” capability type to allows TOSCA,In requirements capabilities allowand define to dependencies nodebetween types. For 1.8 capability types. Section The next section examples will show the of use inheritance forof both, requirement types and theHere definitionis of “ConnectsTo” relationshipthe type: tosca-primer-v1.0-cnd01 node“WebServer” type.The capabilitytype is refined the to specialized snippetThe XML above theshows refinementof the capability “webapps” from inherited the may necessarily not run on of instances the type. node container capabilities Apache to web applications only, meaning webthat applications general thespecifying specialized “ApacheWebApplicationContainerCapability”. It thereby restrictsits generic “WebApplicationContainerCapability”the inherited nodefrom type by “WebServer” case In theof “ApacheWebServer” node type mentionedthe earlier, node type actuallyrefines Non-Standards TrackNon-Standards Providing Requirement Types and Capability Types

... ConnectsTo ... ... Apache WebApplication ... ApacheWebServer The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply 1.12 of this of type (as the defined“ApacheWebServer” node above) gives gives examples of inheritance between artifacttypes. ApacheWebApplicationContainerCapability This Non-Standards is a Work Product. Track webapps " upperBound="unbounded"/> "> Copyright © Copyright OASIS Open Reserved.Rights© All 2013. . 31 2013 January Page Page "> 30 of 82

[Type the document title] The following The following requiredCapabilityType requirement specifies type explicitly which capability by type satisfiedit can be by means of the system. It inherits the from general forrequirement database Note,thatfeatures. the typecertain requires node databasea endpoint that features provides an of database SQL The next “MySQLDatabaseEndpointRequirement” requirement type supports expressto that a currentlyare beyond the this scope of document). etc.). classes, non-functionalSuch properties should expressed be means of by (which policies requirements capabilities areand intended not expressto quality-of-services (like availability dependencies of helpand ensure to correctnessof the of topology cloud applications. Note,that targetone of of one the associations. This requirements way, and capabilities support fulfillment eachthem) When associating a type withnode node other types establishing (i.e. relationship between capability type “WebApplicationContainerCapability”. “ApacheWebApplicationContainerCapability” type which is derived the from moregeneric tosca-primer-v1.0-cnd01 complex applications it is likely that not all need types to you yourapplication model alreadyare other In cases, will defineyou haveto necessarythe example, types. For if are you vendor a of been definedand can you themuse immediately. bodies, forexample. it Thus, will often be the case that the needtypes willyou havealready applications in such a will domain be defined by groups,interest consortia,or standardization is assumed thatIt for popularapplication domains all types necessary define to cloud 1.9 these types. thattypes but independent groups consortialike vendor or standardization will bodies define that fewtype only architects will have define to their requirementown types and capability Typically, types andrequirement capability types veryare generic in nature.it Thus, expectedis Non-Standards TrackNon-Standards Green Perspective Field

MySQL DatabaseEndpointCapability MySQL DatabaseEndpointRequirement type they implement.typethey implementationstothe ensure warrants a madetypearchitectby aboutnode the define;theyartifact similarly, developershave will appropriate to choose understandarchitects this semanticswhen claiming ofcapabilities the types node documented togetherwith formal their XML definition.It that is assumed type Remark: requiredCapabilityType="tns:MySQLDatabaseEndpointCapability"> requirement CapabilityType Thesemantics of requirement typesand typesarecapability of theof source these associations should matchedbe by a The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply MySQLDatabaseEndpointCapability attribute: this attribute: attribute the to refers satisfying This Non-Standards is a Work Product. Track MySQLDatabaseEndpointRequirement definition satisfies the former Copyright © Copyright OASIS Open Reserved.Rights© All 2013. RequirementType . "> CapabilityType " 31 2013 January : capability Page Page 31 of of 82 .

[Type the document title] available in scope of importing the A element. TOSCA dereferencable This URI. URIis as then used value of the The namespace set theby Imports new elementsthe in this theset value of its order to In define new elements particular in a namespace you createa scope definitions names of two for main purposes: The TOSCA 1.10 types mustnode be definedby yourself. astypes) the well relationship types used connect to yournewly defined types with node other types requiredthe forthese components node (i.e. requirement types, types, or capability defined by Or if others. want toyou build cloud applications based rarely on used components, tosca-primer-v1.0-cnd01 reusesupports definitions. of Non-Standards TrackNon-Standards 2. 1. Definitions Modular of TemplatesModular Service Design ”, the service template definedin the TOSCA TOSCA imported(e.g.anXML schemadocument, BPMN a document,along a with importType ease To processing imported of documents,the alsobut anytypes other of definitions canbeimported via same the mechanism. Note: advancedusage that will we discussnotthis in document. specificationof namespacesfor namestheof these elements, this but is an andtype, have others, their own Note: Reusing existing bydefinitions referringthem to by name in theirnamespace. Avoiding andname clashes, Definitions Not canNot only TOSCA that selectiveTOSCA language servicelike elements templates, node document document storedis then Typically, somewhere. it will be made available via a Definitions processor targetNamespace attribute valuethe indicatesof which kindthe of information Definitions The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply Definitions element has a document). will will allthen themake definitions of importedthe document This Non-Standards is a Work Product. Track Definitions Definitions element. element. attribute thisparticular to value and, you then, specify element. For For element. example, in targetNamespace targetNamespace Definitions document. way, This the TOSCA documents thisbeimported in manner, Copyright © Copyright OASIS Open Reserved.Rights© All 2013. Import document shown is put into the location attribute to support local attribute. usual, this As to allows element has an Figure 10 Figure - UseMaking of attribute of an . Definitions Import document, Import 31 2013 January Page Page element 32

of 82

[Type the document title] specific (forspecific example, node types and relationship types that useful are for asweb applications) theSimilarly, document imports two thatdocuments contain thatdefinitions are domain- definitions. Definitions Definitions define their own capabilitythan the your types of application. This typeallows architects different with focus to documents. example, For node your types of application will definedin be differentdocumenta define service templates: differentkindsof types may be specified in different namespace of the In F tosca-primer-v1.0-cnd01 1.11 corresponding type implementation.node containing the “DBMS” node addingtype theand vendor information specific to the documentdefinitions the for “X_DBMS” node type implementation importing theby document based theirproducts. on example,For “vendor X” may the use “DBMS” node providetype and a vendora make to use types defined of elsewhereprovide to implementationsthe these types of separate but files alsonode type implementations and relationship Thisimplementations. allows onlyFinally, not typesdefined can be in particular namespaces and made available be in consortia, standardization bodies, or vendors. independent have definitions otherbeen defined by like groups interest groups, industry “OperatingSystem” node type). Both, the domain-specific definitions anddomain the definitions as well that are domain-independent (for example, a “Server” type andnode an Non-Standards TrackNon-Standards IGURE Figure 10

Simplifying Application Modeling: Composable ServiceTemplates Simplifying Modeling: Composable Application 10 choose choose this to atskip section a passfirstthrough the document.Whenyou need Remark: templates,youwant may to return hereto understand this concept. to expresscomplexmore applications usingas composable TOSCA service - M - document document will beshown in the same namespace that contains the own type document. The figure also indicates that all elements newly definedin the , the AKING This section This describesanadvanced feature of TOSCA;thus, you may Definitions Definition U Definitions SE

OF I The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply MPORTS documents documents make themand available for import intoother document document imports types that havebeen already definedin the own document. This supports way, TOSCA modular a approachto This Non-Standards is a Work Product. Track Copyright © Copyright OASIS Open Reserved.Rights© All 2013. . Definitions 31 2013 January Page Page

33 of 82

[Type the document title] be visibleasbe operations theof service templaterendered as type. node oftopology the service Similarly, template. operations individual of can nodes referencedbe to prescription of properties of templates node or relationship templatesof making the up service templatethe rendered a as type:node of each these properties is definedby mapping a the In following code snippet,the nodea type” and can be asused such in another service template. “todefinitions the boundary” theof service template. way, serviceThis template the “looks like constituencies node (like templates etc.) of the service template and “export” corresponding BoundaryDefinitions turn thisservice template substitutableinto a fora type. node isThis achieved means by theof appropriate relationship type.TOSCA to supports a model corresponding service template and Database the system; connection betweencorresponding the two node types is achieved anvia situations. example,For cases in most Web a requires server persistency means of by an SQL Often, individual only not types can be but reused topologies complete meaningful are in many 1.11.1 tosca-primer-v1.0-cnd01 that need to would refined be by more concrete definitions. orknowledge best practices about the component services upthat make cloud applications and type andnode that is not abstract an node way,type. This abstract types define commonnode instantiatable node template tois define another node type that fromis derived abstract the way One turnanto abstract node type intoa node type that usedcan be as basisthe foran order be to to able nodeinstantiate a template, its node type must concrete. be templatenode that is definedbased on abstractan type cannot node be Thus,instantiated. in nodeA types maydefined be abstract as setting by the value “yes” forits 1.11.2 Non-Standards TrackNon-Standards

. abstract 31 2013 January attribute. A Page Page 34 of 82

[Type the document title] boundary “ST”. of or “ST”, PropertyMappings ofsome its ingredients the to outside. is This done corresponding by boundary definitions like template “ST” that exposes selective properties, operations, and capabilities, requirements of BoundaryDefinitions turnedbe intoa substitutingcomposable) (or template definingservice by a nodeA type can be substituted by servicea template. thispurpose, For a service templatemust definitions. template that has been definedas abeing substitute foranother node type by proper boundary way One abstract node types can be ismade byconcrete substituting thema by service 1.11.3 tosca-primer-v1.0-cnd01 type it can substitute. element may explicitly its set ease theTo matchmaking of service a template aand node type the substituted by servicea templatethat matches all the characteristics the of abstract type. node template “ST” may substitute node type Especially, “N”. an abstractnode type may be thoseexactly of From “N”. this perspective, “N”and “ST” are i.e.undistinguishable, the service defining elements of all properties,“N”: operations, requirements and capabilities of “ST” match template “ST”Service may substitute type “N”becausenode the boundary of all “ST” matches F Non-Standards TrackNon-Standards IGURE

11 NodeOperation ofAbstract Substitution Types Node byService Templates - S - ERVICE T EMPLATE fordefining the properties visibleat the boundarythe of service template The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply element forit (see section S elements for exposing operations interfacesof available at the UBSTITUTING substitutableNodeType This Non-Standards is a Work Product. Track

A N ODE T YPE 1.11.1 Copyright © Copyright OASIS Open Reserved.Rights© All 2013. attribute to name the theof node ). Figure 11 ServiceTemplate depicts servicea . 31 2013 January Page Page

35 of 82

[Type the document title] also shows also shows these definitionshow relate other. each to in orderprovide to an deliver implementation of “ApacheWebServer” the node type.The figure application. The upper half of theproviding and installables executables required instantiate to manageand a cloud discussed before,As the WhatArtifact Developers ShouldKnow AboutTOSCA tosca-primer-v1.0-cnd01 implementation is used actually in an implementation artifact or deployment a artifact, independent thefrom use concrete of artifactthe When implementation. an artifact implementation that is based an on artifact type specifies values forthe properties that are properties of artifact types. These properties assumed are to invariant, be an i.e. artifact artifacts, e.g. that particular a artifact oris script a is an EJB. typesArtifact alsodefine the typestypes. Artifact are independent any of particular application domain and define the kind of application, artifactthe developer needs define to (or make of use already artifact existing) order to In installablesdefine the and executables required to provision and amanage cloud component. example, whether the isinstallable an image file, or orzip the executable isscript a or JEE a TOSCAA 1.12 F Non-Standards TrackNon-Standards IGURE

Defining Defining Artifact Types 12 - K - Artifact Type EY D EFINITIONS represents the kindof installable an or the ankind of executable. For

The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply FOR artifact developer TOSCA A TOSCA This Non-Standards is a Work Product. Track Figure 12 RTIFACTS depicts definitionsthe an is an expert is an in code artifacts: is in he charge of

AND

THEIR R Copyright © Copyright OASIS Open Reserved.Rights© All 2013. ELATIONSHIPS artifact developer . 31 2013 January has has to Page Page 36 of 82

[Type the document title] of all artifactof types in our sample domain. artifact type is derived the from “RootArtifactType” representing the common definitional items ArtifactType The “PrimaryScript” elements. (according the to metadata an of implementation artifacts or deployment a artifactthat is a script:script a (non-normative)The following contentspecific of field the corresponding implementation artifactor deployment artifact. individualadditional variant information added can be theto invariant data in the artifact tosca-primer-v1.0-cnd01 “scripts/ApacheWebServer/configure.sh” (via the ScriptLanguage The properties of saythis script that it isshell a (viathescript value ‘sh’ of the The following theto the location artifactwhere downloaded. can be object the containingof CSAR the artifact template via itself, or a pointingdereferencable URL isitself referenced in its executable or in installable its which itkind gets the properties of values ofthe which haveto specified be for the concrete An findto executable the installable or the (like link a intoa CSAR). properties of installablethe or executable (like language the of script)a and a wherereference TOSCAA 1.13 Non-Standards TrackNon-Standards ArtifactTemplate ScriptArtifactProperties

Script Artifact Artifact Template ArtifactTemplate as part as the of ScriptArtifactProperties element), and element), that its primary script is The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply ArtifactReference ScriptArtifactProperties is based (by itsmeans of represents a executable concrete installable.or It actual provides ScriptArtifact tScriptArtifactProperties This Non-Standards is a Work Product. Track Properties PropertiesDefinition ScriptArtifactProperties specifies informationthe about the “configure.sh” script. element is referenced the within following “ScriptArtifact” element. The element. concrete executable or installable element: typically, the willtoreference be an "> element) always has “ScriptLanguage” and a PrimaryScript type Copyright © Copyright OASIS Open Reserved.Rights© All 2013. attribute) an on artifact type from element’s "> element the invariantdescribes "> element). The element . attribute. This reference 31 2013 January Page Page 37 of

82

[Type the document title] element points to element to points “scripts/MySQLDatabaseConnection”the directory theof including (via CSAR theof corresponding to script understand those conditions). The “connectToDatabase.sh script” certain under conditions (youneed to take look a at the contents (specified in the ScriptLanguage “runSilentInstall.sh” script. Both shell are scripts scripts (have ‘sh’ an value in the artifactan templatethat consists of scripts, thetwo “connectToDatabase.sh” and script the take us Let a the look at pseudo-code for differentTOSCAa script“configure.sh” that of directory. ArtifactReference fromstarting the as rootCSAR ofthe the tree.directory The ofdirectory the includingCSAR the artifacttemplate; path expressions always are asinterpreted attribute the of tosca-primer-v1.0-cnd01 “runSilentInstall.sh” script thatfrom directory (by means of nested the its Non-Standards TrackNon-Standards reference

scripts/MySQLDatabaseConnection/connectToDatabase.sh sh xmlns="http://www.example.com/ToscaBaseTypes"> xmlns:ns1="http://www.example.com/ToscaBaseTypes" xmlns:ns1="http://www.exemple.com/ToscaBaseTypes" type="ns1:ScriptArtifact"> attribute) attribute) selects theand “connectToDatabase.sh” and script the ArtifactReference PrimaryScript element), and element), the “connectToDatabase.sh” isscript the primary script element, element, specifies that the artifact template of consists exactly the The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply configure.sh runSilentInstall.sh connectToDatabase.sh 271 314 This Non-Standards is a Work Product. Track " " element); and element); the script “runSilentInstall.sh” is by needed the element the to points “scripts/ApacheWebServer” "/> Copyright © Copyright OASIS Open Reserved.Rights© All 2013. "/> "/> Artifact Template Include ArtifactReference element, element, nested in the Include . (listed below). is It elements). 31 2013 January Page Page

38 of 82

[Type the document title] elsewhere) elsewhere) that anhas artifactRef indicated by its and“stop” “uninstall”).Looking at ImplementationArtifact for “configure”the operation (as interfacelifecycle of “ApacheWebServerthe theIn sample code below,each artifact’s value. Oncewe locate the matching ImplementationArtifact attribute and this attribute’svalue helps locate us the corresponding ImplementationArtifact Interface DeploymentArtifact and aalso provides to reference installable, an in this casean “OSPackage”, part as of its operationsthe of “ApacheWebServer” the type (as referencednode by its The following unit. type implementation (or relationship type implementation) bundles these artifactsinto single a as respectively, well as theas required installables. The executables of the are operations defined executables of operationsthe of interfaces the of correspondingthe node or relationship types, TOSCAA 1.14 tosca-primer-v1.0-cnd01 indicated as theby value of its artifact template identifier with “23”. installableThe referenced is an system packageoperating Finally, the which implements the “configure” operation byreferenced its Non-Standards TrackNon-Standards Implementation Artifacts

id , in thiscase, would the provide details about “configure.sh”a shell script id and . For each For . The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply configure install attribute alsowith value “314”.. the The , and the, installables definedasare artifactType which will havean Specifically, element. node each type’s This Non-Standards is a Work Product. Track artifactType ImplementationArtifact attribute), we see that its executable is identified the by Operation "/> and theand element of element of nodethe type implementation the to refers ImplementationArtifact or "/> ApacheWebServerImplementation Relationship TypeRelationship Implementation NodeTypeImplementation artifactRef id bundles the ” attributes locate to the actual executables. node type (e.g. “install”, “configure”, “start”, of the that appears in the referenced attribute. operationName ArtifactTemplate Copyright © Copyright OASIS Open Reserved.Rights© All 2013. of the ImplementationArtifacts ArtifactTemplate provides executables provides forthe Deployment ArtifactsDeployment via this via we method, can use attribute the with same ArtifactTemplate Operation must provide matchinga . provided the nodeType are simple nodeType " has has a (defined 31 2013 January : node a attribute) attribute) Page Page forall name ’s ’s

39 of

82

[Type the document title] (i.e. the(i.e. ImplementationArtifact “MySQLDatabaseConnection theartifact for “connectTo” ofoperation the “ConnectsTo The following mustinterfaces be realized correspondingby ofsource the relationship or the on target of relationship.the relationship Thus, types with Relationship types may definedhave interfaces too: namelythat interfaces can act the on tosca-primer-v1.0-cnd01 appropriate for the environment. determinefeatures to the node type implementation of certain a node type that is most requirement means ofby URI. a environment An that processes servicea templateuses these RequiredContainerFeature with.associated Such dependencies can be aexpressed by set of implementation artifact usemay make of APIs inspecific order realize to the operation it is be to available in an environment they deployed are in. example, For the executable of an Implementation artifacts or artifacts deployment may dependon featurestheyspecific assume 1.14.1 implementing the connectability to to particulara database before).(see Non-Standards TrackNon-Standards

interfaceName="http://www.example.com/ToscaBaseTypes/ConnectsTo" artifactType="ns1:ScriptArtifact" artifactRef="271" name="http-packages"/> artifactType="ns1: artifactRef=" operationName=" relationshipType="tns:MySQLDatabaseConnection"> name=" RelationshipTypeImplementation MySQLDatabaseConnectionImplementation 23 attribute) attribute) “271”.Thisof artifacttemplate bundles scriptsthe The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply uninstall stop start " OsPackageArtifact ” elementto refers the artifact template with a identifier reference relationship type.The corresponding This Non-Standards is a Work Product. Track "/> "/> elements. Each elements. such element denotes an individual "/> RelationShipType " Copyright © Copyright OASIS Open Reserved.Rights© All 2013. element theprovides implementation ” interface interface theof elements. " . 31 2013 January Page Page 40 of 82

[Type the document title] tosca-primer-v1.0-cnd01 Non-Standards TrackNon-Standards name=" ...... ApacheWebServerSpecialImplementation nodeType="tns:ApacheWebServer"> The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track Copyright © Copyright OASIS Open Reserved.Rights© All 2013. " . 31 2013 January Page Page 41 of 82

[Type the document title] might varymight significantly. or despitecommon, of well-defined, a common standard, actuallythe implementation used infrastructure, the because abstractions associatedand standards are sowell not and known this abstraction is more difficult achieve to you as get particular to closer hardware or operating which itselfsystem, abstraction is an on layer of hardware),top the it alsogets clear applicationthe a being on layer of top the application server, being itself layer a top on the of While thisexample shows, that these abstractions are typically used in hierarchical (with layers in theaspects underlying operating system. be to byused compliant applications, them allowing to ignorepotentially significantlydiffering application servers, which with – differentimplementations provide – standardized abstractions defined abstractions to portable allow definitions. Examples of such abstractions are J2EE describedkeep them portablein a The way. approach TOSCAof is use to appropriate and well thecloser elements of service definitionthe related are the to infrastructure, the harderit is to infrastructure concrete tocomponents used be run to instancesthe the of cloud service.The TOSCA compliant cloud,there is gapa bridge to between service definitionthe and itself the particularthe buildingblocks used in the actual cloud environment of provider implementinga a goalWhile TOSCA’s is the of definition cloud services portablein a i.e. manner, independent of 1.15 TOSCA WhatCloud ServiceProviders Should Know About tosca-primer-v1.0-cnd01 (e.g. Apache). for the different target cloud provider environments containing “same” the software content CSARa contain might a as artifact deployment multiple differentimages (or to references those) artifactthe match to the actually used abstractions, for needed if particular a example, For CSP. actually available underlying abstractions, therefore the may CSAR contain multiple of variations or particulara softwareapplication. These softwareelements might be ondependent the cloudthe service, forexamplethey may contain necessarythe for J2EE modules application,an artifactsDeployment essentially contain (software) which areelements, to needed implement artifacts. environment, CSAR containthe might so-called implementation artifacts or deployment order to In service a allow definition accommodate to different for elements in the 1.15.1 fewways toa achieve this mapping: themapped to concrete elements used in the ofdeployment service a provider. foresees TOSCA solveTo thisissue, some oraspects elements of TOSCA a cloud need serviceto definition be Non-Standards TrackNon-Standards

Adaptation to Particular CloudProviders Deploymentartifactsofimplementation and deploymentartifacts The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track Copyright © Copyright OASIS Open Reserved.Rights© All 2013. . 31 2013 January Page Page 42 of 82

[Type the document title] Section Section aboutMore information deployment artifactsand implementation artifacts is available in (as interfaces different abstractions) depending the on provider underlying infrastructure. artifact, e.g. one using capacity independent the of VM image usemight differentvariations of implementation an deploymentconcrete As environment. an provisioningexample, ofthe additional storage implementation artifact addressto differentinfrastructure elements services available inor the adapting it to used the environment. one mayAgain, CSAR contain multiple of variations an ofcourse managing cloud the service, for exampleto instantiate a (akaservice “provisioning”), TOSCA tosca-primer-v1.0-cnd01 Non-Standards TrackNon-Standards Implementation Artifacts ?? . OpenStack The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track are routineswhich are forexecutingneeded activities in the compliant interfaces, another using Copyright © Copyright OASIS Open Reserved.Rights© All 2013. Amazon EC2 . compliant 31 2013 January Page Page 43 of 82

[Type the document title] matched matched theto requirements other of by layers provider.the then We take the cloud developer components, or TOSCA declaring nodes,each the hosting capabilities they offer which can be willWe first show how “databasethe tier” can be described as setlayered, granular of service actualthe customer relational data the CRM application will connect and to use. application tier”.The other describe atier will Database, SQL or “database which stores tier”, typical Customer Relationship Management (CRM) web application which we will thecall “web theSpecifically, cloud application in thisexample of will consist two tiers. One describe a tier will consumer demand. that theyindependently can be scaled by cloud service providersaccommodate to variations in conceptgrouping can also usedbe communicate to scaling the policies tothat apply tier each so application that be should deployed, and configured managed together “tiers”. as same This we willFirst, show TOSCA modelinghow can describe the groupingslogical (parts) anof of possibilities modeling TOSCA.using applicationthe throughout thisexamplein to theorder highlight interoperability reusabilityand enables forthe application architect. Weemphasize the will declarative approachin defining appear it allows simple; however, introduce to us some powerful capabilities that TOSCA application and expressing them the using TOSCA standard. This examplemay, first glanceat incrementally describing essential some TOSCA concepts against a practical, real-world chapter This introduces clouda application that will serve theas “hello world” examplefor WhatApplication ArchitectsShould Know AboutTOSCA tosca-primer-v1.0-cnd01 TOSCA types,own templatesand artifacts. example’s howshow we can customize thisgeneralized stack” “database “databaseinto a tier” that our that it can be deployed andinteroperably referenced clouds on that support thenTOSCA. We toused this model common application dependency, specifically a using concerned in its “daywith to operations.day” This section begins showingby how TOSCA can be theas service on-top layer of database a that holds domain-specificthe data the application is everyMost web application interacts with Database a Management that (DMBS) System serves 1.16 configurableof connection properties. requirements capabilities forand node matching templates which itselfand can alsocarry set a “database tier” a using “ConnectsTo” relationship type that has its own connection-specific Finally, how we show connect to the “web application tier” the to database within the offer different underlying service models). that permitsthem be to portable different across service providerscloud (even those that may creatingthrough granular the description the of web application stack (or “tier”) mannerin a Non-Standards TrackNon-Standards Single-Tier for Database MySQL our SugarCRM Web Application SugarCRM

Web Application The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track tier (see Section tier Section (see Copyright © Copyright OASIS Open Reserved.Rights© All 2013. 1.17 ) ) can reference eventually its from . MySQL database, so 31 2013 January Page Page 44 of 82

[Type the document title] typical database “stack” components TOSCA:using tableThe following describes the basic node or types“base” that we willto use compose a basic components, theirinterfaces and TOSCAproperties as it overmanage its lifecycle. The cloud application developer would need tothen describe these formrequire some database of along with necessarythe components host deploy, to and basic setthe of servicescomponents theirapplication of.is comprised Most web applications The first step clouda developer take should when modeling theircloud application is identify to 1.16.1.1 ” isThis done through importing the of software service providers sothey are available made widely cloudto application architects. external types could developed publishedbe and by infrastructure, platform, middleware and servicein one template reference to types definednodes externallysome by party. other These defined fully a within TOSCAsingle service template itself; however, TOSCA permitsnode types course,Of the types usednode describe to these components and their dependencies may be operations.invocable exportingeach an associated, configurable ofset settings) properties (or as their as well operations.lifecycle Each these components of would represented be as TOSCA a node type services application that the upon deployment,relies for installation, and execution other setlogical component of services that the application is both composed of as well as those When usingmodeling one TOSCA, the of first things you need do to would is identify to the 1.16.1 tosca-primer-v1.0-cnd01 T Non-Standards TrackNon-Standards Modular DesignService of Templates ABLE Server Operating (OS) System (DBMS)Service Database Management Database NameBase Type Node

2 – S – RequiredTypes Node INGLE Define the RequiredDefine the Base Types Node -T IER M Y SQL D SQL The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply ATABASE This Non-Standards is a Work Product. Track E Represents an abstract properties(schema), and operations. Represents an abstract Description provider. describing TOSCA cloudthe application a to cloud service ProcessingVirtual Unit an (VPU) actualCPUor when furtherbe to developed describe Virtual a Machine(VM), a its properties with operations.and example,For thiscould Represents an abstractnotion aof service “compute” along service (or Represents an abstractnotion anof (DBMS) XAMPLE Definitions ”. and its basic operations. ' S B Platform Service ASE documents as described in Section N ODE T Copyright © Copyright OASIS Open Reserved.Rights© All 2013. YPES Database Management Service Database Node Types ). along with basic structure Operating SystemOperating . . . 31 2013 January 1.10 Page Page

45 of 82

[Type the document title] represented in pseudo-XML follows: as These “base” node from types derive TOSCA schema’sthe “root node” and would be tosca-primer-v1.0-cnd01 their application. possiblethe implementations cloud service providers may chooseemploy to when orchestrating and details other a way)(in declarative while immediatelynot concerning with themselves all developersallow focus to modeling on their application’s components,dependenciesspecific accept and understand when deploying interoperable TOSCA applications. This concept would service intobasic,models well-understood abstract types cloud node service providers might Additionally, these “base” node typesto us allow conceptually “collapse” complexmiddleware application components “web fora application tier”. typesbase arenode indeedagain referenced as the “buildingblocks” for modeling web the followingthe section (section example’s database also tier might used be when modeling web applications well. fact, as In in youAs can see,many of these base node servetypes which will the basic buildingblocks for our NodeType here Again, the we simply show basic type definitions;other required elements of the TOSCA Non-Standards TrackNon-Standards Tier

A basicDatabase ... Tier ... Abasiccloudcomputeresource ... Abasicoperatingsystem/platform ... AbasicDatabaseManagementSystem element’s element’s aredefinition discussed insections. later Tier Server OperatingSystem DBMS Database The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply "> "> This Non-Standards is a Work Product. Track 1.17 "> ) show ) will how “Tier”, the “Server”, “Operatingand System” "> that be should managed and/or scaled togethera “as typically usedtypes, describe to a stack of software (nodes) Represents an abstractgrouping concept node forother "> Copyright © Copyright OASIS Open Reserved.Rights© All 2013. . 31 2013 January Page Page Tier 46 of ”. 82

[Type the document title] T database example along the with base types they from: extend tableThe following describes the node specific types that would needed be a support to MySQL described a using node “specific” type that builds upon the “base” nodedatabase type. company’s web application persists its customer data in a themspecialize “specific” for To software. exhibit thisconcept, furtherlet’s assume that the fromdirectly types the we“base” defined above and thisnextprovide level of thatdetail middleware other (and software) our application actuallyuses. Thesenew types would derive for the developerbe would extend to these types moreclearly to represent specific the thatNow we haveidentified the “base” node types for modeling databasea tier, next stepthe 1.16.1.2 database service hostingcontainer’s capabilities. requirements common most to managementdatabase as services, as well exporting typicala type mightnode include some standardized of set properties, and interfaces policy common operations that servicesto of type. example,For any derivation theof includetypes additional could normative information including capabilities basic properties, and bewould well-understood by multiplecloud service providers that them. encounter Thesenode commonly definedTOSCA types (within a TOSCA theAs TOSCA standard evolves, these “base” application node ideally types would offered asbe for details their actualdatabase components and services. supporting derive to (andmore specific even customized) types thatnode further describe the granular theIn next sections, will show we how application the can easilyarchitect these base use types tosca-primer-v1.0-cnd01 Definitions represents“ns1” the fully-qualified base nodethe types we introduced in the section previous (using the “MySQLDatabase” node types respectively) might defined. be Theseare to fromshown derive database MySQLservice and database components the (i.e. and“MySQLDBMS” The pseudo-XML belowcode sample shows these special how node types the for MySQL Non-Standards TrackNon-Standards ABLE MySQL Database MySQL (DBMS) Name Specific Type Node

3 XAMPLE ’ S S PECIFIC Definitions specialized forMySQL. Represents nodea type “Database” node type node type). Management Service a (i.e. “DBMS”specialized Represents specializeda Database MySQL Description N ODE Copyright © Copyright OASIS Open Reserved.Rights© All 2013. for for “base”those node types and their T MySQL YPES document) and theirorchestration database which needs be to typeRef . attribute where DBMS 31 2013 January Page Page base 47 of 82

[Type the document title] The cloud developer,The cloud having the necessary ofset “base” both and “specific” types definednode 1.16.1.3 andcomponents services. a within TOSCA These types, MySQL to “specific” databases, could be published, made available and maintained andmodel composesimple, interoperable cloud applications TOSCA as service templates. intype ecosystem this manner further would enable cloud application developers more to easily standardized “base” nodeTOSCA types (as described in the previous section). Creating TOSCA a describe their using component services TOSCA. Additionally,their betypes fromwould derived publishdevelop, and maintain normative node“specialized” type is envisioned,It that TOSCA as gains middleware adoption, and cloud service providers would tosca-primer-v1.0-cnd01 T into one for“customized” SugarCRM a database: tableThe following describes the customization the of specific Database”“MySQL node type customizedsuitably Database”“MySQL node type forproper operation. Customer Relationship Management such (CRM) as solution, application. In our example, the company’s application specifically an uses open source properties, andinterfaces details other to needed make it suitable byfor use their actual neededdetails fortheirapplication. These “custom” node include types might even more databasefor a tier, is now to able extendfurther and them“customize” to theprovide final Non-Standards TrackNon-Standards ABLE SugarCRM DatabaseSugarCRM Name Node Custom Type

4 MySQL Database – S – INGLE Define the RequiredDefine the “Custom” NodeTypes -T Definitions IER M Y SQL D SQL MySQLDatabase The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply document document that theis offered by entity that governs software MySQL MySQL Database Type Extends Specific Node ATABASE This Non-Standards is a Work Product. Track DBMS Database E XAMPLE "/> "> ' S C USTOM "/> N ODE of theof “ application which iscustom a derivation workwithto the company’s SugarCRM Represents the database that is designed Description Copyright © Copyright OASIS Open Reserved.Rights© All 2013. T YPES SugarCRM MySQL Database” Definitions , which may need a . documents documents that type. 31 2013 January Page Page 48 of 82

[Type the document title] types identified above forthe “database our tier” example, of it look as would follows: wereIf look to we at the type inheritancenode hierarchy for the specific base, custom and node 1.16.1.4 forThe XML this“custom” tosca-primer-v1.0-cnd01 topology.tier’s templatesnode describe, to in our current overallexample, the MySQL SugarCRM database modelable that entities can instantiatedbe specific with properties, andetc. related other to TOSCA models; instead TOSCA capabilities of representative that class services of or software. not Theyare composableas types,Node themselves by simplydescribe the properties, operations, requirements and 1.16.2 F Non-Standards TrackNon-Standards IGURE

TurningTypes Node into Templates Node - N - Node TypeNode (Base,Specific,Inheritance Custom) ODE T YPE I NHERITANCE SugarCRMDatabase The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply NodeType This Non-Standards is a Work Product. Track

Node Templates FOR

MySQLDatabase A S UGAR definition might look something like: CRM D CRM "> are used turnTOSCAto ATABASE "/> Copyright © Copyright OASIS Open Reserved.Rights© All 2013. T IER Node Types . into 31 2013 January Page Page 49 of 82

[Type the document title] something like this: The pseudo-XML for the templatesnode forthe database nodetier’s types would look tosca-primer-v1.0-cnd01 settings be to to applied that whenserver orchestrated the by TOSCA processing environment: includes property specific settings applicationthat the provideddeveloper has that describes is thebased upon “SugarCRMDatabase” youAs can see,looking at the database’s SugarCRM Non-Standards TrackNon-Standards

type="ns3: type="ns1: xmlns:ns3="http://www.example.com/SugarCRM xmlns:ns2="http://www.example.com/ xmlns:ns1="http://www.example.com/ sugaradmin sugaradmin sugardb 3306 sugaradmin sugaradmin sugardb password 10 1024 1 type="ns3: SugarCRMDatabase OperatingSystem SugarCRMDatabase The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply SugarCrmDb MySql OsMySQL VmMySql DatabaseTier SugarCrmDb This Non-Standards is a Work Product. Track " name="MySQL"type="ns2: " name="OSforMySQL" " name="VMforMySQL"type="ns1: "> "> " name="SugarCRMDB" " name="SugarCRMDB" "> NodeType ToscaSpecificTypes ToscaBaseTypes " name="DatabaseTier"type="ns1: CustomTypes detailed we earlier, see template that the NodeTemplate Copyright © Copyright OASIS Open Reserved.Rights© All 2013. " MySQL " " "> (i.e. “SugarCrmDb”) (i.e. which Server . Tier "> 31 2013 January "> Page Page 50 of 82

[Type the document title] application with each theirown custom settings: property course, Of we also need create to node templates for the “custom” node ourtypes of anyof particular provider’s database container. software such that the application developer need not understand the implementation details These properties are conveyed the to cloud underlyingprovider’s implementation container tosca-primer-v1.0-cnd01 T service providers: for necessary describingfully our application SugarCRM bethat could understood multiple by tableThe following lists what is as viewed of some the common “base” artifacttypes that are 1.16.3.1 typesother of artifactsthat would used be duringthese first anstages of application lifecycle. application architect alsoneed towould describeactual the scripts, files, software packages and order to In actually deploy and install clouda application using TOSCAa service template, the 1.16.3 Non-Standards TrackNon-Standards ABLE File ArtifactFile Base Artifact Type Name

5 ... ... – S – RequiredArtifact Types 3306 3306 sugaradmin sugaradmin sugardb false admin admin somekey INGLE Define Define RequiredBase Artifact Types type="ns3: type="ns3: -T IER M Y SQL D SQL SugarCRMDatabase SugarCRMApplication The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply SugarCrmDb SugarCrmApp ATABASE This Non-Standards is a Work Product. Track application’s lifecycle encapsulatedand intoa file. single metadata that is somehow used or required duringan Represents artifacts that contain generalized data or Description E XAMPLE " name="SugarCRMDB" " name="SugarCRMApp" ' S B ASE "> A "> RTIFACT Copyright © Copyright OASIS Open Reserved.Rights© All 2013. T YPES . 31 2013 January Page Page 51 of 82

[Type the document title] These types something would thislook like in pseudo-XML theusing TOSCA standard: tosca-primer-v1.0-cnd01 usedscript install to the MySQL would database be represented an as artifacttemplate: Artifact Types order to In artifacts model wein TOSCA, create haveto TOSCA 1.16.4 application developers and vendors. “ example, a describing kinds ofmost software-related artifacts (not just forour current database tier). For custom artifacttypes. These base four artifact types definedaboveare for suitable conceivably RootArtifactType nodeMuch like types,“base” these “base” artifacttypes extend a from TOSCA Non-Standards TrackNon-Standards ArchiveArtifact” Package Artifact Archive Artifact Script Artifact

Package Artifact Archive Artifact Script Artifact File Artifact TurningArtifact Types into Artifact Templates Web Application Archive we havedefined The above. following examplecode shows how installation an type which in turn could usedbe create to custom application types by web and they could themselves alsobe extended createspecialized to or The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply PackageArtifact ArchiveArtifact ScriptArtifact FileArtifact This Non-Standards is a Work Product. Track deployment and/or installation. are packaged together forconvenient distribution, comprise complete a softwareapplication or service which Represents artifacts that contain a files collection of that manifest, filesystem layout and access information. control additional metadata about the it files contains such as file a (deployment) locations. Archive artifacts usually contain packaged together for transport storage or between Represents artifacts that contain a files collection of that are designed for these purposes. often authored using script various programming languages (or interpreted)to some perform operation. are Thesefiles commands, macros and other thatinstructions are executed Represents typicallyartifacts are thatfiles encapsulate (or WAR file) could definedasbe specialized a "> "> "> "> Copyright © Copyright OASIS Open Reserved.Rights© All 2013. Artifact Templates . from the 31 2013 January Page Page 52 of 82

[Type the document title] application’s application’s templates.node Templates which define the a “edges” of that TOSCA when topology into turned TOSCA cloudin a deployment. thispurpose, For introduces theTOSCA notion of be must able describeto how modelablethese componentsTOSCA would to relate other each identifiedHaving the set nodesof and artifactsrequired to express our database wetier, now 1.16.5 script’s and file relative within location the file.CSAR (an abbreviation for “shell” scriptthe and also its processing utility) with along the the name of ArtifactReference youAs can see,thistemplate the provides values the for tosca-primer-v1.0-cnd01 T concept “containment”of when modeling with TOSCA: The table highlights below relationship the base type we need describeto the fundamental “Operating node. System” Database relationship type we will “HostedOn”.simply call Specifically from our example,“SugarCRM the servicesits necessary to andmanage host ofnodes its type duringtheir lifecycle. This “containment”. In words,other it describes how nodeone dependson node to another provide deployment.cloud This fundamental relationship we need to expresses describe notionthe of type that us provides means tothe express their relationshipsone to another conceptually in a The database fromcomponents ourexample SugarCRM require single just a base relationship 1.16.5.1 Non-Standards TrackNon-Standards ABLE HostedOn Name Type Base Relationship

6 – S – xmlns:ns1="http://www.example.com/ToscaBaseTypes"> ” INGLE node node bewould the “HostedOn” “MySQL which in DBMS” node turn is hosted an on are to able describelogical the relationships and other dependencies between the RequiredRelationship Base Types ScriptArtifactProperties type="ns1: -T IER M Y SQL D SQL elements that customized are to describe the The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply scripts/MySQL/install.sh ScriptArtifact sh install.sh ATABASE This Non-Standards is a Work Product. Track E service service template. Represents a relationship hosting twobetween nodes in a Description XAMPLE scripts/MySQL "/> ' S B "> ASE R ELATIONSHIP Copyright © Copyright OASIS Open Reserved.Rights© All 2013. ScriptArtifactProperties "> T YPES ScriptLanguage . Relationship Types Relationship 31 2013 January Page Page as “sh” and 53 of

82

[Type the document title] provider’s database.provider’s “MySQLDBMS” between and “MySQLDatabase” node templatesversus other some middleware requirementsdescribe the and property neededsettings realize to containment a relationship extended createato “MySQLDatabaseHostedOnMySQL” specific software respective services. offerings and example,For the base type“HostedOn” can be these extensions would additionalinclude properties needed relate to components for those and artifact types above) create to applicationmiddleware and (vendor)types. specific Again, course,Of relationship the base above type show can alsobe extended (as we showed for node 1.16.5.2 forThe definition thisbase relationship types would look something like this: tosca-primer-v1.0-cnd01 containing “MySql_databases”: requires “SugarCrmDb_container” a to node template another that theexports capabilityof relationship templatewould be to able connect “source”a node template that declares it Database”“SugarCRM example,For the SourceElement sourcenode and target relationship A beingtemplate, besides based upon relationship a alsodescribestype, the valid template. partas its definition of along specific with values property used duringorchestration of the “edges” the a modelof TOSCA and represents instancean relationship of type that it references Templates they modeled, can be TOSCA weAs discussedTOSCA for 1.16.6 Non-Standards TrackNon-Standards

Hosted on TurningRelationship Types into Relationship Templates in order to them use in a TOSCA service model. Specificand Custom Relationship Types RelationshipTemplate and TargetElement NodeTemplate Node Templates The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply Node Types Relationship TypesRelationship This Non-Standards is a Work Product. Track MySQLDatabaseHostedOnMySQL HostedOn SugarCrmDb_HostedOn_MySql HostedOn , which turned are intoTOSCA

to to DMBS” our “MySQL elements). these relationships designed are to theconnect via (i.e. "> shown below is shown designed to below our relate example’s "/> alsomust turned be intoTOSCA Copyright © Copyright OASIS Open Reserved.Rights© All 2013. Relationship Templates NodeTemplate. RelationshipType Node Templates "> " . Specifically, this Relationship represents 31 2013 January Page Page so that to better 54 of 82

[Type the document title] “MySql_databases” (i.e.“MySql_databases” type database MySQL nodes): indeed aexports “MySQLDatabaseContainerCapability” type indicating it can from host correspondingAnd the “MySQL” in referenced the “MySQLDatabaseContainerRequirement” type identified as “SugarCrmDb_container” is (which weAs can see the tosca-primer-v1.0-cnd01 file CSAR for ready anddeployment installation. our web SugarCRM application. showFinally, we will how packageto all these intoa TOSCA developedfully section in previous (i.e. Section will providewe means a to “webconnect applicationthe tier” to the tier”“database that was artifacts and relationships needed describe to the components a of “web application tier”.Then application TOSCA. using will We describe how defineto the types and templatesthe for nodes, sectionThis will describe how clouda application developer would a model two-tierbasic, web 1.17 Non-Standards TrackNon-Standards

Two-Tier SugarCRM Web Application Example ... type="ns2:MySQLDatabaseContainerCapability"/> type="ns2:MySQLDatabaseContainerRequirement"/> TheTOSCA specification enables application architects meanstheto SourceElement NodeTemplate The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply MySql_databases MySql SugarCrmDb SugarCrmDb_container This Non-Standards is a Work Product. Track " name="MySQL"type="ns2:MySQL"> NodeTemplate forthe “SugarCrmDb” declare awould of the " name="SugarCRMDB" RelationshipTemplate " name="databases" 1.16 would have would a , “ Introduction Copyright © Copyright OASIS Open Reserved.Rights© All 2013. " name="container" Capability ”) already”) and customized for shown above): . Requirement element that 31 2013 January Page Page for a fora 55 of 82

[Type the document title] T application tier: TOSCA database “base”tier’s node types). We need define to would referenceor the “base” following significantdescribe the of parts the web application stack (as we didin Section developer’sThe cloud would again basicidentify set the of nodescomponent to needed 1.17.1.1 application tier” forour example application. new types,the artifacts, relationships and concepts that are compose to necessary “web the types fornode our database tier Section (see sectionThis will parallel the same activities that we described when developingthe required 1.17.1 tosca-primer-v1.0-cnd01 represented in pseudo-XML follows: as Once again, nodethese typesbase would from derive schema’s the TOSCA and“root node” be Non-Standards TrackNon-Standards ABLE Operating (OS) System Web Server Web Application NameBase Type Node Tier Server … …

7 AbasicWebServer AbasicWebApplication Node TypesNode RequiredTypes Node UGAR Define the RequiredDefine the Base Types Node CRM W CRM in order havethe to types needed eventually to a webmodel basic EB A The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply OperatingSystem WebServer WebApplication PPLICATION This Non-Standards is a Work Product. Track E This is thesame type “base” as described Section in This is thesame type “base” as described Section in This is thesame type “base” as described Section in applications. providing management operations more forone or web Represents abstract an service that is ofcapable and hosting properties and operations. Represents abstract an web application along basicwith Description XAMPLE "> ' S B 1.16.1 ASE "> "> N ODE ). However, we will feature to attempt only T Copyright © Copyright OASIS Open Reserved.Rights© All 2013. YPES . 1.16.1.1 31 2013 January Page Page 1.16.1.1 1.16.1.1 1.16.1.1 forthe 56 of . . . 82

[Type the document title] the capabilitythe “host” to operatingan system container (or node). “container” “host” to its component “HostedOn” a (i.e. relationship) and that provides it itself standardizedof properties, declaring that it requires a service provider havea to valid the In following showexample, we the “Server The elements other of the type arenode discussed insections. later tosca-primer-v1.0-cnd01 theWhere externally provided “ServerProperties Non-Standards TrackNon-Standards … … … … … Abasiccloudcompute/executionresource Abasiccloudcomputeresource Abasicoperatingsystem/platform and hostingand capabilities anyCSP. by somehave common andproperties definitions ofown its service requirements example, For ofany derivation the “Server services.base templates aboutworrying without provider underlying implementations of these TOSCAusingthestandard, composecouldtruly interoperableTOSCAservice multipleupon by thesetreatment for “base” node typeswould ideally bestandardized agreedand Remark: capabilityType="tns: requirementType="tns: NumberofCPUs Ideally, asIdeally, mentioned in above Section Server The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply cloud service providers cloudservice Server ServerProperties This Non-Standards is a Work Product. Track OperatingSystemContainerCapability "> ServerContainerRequirement "> NumCpus ”

so that NodeType ” ” complex type would defined be follows: as "> base node typewould beexpected to "> Copyright © Copyright OASIS Open Reserved.Rights© All 2013. cloudapplication developers 1.16.1.1 referencing an externally defined set , , definitionsthe and " upperBound="1"/> . " 31 2013 January , , Page Page 57 of 82

[Type the document title] T stack along thewith base types they extend: tableThe following shows these node specific types to needed describe our web application application. softwarecomponent Apache, (Linux, and MySQL an Apache PHP support module)to the web application today in the. Sometimes this is to referred a as “ ascomponents typical a open-source-based, middleware stack used host to many web much like the weone described earlier in thischapter. Readers will theserecognize software SugarCRMkind). This web application would persist its customer data in a anby Customer Relationshipsource Management (CRM) solution, such as Let’s assume,further forour example, that thiscompany’s application specifically an uses open 1.17.1.2 tosca-primer-v1.0-cnd01 Non-Standards TrackNon-Standards ABLE Apache Module Application Apache Web Apache Web Server Name Specific Node Type

8 Apache – S – Disksize(inGB) Memorysize(inMB) UGAR Define the RequiredDefine the SpecificNode Types web server running(perhaps a on Linux operating system distributionsome of CRM W CRM EB A The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply PPLICATION Disk Memory TOSCA RootTOSCA Web Application Web Server Extends Type Node This Non-Standards is a Work Product. Track " type="xs:int"> E " type="xs:int"> XAMPLE ’ S S PECIFIC by Apache web servers. modules which understood are and managed specific type that node describes software Specifically thisnode represents an Apache- types. that can be represented as nodetheir own composed optionalof components functional In thiscase, the middleware service isitself capabilities specific Apache. to any additional properties, and operations basic “ Represents Apachean specialization the of capabilities specific Apache. to additional properties, and operations basic “ Represents Apachean specialization the of Description N ODE Copyright © Copyright OASIS Open Reserved.Rights© All 2013. Web Application” Web Server” T YPES LAMPs LAMPs stack node type including any SugarCRM . ” which stands forthe node node type including MySQL which is hosted database 31 2013 January Page Page 58 of 82

[Type the document title] related componentsrelated would appear pseudo-XML: as we showBelow these “specific” how tosca-primer-v1.0-cnd01 application: types describe to the customizations “stand to needed up” the company’s actualSugarCRM typicalfor a applicationweb is now stack, able simply extend to the “specific”appropriate node developer,The cloud having the necessary ofset “base” both and “specific” types definednode 1.17.1.3 TOSCA standard. enabling even better granular orchestration of these components constituent by the CSPs using describeto the of components theirown software specific TOSCA as models themselves; this type for“Apache Module”. TOSCA permitmiddlewaremodels software like Apache, providers, youAs can see,we alsointroduced a new node type that from derives TOSCA rootthe node Non-Standards TrackNon-Standards Apache PHP Apache PHP Module

Apache PHPModule Apache WebApplication Define the RequiredDefine the Custom TypesNode ApachePHPModule ApacheModule ApacheWebApplication ApacheWebServer The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply Apache Module This Non-Standards is a Work Product. Track ApacheModule RootNodeType WebApplication WebServer Node TypesNode "> "> "> "/> forthe Application” nodes. Processor tofunctionality “Apache Web that specializes inPHP providing Hypertext Represents ” an "/> "/> "> S Copyright © Copyright OASIS Open Reserved.Rights© All 2013. erverProperties"/> "/> SugarCRM Apache Module” , Apache . and MySQL node type 31 2013 January Page Page service 59 of 82

[Type the document title] The pseudo-XML The pseudo-XML for these custom T tosca-primer-v1.0-cnd01 Non-Standards TrackNon-Standards ABLE SugarCRM DatabaseSugarCRM ApplicationSugarCRM Name Node Custom Type

9 UGAR CRM W CRM EB SugarCRMDatabase SugarCRMApplication A The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply PPLICATION http://www.example.com/lifecycle3 MySQL Database Application Apache Web Type Extends Specific Node This Non-Standards is a Work Product. Track E MySQLDatabase ApacheWebApplication NodeTypes XAMPLE ' S C USTOM "> would be would something like this: "> N ODE "/> of the “ application which ais custom derivation to thework with company’s SugarCRM Represents databasethe that is designed Application” custom derivation of “ the SugarCRM application service which is a Represents company’s the actual Description Copyright © Copyright OASIS Open Reserved.Rights© All 2013. T YPES MySQL MySQL Database” "> "/> node type. . type. Apache Web 31 2013 January Page Page 60 of 82

[Type the document title] F types identified above forthe “web application tier” of our example, look itas would follows: wereIf look to we at the type inheritancenode hierarchy for the specific base, custom and node 1.17.1.4 tosca-primer-v1.0-cnd01 this: The pseudo-XML for the templatesnode node for“specific” types would look something like TemplatesNode describe to the overall application service’s topology. entitiescomponent that can be instantiated with specific etc. properties, and to related other becannot instead modeled; TOSCA Node are Templates used turnNodeto Types into capabilities of representative that class services of or software. not Theyare composableand types,Node themselves by simplydescribe the properties, operations, requirements and 1.17.2 Non-Standards TrackNon-Standards IGURE

xmlns:ns3="http://www.example.com/SugarCRM xmlns:ns2="http://www.example.com/ xmlns:ns1="http://www.example.com/

14 TurningTypes Node into Templates Node - N - Node TypeNode (Base,Specific,Inheritance Custom) type="ns1: ODE T YPE I NHERITANCE Tier The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply VmApache WebTier "> This Non-Standards is a Work Product. Track

FOR

A " name="WebTier" S " name="VMforApacheWeb Server" UGAR CRM W CRM ToscaSpecificTypes ToscaBaseTypes EB CustomTypes A PPLICATION Copyright © Copyright OASIS Open Reserved.Rights© All 2013. " T IER " " . 31 2013 January Page Page 61 of 82

[Type the document title] tosca-primer-v1.0-cnd01 anyof particular provider which supports interoperability. software such that the application developer need not understand the implementation details These properties are conveyed the to cloud underlyingprovider’s implementation container settings be to to applied actualan at server CSP when a orchestrated: includes property specific settings applicationthat the provideddeveloper has that describes theupon “Server” youAs can see,looking at the web server’s Non-Standards TrackNon-Standards type="ns1: type="ns1: VmApache PhpModule SugarCrmApp ApacheWebServer OsApache as described as in previous wethe section, see that the template This Non-Standards is a Work Product. Track "> " name="VMforApacheWebServer" " name="OSforApache" "> " name="PHPModule" " name="SugarCRMApp" NodeTemplate "> "> " name="ApacheWebServer" "> Copyright © Copyright OASIS Open Reserved.Rights© All 2013. (i.e. “VmApache”) (i.e. which is based . 31 2013 January Page Page 62 of 82

[Type the document title] our web our web application stack. typesother of artifactsthat would used be deploy, to install the actual softwarecomponents for application architect alsoneed towould describeactual the scripts, files, software packages and order to In actually deploy and webinstall applicationthe a serviceusing template,TOSCA the 1.17.3 application with each theirown custom settings: property before, alsoAs we need createnode to templates for the types“custom” of node our tosca-primer-v1.0-cnd01 “install” for operation “ApacheWebServer” the node: as(such scripts).Below an we show exampleof “script” a artifactthat CSP would use during the atused various these stages components’ of lifecyclesrespective and operationscorresponding software (such packages, as archives, andconfiguration files policy documents), also but files different kindsof artifactsthat would be not to needed deploy only and install the component The service template forour SugarCRM web application (tier)example include would many 1.17.4 architecting thefor deriving necessary ofset artifactsfor applicationour web tier. “ architectingwalked through a “database MySQL tier” (i.e. artifactthe types “ The same ofset base artifacttypes that we listedand described in Section 1.17.3.1 Non-Standards TrackNon-Standards Script Artifact type="ns3: type="ns3: ... ... TurningArtifact Types into Artifact Templates RequiredArtifact Types 3306 sugaradmin sugaradmin sugardb false admin admin somekey Define Define RequiredBase Artifact Types ”, “ ”, SugarCRMApplication SugarCRMDatabase Archive Artifact The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply SugarCrmApp SugarCrmDb This Non-Standards is a Work Product. Track ” and “ Package Artifact "> " name="SugarCRMApp" " name="SugarCRMDB" "> Copyright © Copyright OASIS Open Reserved.Rights© All 2013. ”) ”) theare same we ones willfor use ScriptArtifact .

1.16.3.1 File ArtifactFile ">

when we when we 31 2013 January Page Page ”, 63 of 82

[Type the document title] dependency betweendependency nodes will that simplename we “DependsOn”. relationship This is The second type we introduce is here a relationship that describes more a generalized DatabaseSugarCRM HTTP(s) protocol).From our example, our representeither continuous a periodic or IP network connection based (typically an using required duringsome stage of another lifecycle. service’s This “ConnectsTo” relationship could service that is available a through network endpointfrom accessible the iscloud’s network and The first relationship type we need add to our to set of required base describe types would a basicadditional relationships fully the to relationshipsdescribe our application’sof model. application stack. However, our describing essentialthe hosting relationships between the nodescomponent of our web that describes “containment” which was named “HostedOn”. type This is of course foressential SectionIn 1.17.5.1 1.17.5 tosca-primer-v1.0-cnd01 forThe definitions these base relationship types something would this:look like T relationship types forconvenience: The table highlights below the descriptionsnames and these for additional required “base” in order execute. to theexhibited by Non-Standards TrackNon-Standards ABLE DependsOn ConnectsTo Name Type Base Relationship

10 ConnectsTo – S – RequiredRelationship Types SugarCRM Web SugarCRM Application ' S node which “depends the on” B "> ASE R ELATIONSHIP ”, we establishedbase a relationship type Copyright © Copyright OASIS Open Reserved.Rights© All 2013. T YPES would “ConnectsTo” would the . Apache PHPApache Module . 31 2013 January Page Page 64 of 82

[Type the document title] of database.of realizeto connection a our to desired Database” “MySQL node template someversus kind other “MySQLDatabaseConnection” betterto describerequirements the and property settings needed The base “ConnectsTo” relationship type would extended be to create a Server”:“Apache Wen application For stack. “Apacheexample, the PHP Module” be would hosted logically by the relationship types foreach the of logical containments nodebetween templatesfor our web “ base relationship“HostedOn” usedtype derive to was a specific respectivethose softwareofferings and services. As was shown in Section middleware and application (vendor)types specific that have properties additional available for course,Of relationship the base types shown above in 1.17.5.2 tosca-primer-v1.0-cnd01 SourceElement and TargetElement elements). sourcenode and target Node theseTemplates relationships designedare to (i.e. theconnect via relationship A beingtemplate, besides based upon relationship a alsodescribestype, the valid theof template. asreferences of part its definition with along property specific values used duringorchestration therepresents “edges” of TOSCA a model and anrepresents of instance relationship type that it in orderTemplates to them use in a TOSCA Theservice Relationshipmodel. Template they modeled, can be TOSCA Relationship Types alsomust turned be intoTOSCA Relationship weAs discussedTOSCA for Node Types, which turned are intoTOSCA Node sothatTemplates 1.17.6 Non-Standards TrackNon-Standards MySQLDatabaseHostedOnMySQL” relationship type, we can

Depends on name="hosted on"type="ns2:ApacheModuleHostedOnApache"> Specificand Custom Relationship Types The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track MySQLDatabaseConnection DependsOn ConnectsTo PhpModule_HostedOn_Apache "> "/> Copyright © Copyright OASIS Open Reserved.Rights© All 2013. Table 10 define similar “HostedOn”define similar can extendedalso be to create "> . " 1.16.5.2 when the 31 2013 January Page Page 65 of 82

[Type the document title] “SugarCrmDb_clients”: indeed aexports “MySQLDatabaseEndpointCapability” indicating it can fromaccept connections correspondingAnd the “SugarCrmDb” NodeTemplate would have a in referenced the “MySQLDatabaseEndpointRequirement” type identified as “SugarCrmApp_database” is (which weAs can see the NodeTemplate for the would“SugarCrmApp” declare a accepting of “SugarCrmDb_clients”: “SugarCrmApp_database” toconnection templates “target” node that declare they capable are can connect “source” templatesnode that declare they requirenamed a databaseSugarCRM example,For the tosca-primer-v1.0-cnd01 “DependsOn” Apachean PHP Module in order properlyto run the application SugarCRM itself: addition, In can describe howwe our “SugarCRM Application” Web templatenode Non-Standards TrackNon-Standards

type="ns2:MySQLDatabaseEndpointCapability"/> type="ns2:MySQLDatabaseContainerRequirement"/> type="ns3:SugarCRMDatabase"> type="ns2:ApacheWebApplicationContainerRequirement"/> type="ns2:MySQLDatabaseEndpointRequirement"/> type="ns2:PHPRuntimeRequirement"/> name="connects to"type="ns2:MySQLDatabaseConnection"> name="depends on"type="ns1:DependsOn"> ... RelationshipTemplate SourceElement NodeTemplate SugarCrmDb_clients The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply SugarCrmDb SugarCrmDb_container" SugarCrmApp SugarCrmApp_database This Non-Standards is a Work Product. Track of the SugarCrmApp_ConnectsTo_SugarCrmDb SugarCrmApp_DependsOn_PhpModule to to applicationour SugarCRM shown below is designedconnect to our example’s RelationshipTemplate " name="SugarCRMDB" " name="SugarCRMApp" name="container" " name="clients" Copyright © Copyright OASIS Open Reserved.Rights© All 2013. " name="database" shown above): NodeTemplate Capability . Requirement element that . Specifically,. it " " 31 2013 January Page Page for a fora 66 of 82

[Type the document title] Section Section withalong samples files of that contain the types and wedefinitions described throughout Example.CSAR” (named our match to example) havethewould following structure directory that(files) would be packaged together create to a file. CSAR The CSAR “SugarCRM-MySQL- file application)SugarCRM would havemany XML files, schema Our example’s TOSCA would file structuredbe given the expectation such for a set and files of artifacts. template in a “Primer” bewould counterproductive. However, we wish show theto how CSAR that be would definedand connectedto another one to arealize TOSCA complete service Describing exhaustively numerousthe types, templatesthe for relationships nodes, and artifacts 1.17.7 tosca-primer-v1.0-cnd01 file And the “TOSCA.meta” contains: Non-Standards TrackNon-Standards

Content-Type: application/vnd.oasis.tosca.definitions Name: Definitions/SugarCRM-Definitions.xml Content-Type: application/vnd.oasis.tosca.definitions Name: Definitions/SugarCRMCustomTypes-Definitions.xml Content-Type: application/vnd.oasis.tosca.definitions Name: Definitions/TOSCASpecificTypes-Definitions.xml Content-Type: application/vnd.oasis.tosca.definitions Name: Definitions/TOSCABaseTypes-Definitions.xml Created-By: OASISTOSCAInteropSC CSAR-Version: 1.0 TOSCA-Meta-File-Version: 1.0 SugarCRM-MySQL-Example /scripts /files /Definitions /types /TOSCA-Metadata /SugarCRMDatabase /SugarCRMApplication /MySQLDatabaseHostedOnMySQL /MySQL /ApacheWebServer /ApachePHPModule /ApacheModuleHostedOnApache ... /SugarCRM-Definitions.xml /SugarCRMCustomTypes-Definitions.xml /ToscaSpecificTypes-Definitions.xml /ToscaBaseTypes-Definitions.xml /TOSCA.meta ?? /SugarCRMCustomTypes.xsd /ToscaSpecificTypes.xsd /ToscaBaseTypes.xsd /Artifacts.xsd CreatingService Cloud the Archive(CSAR) : (subdirectories wouldincludevarioussoftwarepackages/archives) Service TemplateService The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply .CSAR This Non-Standards is a Work Product. Track (which (which contains the two-tiercomplete of model our Copyright © Copyright OASIS Open Reserved.Rights© All 2013. Definitions documents, and artifacts . 31 2013 January Page Page 67 of 82

[Type the document title] provider might provider might advertise: in abe complex type called "MachineTemplate". Below example is an what aof cloud service hardware characteristics the of new virtualmachine the - actualproperties the of “Machine”will supported its TOSCAby implementation. This scenarioThis requires the cloud service defineprovider to (CSP) one 1.18.1 CIMI image.machine The container into which it willdeployed will be be Machine a (as definedby this In thescenario, artifact deployment described being a CSARby willTOSCA file be virtual a 1.18 sectionThis describes how virtualmachines deployed can be TOSCA.via virtual machine. animage (e.g. ISO image) an of machine entire and then unpackaging a it onto Cloud-hosted theirenterprisewithin or a on Cloud).public Typically, easiest waythe to thisis do to create an anup existing application and moving it a to (VM)virtual machine that's hosted remotely (either developer'sA first experience hosting with an application in the may Cloud be simplypackaging Moving VirtualMachines to TOSCAthe World tosca-primer-v1.0-cnd01 "MachineTemplate"Where is definedas follows: Non-Standards TrackNon-Standards ).

xmlns:tns="http://mycsp.com/toscaTypes"> xmlns:tbase="http://example.com/ToscaBaseTypes" xmlns="http://docs.oasis-open.org/tosca/ns/2011/12" AnewvirtualmachineasdefinedbyCIMI Machine CSPTypes The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track MachineTemplate "> " targetNamespace="http://mycsp.com/toscaTypes" NodeType "> Copyright © Copyright OASIS Open Reserved.Rights© All 2013. , called “Machine”, a defines the virtual NodeType . that will be 31 2013 January Page Page 68 of 82

[Type the document title] as includingas a the to reference ISO image containing file the application: bycreated the fillingapplication in all developer, of the properties of new machinethe well as theGiven above 1.1.1 tosca-primer-v1.0-cnd01 Non-Standards TrackNon-Standards

AnewvirtualmachineasdefinedbyCIMI targetNamespace="http://example.com/myApp" > xmlns:tns="http://example.com/myApp" xmlns:csp="http://mycsp.com/toscaTypes" ... namespace="http://mycsp.com/tosca/toscaTypes" /> artifactType="csp:ISOImageArtifact" /> artifactRef="tns:myImage" MyFirstMachine MyMachine 64000 4 C: NTFS 512000 NodeType Service Template The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply , a, service templateXML file, called “Machine.xml”, can then be This Non-Standards is a Work Product. Track Machine xmlfile "> Copyright © Copyright OASIS Open Reserved.Rights© All 2013. . 31 2013 January Page Page 69 of 82

[Type the document title] In this file In areXML there couple a of being things defined: tosca-primer-v1.0-cnd01 “TOSCA.meta”Where contains: followingthe structure: serviceThis template becan now used createa to file, called CSAR “myFirstMachine.CSAR”, with CreatingService Cloud the Archive(CSAR) file Non-Standards TrackNon-Standards    

Created-By: JoeSmith CSAR-Version: 1.0 TOSCA-Meta-File-Version: 1.0 myFirstMachine.CSAR /Definitions /TOSCA-Metadata /Machine.xml /TOSCA.meta defined at top the of XML file. the new machinethe in other - words, we theneed reference to deployment artifact we Second, we need tell to the cloud service provider use which to ISOfile when creating like, looked elements arethose innamespace. the "csp" andservice provider, not TOSCA specification, the definedwhat a "Machine" not are samein the XML namespace as the restof XML document.the the Since cloud drive). Notice that elements the XML that define the ofcharacteristics the “Machine” and ephemeral diskone (with 512 formatted megabytes, NTFS, availablewith as the "C" application is asking newfor a virtual with machine CPUs,4 megabytes of 64 memory configuration parameters of the new “Machine” that is be to In created. thiscase, the In“Machine”. order this do to need twowe pieces of we information. need First, the And in thefinally and placed at is outthis URL scope for of thisdocument. in thiscase"http://example.com/myISO/machine1.ISO". How thisISO file createdwas this casean and ISOimage) includes a to reference the imagewhere can be retrieved - Next is the template. namespace for are application owned/defined - entities suchthe as name of the service service providercloud will beand available forthe application use. to The "tns" namespace be"csp" will used forXML elements, or that (but most all)not the of XML elementsdefined are the by TOSCA specification. The default namespace is defined the as one thefrom TOSCA itself, specification this tells us theIn Provider.Service location theof imported theIn Import therestatement is no Definitions ArtifactTemplate The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply ServiceTemplate element a itself XMLcouple of namespaces are Thedefined. This Non-Standards is a Work Product. Track Definitions element. element This defines type ofthe artifact(in (document) will be inherently byknown the Cloud Location element we the bind ISOimage a to particular Copyright © Copyright OASIS Open Reserved.Rights© All 2013. attribute specified. In this casethe NodeTypes . , that defined are the by 31 2013 January NodeType Page Page 70 of 82

[Type the document title] new new virtual machine. CSARThis can file then be TOSCA given a to providerwhich then deploywill the application a on tosca-primer-v1.0-cnd01 Non-Standards TrackNon-Standards The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track Copyright © Copyright OASIS Open Reserved.Rights© All 2013. . 31 2013 January Page Page 71 of 82

[Type the document title] Figure 15Figure interfaceimplement the operations of NodeTypeImplementation particular provides server deploymentthe artifact application respectively. The Accordingly, developers define two OVFthe package. defined in an descriptor OVF andfile image an installing Linux TomcatSUSE and is included in implemented by virtual a system installing LinuxOS and App Container. The virtual system is aConsider web application deploymentrequires an application server. The application server is 1.19.1 (OVF If is OVF used a by node, it means that the node is deployed a on virtual system or component a in a The artifact deployment a of node 1.19 How TOSCA Works with Cloud Other Standards tosca-primer-v1.0-cnd01 document. namespace intoanother “http://www.example.com/Sample Definitions The F Non-Standards TrackNon-Standards IGURE TOSCA NodeType ’ s

Mapping TOSCA to OVF DMTF 15 “ product Use Use Case - S - .

NodeTemplate document document Service Template AMPLE forthe application is server defined ” S ) running virtualsystem,in a as defined in the package. OVF ERVICE One: identified “ as T The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply Definitions OVF Package for Single System Virtual OPOLOGY referring the can represented bybe an definitionimage such as OVF an package. NodeTypeImplementation also provides alsoprovides implementationthe artifact This Non-Standards is a Work Product. Track

FOR (i.e. TOSCA a NodeType document, the NodeType MyNodeTypes OVF U OVF the “ NodeType appServer.ova

NodeType SE C s” s ASE in TOSCA forthe application and server the Web . . Node Template Thus, byThus, importing the corresponding 1 ” of the application server. The within the within target namespace Node within thewithin . The. service templatetopology is shown in Copyright © Copyright OASIS Open Reserved.Rights© All 2013. ” to materialize of instance the Type forthe is available for in the use other Definitions or a NodeType Node TypeNode Implementation . “ serverMgt.war element of of the of application 31 2013 January Page Page ” a to 72

of 82 )

[Type the document title] other document.other namespace intoanother “http://www.example.com/SampleArtifact attribute value “MyArtifact Like the 1.19.1.1 theartifact for stepsThe following be should followed in order take to an package OVF as deploymentthe tosca-primer-v1.0-cnd01 Artifact importing by correspondingthe namespace into another “ The “OVFPackage” 1.19.1.2 Non-Standards TrackNon-Standards MyArtifacts

targetNamespace="http://www.example.com/SampleArtifacts" NodeType “ packages deployableas artifacts. namespace="http://www.example.com/SampleArtifactProperties"/> namespace="http://www.example.com/ToscaBaseTypes"/> importType=" location="http://www.example.com/ Step Step OVFPackage Template targetNamespace="http://www.example.com/SampleNodeTypes"> targetNamespace="http://www.example.com/SampleNodeTypes"> ” within the target namespace NodeTemplate One. Two. , the ArtifactType Types/MyArtifactTypes.tosca" Defining the Defining ArtifactTypethe that used beforcan describing OVF is available foruse in the document.other Defining the Artifactthe Defining Template referring http://docs.oasis-open.org/tosca/ns/2011/12 ApplicationServer MyArtifactTypes MyNodeTypes MyArtifacts ArtifactType The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply ” Definitions . . Type OVFPackage This Non-Standards is a Work Product. Track of the s” within the target namespace is definedin document, the NodeType " name="MyNodeTypes" " name="MyArtifacts" is alsodefinedin a "> Type “http://www.example.com/SampleArtifacts” " name="MyArtifactTypes" s”. s”. byThus, importing the corresponding another "

“ ApplicationServer ArtifactType Copyright © Copyright OASIS Open Reserved.Rights© All 2013.

Definitions Definitions Definitions to is available for in the use document document document, the ” "/> . document the ArtifactTypethe . with thewith with the 31 2013 January Page Page id . . Thus, Thus, 73 of id of

82

[Type the document title] Th 1.19.1.3 tosca-primer-v1.0-cnd01 can map right image the withVM a TypeNode packageOVF may contain multiple images which are VM 1.19.2 Non-Standards TrackNon-Standards e e code blockfollowing defines

xmlns:sa="http://www.example.com/SampleArtifacts" xmlns:sat="http://www.example.com/SampleArtifactTypes" xmlns:snt="http://www.example.com/SampleNodeTypes" targetNamespace="http://www.example.com/SampleImplementations" Use Use Case files/serverMgt.war importType=" location="http://www.example.com/ importType=" location="http://www.example.com/ importType=" location="http://www.example.com/ namespace="http://www.example.com/BaseArtifactTypes"/> Step Implementation Type="sat:OVFPackage"> name="My OVFInstallable" Three. artifactType="sat: nodeType="snt:ApplicationServer"> artifactRef="sa: Types/MyNodeTypes.tosca" Artifacts/MyArtifacts.tosca" Types/MyArtifactTypes.tosca" artifactType="ba:WARFile"> interfaceName=" Two http://docs.oasis-open.org/tosca/ns/2011/12 http://docs.oasis-open.org/tosca/ns/2011/12 http://docs.oasis-open.org/tosca/ns/2011/12 Defining the Defining NodeTypeImplementationthe MyImpls The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply .OVF Package for SystemsVirtual Multiple s or This Non-Standards is a Work Product. Track MyOVFInstallable Node Templates an implementation of the " name="MyImplementations" MyOVFInstallable MyAppServerInterface n OVFPackage = ode "MyAppServerImpls" t ype ype implementation " , should hints given be sothat TOSCA container "> " Copyright © Copyright OASIS Open Reserved.Rights© All 2013. " Deployment ArtifactsDeployment NodeType or t emplate. "/> "/> "/> “

MyImpls “ ApplicationServer . for for multiple ” . 31 2013 January Page Page ” 74 . of 82

[Type the document title] 16 therefer same package OVF as deploymentthe artifact. The isservice showntopology in “ Accordingly, developers define two VirtualSystemCollection described two by installing LinuxOS and in MySQL. Therefore, OVF an file,descriptor these two images are images areVM needed, where imageone installing Linux and OS aConsider web application deploymentrequires an Application server and DBa server. tosca-primer-v1.0-cnd01 document. namespace intoanother “http://www.example.com/Sample document The F Non-Standards TrackNon-Standards D IGURE . atabase S NodeType

DB Server A virtualmachineinstallingSuseLinuxandMySQL Application Server A virtualmachineinstallingSuseLinuxandTomcat “ targetNamespace="http://www.example.com/SampleNodeTypes"> AMPLE MyNodeTypes erver Multi-tiered Appliance s forthe S ” VirtualSystem respectively. The ERVICE ApplicationServer T “A MyNodeTypes The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply Definitions OPOLOGY ” pplication within the within target namespace This Non-Standards is a Work Product. Track element as element as follows: dbServer appServer

FOR elements included in and one NodeType document, the NodeType NodeTypeImplementations OVF U OVF S erver " name="MyNodeTypes" "> ” SE and C "> s” s ASE in TOSCA forthe . . Thus, byThus, importing the corresponding " “ 2 Database Server Node Copyright © Copyright OASIS Open Reserved.Rights© All 2013. Type s

are “ Apache Application ” available in thefor use other for for these two are definedin a . andother the one S erver NodeType 31 2013 January Definitions ” and the Page Page S o, two o, Figure 75 of s

82

[Type the document title] available foruse in the document.other corresponding namespace intoanother target namespace The database afterserver successfully importing the package. OVF TOSCA mayserver acquire address the network of the serverdatabase in order connect to it. to The There once. only may be interaction between these two thepackage, instances nodesfor these two can be theSince artifacts deployment implement to these two tosca-primer-v1.0-cnd01 DeploymentArtifacts specifyingBy image the in the VM Non-Standards TrackNon-Standards ArtifactTemplates

targetNamespace="http://www.example.com/SampleArtifacts" c ontainer know should which VM is for the application and server which one is for the importType=" location="http://www.example.com/ targetNamespace="http://www.example.com/SampleNodeTypes"> < < Include pattern="dbserver.img"/ Include pattern="appserver.img"/ Type="sat:OVFPackage"> name="Application ServerInstallable" Type="sat:OVFPackage"> name="Database ServerInstallable" Types/MyArtifactTypes.tosca" “http://www.example.com/SampleArtifacts” http://docs.oasis-open.org/tosca/ns/2011/12 DBServer MyArtifacts The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply of of are defined are in a NodeTypeImplementations This Non-Standards is a Work Product. Track AppServerInstallable DBServerInstallable ArtifactTemplates " Definitions " name="MyArtifacts" Definitions > > document, the instantiated Copyright © Copyright OASIS Open Reserved.Rights© All 2013. document NodeType nodes and referring " , the TOSCA container aware can be " . For example, For the. application by importing the package OVF . . Thus, importing by the “ s are packageds are in OVF single a Artifact MyArtifacts "/> to to . them them in the Templates ” within the within 31 2013 January Page Page

are 76 of

82

[Type the document title] follows theof roleeach of VM. The tosca-primer-v1.0-cnd01 databasethe server. “ databasethe server. When the operation made from Based the on above Non-Standards TrackNon-Standards DBServer

xmlns:sa="http://www.example.com/SampleArtifacts" xmlns:sat="http://www.example.com/SampleArtifactTypes" xmlns:snt="http://www.example.com/SampleNodeTypes" targetNamespace="http://www.example.com/SampleImplementations" importType=" location="http://www.example.com/Types/MyNodeTypes.tosca" importType=" location="http://www.example.com/Artifacts/MyArtifacts.tosca" importType=" location="http://www.example.com/Types/MyArtifactTypes.tosca" namespace="http://www.example.com/ToscaBaseTypes"/> ” is “ appserver.img performed nodeType="snt:DBServer"> nodeType="snt:ApplicationServer"> artifactRef="sa:DBServerInstallable"> artifactType="sat:OVFPackage" artifactRef="sa:AppServerInstallable"> artifactType="sat:OVFPackage" Definitions http://docs.oasis-open.org/tosca/ns/2011/12 http://docs.oasis-open.org/tosca/ns/2011/12 http://docs.oasis-open.org/tosca/ns/2011/12 MyImpls The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply , the TOSCA ” NodeTypeImplementations is the application server theand VM made from This Non-Standards is a Work Product. Track document, TOSCA the " name="MyImplementations" = = c " " ontainer can access IP the correct Address the of VM for MyAppServerImpls MyDBServerImpls “ AcquireNetworkAddress c Copyright © Copyright OASIS Open Reserved.Rights© All 2013. ontainer for " " NodeTypes can ” determine defined in the "/> "/> "/> . can definedasbe “ dbserver.img that the VM 31 2013 January NodeType Page Page 77 ” of is

82

[Type the document title] Section 8: Paul Zhang, Huawei; Marvin 8: Paul Section Zhang, Spatzier, Davis, IBM7: Doug IBM; Thomas Section Rutkowski, IBM 6: Matt Section Noll,Frank IBM5: DietmarLeymann, Section IBM; 4: Frank IBMSection Leymann, 3: Frank IBMSection Leymann, Frank2: Adolf NetApp; IBMHohl, Leymann, Section Rutkowski, IBM 1: Matt Section bySectionContributors acknowledged by TOSCA TC:the individualsThe following haveparticipated creationin of the thisdocument and gratefully are A.Appendix tosca-primer-v1.0-cnd01 Non-Standards TrackNon-Standards : Acknowledgments The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track Waschke, CA Waschke, Copyright © Copyright OASIS Open Reserved.Rights© All 2013. . 31 2013 January Page Page 78 of 82

[Type the document title] VM UID, UUID TAR RPM QoS PHP OVF NTFS JAR J2EE FTP EJB EC2 DMTF CSAR CRM CIMI BPMN Acronym B.1 B. Appendix tosca-primer-v1.0-cnd01 Non-Standards TrackNon-Standards Acronyms has been adopted for uses.additional Unix-style archive format; file originally tape for developed archives, but distributions. RPM Packagea Manager, packaging formaton used Linux some Quality Service of PHP: Hypertext Preprocessor, recursive a acronym. Open Virtualization Format New Technology System File Java ARchive Java 2 Platform,Enterprise Edition File Transfer Protocol Enterprise JavaBeans Elastic Compute AmazonCloud, an Web (AWS). Service Distributed Management Task Force Cloud Archive, Service TOSCA a specified format Customer Relationship Management Cloud Infrastructure aManagement Interface, DMTFspecification. Business Process andModel Notation Virtual Machine Unique Identifier, and Universally Unique Identifier Phrase Terminology& Acronyms The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track Copyright © Copyright OASIS Open Reserved.Rights© All 2013. . 31 2013 January Page Page 79 of 82

[Type the document title] WD2, 03 Rev. WD2, 02 Rev. WD2, 01 Rev. WD1, 07 Rev. WD1, 06 Rev. WD1, 05 Rev. WD1, 04 Rev. WD1, 03 Rev. WD1, 02 Rev. WD1, 01 Rev. Appendix C.Appendix tosca-primer-v1.0-cnd01 Non-Standards TrackNon-Standards Revision 2012-12-05 2012-11-26 2012-11-19 2012-11-15 2012-11-09 2012-11-05 2012-11-04 2012-11-01 2012-12-11 2012-12-10 Date Revision History The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track Waschke, CA Huawei; Marv Paul Zhang, IBM Matt Rutkowski, IBM Matt Rutkowski, IBM Matt Rutkowski, IBM; Frank Leymann, IBM Matt Rutkowski, Adolf Hohl, NetApp IBM Frank Leymann, IBM Matt Rutkowski, Editor IBM Matt Rutkowski, IBM Matt Rutkowski, Appendix. Added Terminology and Acronyms Cleanup and for edits Chapters &2. 1 content. ofAddition remainder Chapter 2of ofAddition initial Chaptercontent. 2 (TOC). Version,withInitial Contents Table of MadeChanges contents. editscontents. sections.Minor other to editingComprehensive of 2 Section fields, document edits.minor merge, fixed code samples, updatedand problemsFixed style Section with 8.1 and comments. providers know…” should along edits with ofAddition 7 Section “What cloud TOSCA DMTFOVF”.to Added contents 8.1for Section “Mapping for document consistency. general ofediting grammar contentand Authored of contents 3.1 Section plus Introduction (Chapter 1). Added “Statement of to Purpose” edits/cleanup Mattpreformedmore figures. corresponding with the TOSCA environment sketching imperative Frank Copyright © Copyright OASIS Open Reserved.Rights© All 2013. added explanationofadded models. addedsection Also, the . . declarative declarative 31 2013 January Page Page 80 vs. of

82

[Type the document title] WD5, Rev3 WD5, Rev2f WD5, Rev2e WD5, Rev1 WD4, Rev 02 Rev.02; 03 WD3, Rev. WD3, 01 Rev. WD2, 04 Rev. tosca-primer-v1.0-cnd01 Non-Standards TrackNon-Standards 2012-12-12 2013-01-22 2013-01-17 2013-01-16 2013-01-10 2013-01-09; 2012-12-13 2013-01-24 2013-01-23 The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track Matt Rutkowski, IBM Matt Rutkowski, Doug Davis, IBM Leymann, IBM, IBM; Frank Matt Rutkowski, Doug Davis, IBM Leymann, IBM; IBM; Frank Matt Rutkowski, IBM Matt Rutkowski, Rutkowski, IBM IBM; Matt Frank Leymann, IBM Matt Rutkowski, IBM Matt Rutkowski, IBM keywords, tables, tables, keywords, allfigures, reference CompleteMatt: top-down edit, all styles, new acronyms/definitions. openreferenced source projects. Added normative for references spec. TOSCA and section content 5 Frank. from Addednon- sections (Matt), 3 (Doug) and 4 complete in additionalMerged initial content for TOSCA. the onTC 2012-12-13. 04 Rev. WD3, as Rev. 01 approved byas Created “clean” version WD2,based upon 6.Section top to document.of Minor to edits captions and added “ListFigures” of table developers know…”. should Fixed all figure in SectionMerged “What 6 Artifact editor’s calleditor’s duringtop-down review. Also resolutions/plansupon discussed on comments/outstanding workitems based Addressed all legacy 6 stillSection where applicable. Addressed from comments Frank for and from 3.4.3 Section Frank Leymann. updatesMerged forCh.4 from Doug Davis tables/figures/code examplesto match. App tierWeb and adjust sectionRewrite 6 of splitto DB tier from TC during TOSCA TC meeting 2013-01-17 Clean reviewedand version approved by applications in Chapter 7. Davis for migrating “multi-VM” additionalMerged content Doug from contents. Frankfrom Leymann and review/edit its of Chapter 4Inclusion of Developers” Artifact textReauthored to new fit section “flow”. concepts before examples.“concrete” chaptersof discuss to all “abstract” fixed and made Reorganization consistent. Copyright © Copyright OASIS Open Reserved.Rights© All 2013. . 31 2013 January Page Page 81 of 82

[Type the document title] WD6, Rev2 WD6, Rev1 tosca-primer-v1.0-cnd01 Non-Standards TrackNon-Standards 2013-01-31 2013-01-30; 2013-01-24 The patent provisions of the Policy The OASIS of IPR do patent provisions not the apply This Non-Standards is a Work Product. Track IBM Matt Rutkowski, IBM Matt Rutkowski, down down ofre-read the document. final basedcorrections/edits upon another top- Also,Leymann. some other DougGerd Breiter, Davis and Frank Addressed and comments corrections from based01-24 upon Rev3b. WD5, during theTC call OASIS TOSCA 2013- on TC approved the WD6,creation of Rev1 contentremaining forsection 6. Matt’s Doug Davis. Matt’sEdits/Revisions and SectionRemoved the 7.2 at request of Frankfrom Leymannsection on 6 contents. Davis/Thomas Spatzier and comments addressed updatesto Doug from section 7 Copyright © Copyright OASIS Open Reserved.Rights© All 2013. . 31 2013 January Page Page 82 of 82

[Type the document title]

Recommended publications