TOSCA 115 Capability Interfaces

7
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. TOSCA 115 Capability Interfaces Kevin Wilson, Travis Tripp, Kishore Jagannath Nov4, 2013

description

TOSCA 115 Capability Interfaces. Kevin Wilson, Travis Tripp, Kishore Jagannath Nov4, 2013. TOSCA 115 – Issue Description. - PowerPoint PPT Presentation

Transcript of TOSCA 115 Capability Interfaces

Page 1: TOSCA 115 Capability Interfaces

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

TOSCA 115 Capability InterfacesKevin Wilson, Travis Tripp, Kishore JagannathNov4, 2013

Page 2: TOSCA 115 Capability Interfaces

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.2

TOSCA 115 – Issue DescriptionRequirements and capabilities should provide specific interface definitions. So that the designer of a app can depend on a contract set of public properties that are to be provided and a contracted set method/interfaces that are provided by the requirement.

For example: If I have a dependency on a DB Server, and need to run SQL on that server, at design time, I would like to know the methods supported by the DBServer requirement so that I can leverage that in my component scripting. On the implementation side providing the component, the script/method to execute the script may be different for each DBServer type. IE commands to run SQL on MySQL are not the same commands that would be used for Oracle. However, the SQL may the same in some cases.

Similar methods/use cases exist for J2EE server deploy methods etc.

By providing a interface on the Requirement/Capability we can leverage the workflows specific to the capability in a generic way. And the designer would be able to identify the contracted calls that are made available.

Page 3: TOSCA 115 Capability Interfaces

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.3 3

Highlights of ProposalCapability Types should have the ability to expose interfaces with one to many operations in addition to property definition.

Node Type possessing the capability will now inherit the interface operations defined in the capability. Node Type having multiple capabilities will now inherit the interface operations declared in each of the capability

NodeTypeImplementation will provide implementation for all the interface operations that the Node Type inherits from the capabilities + any interface operations that are define within Node Type.

TBD- Do we still need to have interface operations within Node Types.

Page 4: TOSCA 115 Capability Interfaces

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.4 4

<CapabilityType name="xs:NCName" targetNamespace="xs:anyURI"? abstract="yes|no"? final="yes|no"?>  <DerivedFrom typeRef="xs:QName"/> ?  <PropertiesDefinition element="xs:QName"? type="xs:QName"?/> ? <Interfaces> <Interface name="xs:NCName | xs:anyURI"> <Operation name="xs:NCName"> <InputParameters> <InputParameter name="xs:string" type="xs:string" required="yes|no"?/> + </InputParameters> ? <OutputParameters> <OutputParameter name="xs:string" type="xs:string" required="yes|no"?/> + </OutputParameters> ? </Operation> + </Interface> + </Interfaces> ?

Page 5: TOSCA 115 Capability Interfaces

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.5

Design ExperienceNode Type

<ApacheWebServer>

Capability Type<ApacheWebServerCapability

>• properties• interfaces

Node Type<SugarCrmApp>

Requirement Type

<ApacheWebServeRequirement>

• properties• interfaces

Relationship Type

<hosted on>

Page 6: TOSCA 115 Capability Interfaces

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.6 6

Node Type

SugarCRMApp

RequirementApacheWebServerRequirement

RequirementType

ApacheWebServerRequirement

PropertiesDefinition

CapabilityTypeApacheWebServer

CapabilityPropertiesDefinition

OperationInstall

configure

RelationshipType

RelationshipTypeSugarCrmAppOnApa

cheSource

ApacheWebServerRequirement

TargetApacheWebServerCapability

Node Type

ApacheWebServer

CapabilityApacheWebServerCapability

Page 7: TOSCA 115 Capability Interfaces

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.7 7

NodeTypeA

<NodeType><PropertiesDefinition><CapabilityDefinitions>

<Capability1><Capability 2><Capability3>

</CapabilityDefinitions><Interfaces><Interface>

operations definition <Interface><Interface>

Operations definition<Interface><Interface>

Operations definition<Interface><NodeType>

Capability3

properties

NodeTypeB

<NodeType><PropertiesDefinition><RequirementDefinitions>

<Requirement1></RequirementDefinitions><NodeType>Capability

2

properties

Capability1

properties

Requirement1

properties

Relation