Top Banner
SDD Tutorial OASIS Symposium 2008 1 Solution Deployment Descriptor: Solution Deployment Descriptor: An OASIS Standard for An OASIS Standard for Deploying Composable Solutions Deploying Composable Solutions www.oasis-open.org OASIS Symposium 2008 Tutorial Presenters: Brent A. Miller Randy George IBM Corp. IBM Corp. Chair, OASIS SDD TC OASIS SDD TC Co-Author: Julia McCarthy, IBM Corp., Secretary & Editor, OASIS SDD TC
57

SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions OASIS Symposium.

Jan 16, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 1

Solution Deployment Descriptor:Solution Deployment Descriptor:An OASIS Standard for An OASIS Standard for

Deploying Composable SolutionsDeploying Composable Solutions

www.oasis-open.org

OASIS Symposium 2008Tutorial

Presenters:Brent A. Miller Randy GeorgeIBM Corp. IBM Corp.Chair, OASIS SDD TC OASIS SDD TC

Co-Author:Julia McCarthy, IBM Corp.,

Secretary & Editor, OASIS SDD TC

Page 2: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 2

Tutorial Outline Survey the use of the OASIS Solution

Deployment Descriptor (SDD) standard Review today’s deployment problems and how

SDD can address many of these problems Discuss deployment lifecycle management of

composable software, including SOA solutions Explore SDD details with realistic examples

and use cases Recognize the benefits of using SDD

Page 3: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 3

Intended Audience Managers, architects, developers, practitioners,

service personnel, IT administrators, solution aggregators, deployers and others who

Deploy software and/or Package software to be deployed

Anyone interested in better understanding software deployment issues and solutions, in particular the emerging OASIS SDD standard

Page 4: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 4

Learning Objectives Level-set today’s problems associated with

software deployment Understand how the OASIS SDD emerging

standard helps to address these problems Learn what is included within the SDD standard Learn how to use the SDD standard

Examples with details showing SDD elements and attributes

Illustrative use case How SDDs are produced and consumed, including tooling

Take away the benefits of using SDD

Page 5: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 5

Let’s Get Started

Today’s Deployment Problems The OASIS SDD Standard Examples with Details Illustrative Use Case Benefits of SDD Resources

Page 6: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 6

Deployment Uncertainty, Lack of Control

Customers cannot adequately plan changes to their environments

Customers often rely on a lot of testing and “reverse engineering”

Customers must analyze individual deployment artifacts for the specific environments where they will be deployed

Once customers determine how to deploy the solution, they are uncertain about the impacts to the environment

Customers lose control of software deployment life cycle management

Installation, configuration, localization, maintenance and uninstallation

Can I successfully deploy this software?If so, what will happen to my IT and business environment?

Page 7: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 7

Basic Deployment Knowledge Needed

www.oasis-open.org

Package IdentityWhat is this thing?

What does it contain?

Package VariabilityWhat parts need to be

deployed?

RequirementsWhat is needed to deploy this package?

What must be maintained for the lifetime of the deployment?

ResultsWhat does this provide?

What effect will this have on my environment?

Software Package(logical, not physical)

Software deployers need some basic information to adequately plan and execute deployments without disrupting IT & business environments

Page 8: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 8

Similar Knowledge Required for Change Management Processes

Increasing emphasis on change control and change management Standardized change management processes Changes – simple or complex – need to be tested in pre-production environments Changes – simple or complex – need to be assessed, approved, scheduled

and implemented in production environments Desire to leverage management tools and knowledge to automate

change management process

IT Infrastructure

SystemsManagement

ChangeManagement

DataCMDBCMDBProvisioningProvisioningMonitoringMonitoring

StorageStorage NetworkNetworkApplication Server

Application Server

… ApplicationApplication ServerServer…

Change Management Process (example)

Filter/Prioritize Change

Filter/Prioritize Change

Assess Change Impact

Assess Change Impact

Approve Change

Approve Change

Verify ChangeVerify

ChangeImplement

ChangeImplement

Change… …

DatabaseDatabase

Page 9: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 9

Producing & Consuming this Knowledge

Management Application

Production VLANInstallation

ProgramDevelopment

System Integrator

SOA enables already deployed services to be composed, but Necessary deployment information (what is needed, what changes will

occur in the deployment environment) is not standardized or externalized

Intent and requirements known by software developers is not externalized during composition of solutions, deployment planning and deployment operations

Page 10: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 10

And the World is Getting More Complex

Increasing emphasis on "solutions" Combination of hardware and software components supporting a defined business process Solutions must be installed, configured, deployed, monitored, operated, remediated, maintained, ... These tasks must be driven from a solution perspective Post-purchase experience should not degenerate to multiple point products and solution components

Holistic solution deployment inhibited by inability to aggregate heterogeneous components (from multiple suppliers) because deployment information not externalized or standardized

Page 11: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 11

Let’s Keep Moving

Today’s Deployment Problems The OASIS SDD Standard Examples with Details Illustrative Use Case Benefits of SDD Resources

Page 12: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 12

SDD: Who

www.oasis-open.org

1 individual member

Current Technical Committee Participants(includes voting members, members, observers)

Page 13: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 13

SDD: Status Requirements, use cases, glossary complete SDD and GGF-ACS Alignment

Both adopted SDD PackageDescriptor Version 1.0 specification, schema Public Review January

18 – March 18, 2008 Committee Specification April 2008 OASIS Standard May 2008 Expository documents available

Primer Starter Profile Examples

www.oasis-open.org

New!

Page 14: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 14

SDD: Ecosystem

Tooling can help with producing and consuming SDDs Tooling is being developed

Eclipse COSMOS Open-Source project Tools to assist with SDD creation

Processing XML documents to accomplish their intent requires runtime code

Eclipse COSMOS Open-Source project Runtime code foundation to assist with building deployment runtimes

that process SDDs Eclipse COSMOS project is not an OASIS effort but

Several COSMOS collaborators are also SDD participants It is intended to ease and accelerate SDD standard adoption

Page 15: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 15

SDD: Scope of the Standard SDD consists of declarative descriptive information

Not procedural; does not address APIs or protocols Standardized, externalized deployment metadata

Useful across the software complexity spectrum From single-target, single-artifact installation

to distributed, complex solution lifecycle management From software fixes to complete products

Two major portions of SDD are Package Descriptor Deployment Descriptor

www.oasis-open.org

Page 16: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 16

SDD: Package Descriptor Package descriptor includes:

Identity Content

Deployment descriptor Artifacts Documentation and readme files License agreements Etc.

Optional digital signature SDD package descriptor adopted by Open Grid

Forum Application Content Services (OGF-ACS) standard as their software packaging specification

www.oasis-open.org

Page 17: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 17

SDD: Package Descriptor XSD

Standardized,Externalized

Metadata

Page 18: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 18

Deployment Descriptor Design PatternBased on “Content Unit / Hosting Environment” Pattern

www.oasis-open.org

DatabaseCreate Table

ApplicationServer

EJBD

OperatingSystem

SoftwareProduct

D

HardwareOperating SystemD

A package descriptor that declares the collection of content (files)

A package descriptor that declares the collection of content (files)

A deployment descriptor that declares the deployment characteristics ofthe content unit

A deployment descriptor that declares the deployment characteristics ofthe content unit

A hosting environment or container that can accept an artifact

A hosting environment or container that can accept an artifact

An artifact that can be installed

An artifact that can be installed

AD

Content UnitContent Unit

D

Page 19: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 19

Package Identity

Package Variability

Requirements

Results

Deployment descriptor includes: Identity Variability

Conditional content Features Parameters

Requirements Environmental

resource constraints Pre-/co-/ex-requisites Relationships Conditional requirements

Results

Resources Changes Conditional results

Artifacts (files processed to accomplish a deployment operation)

SDD: Deployment Descriptor

www.oasis-open.org

Applies to Installation, Configuration and/or Localization Content

Page 20: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 20

SDD: Deployment Descriptor XSDTop-Level Elements

Standardized,Externalized

Metadata

Page 21: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 21

SDD: Deployment Descriptor XSDIdentity Element Expanded

Standardized,Externalized

Metadata

Identity describes the software package • Human-consumable descriptions• Name, version and other identifying characteristics of the software• Same Identity element as Package Descriptor

Page 22: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 22

SDD: Deployment Descriptor XSD Variables Element Expanded

Standardized,Externalized

Metadata

Variables and Parameters provide a way to obtain and derive values from

• Resource properties • Deployment environment• Human deployers

Variables can then be used in SDD to influence the deployment process

• As input arguments to artifacts• As values for resource constraints

Page 23: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 23

SDD: Deployment Descriptor XSD Requirements Element Expanded

Requirements describe what is necessary for software to be successfully deployed

• Requirements for disk space, CPU capacity, etc.• Requirements for pre-requisite software, configuration settings, etc.

Standardized,Externalized

Metadata

Page 24: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 24

SDD: Deployment Descriptor XSD ResultingResource Element Expanded

Standardized,Externalized

Metadata

ResultingResource describes what will happen in the deployment environment after successful deployment, in terms of what resources will result in the deployment environment

ResultingChange is similar; it describes what changes will result in the deployment environment

Page 25: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 25

SDD: Deployment Descriptor XSD Artifacts Element Expanded

Standardized,Externalized

Metadata

Artifacts accomplish the deployment operations. The Artifact element describes artifacts, along with the inputs and outputs, including substitution values, used when processing those artifacts.

Page 26: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 26

SDD: Deployment Descriptor XSDOther Elements Described

Standardized,Externalized

Metadata

Selectable Features are mechanisms to select content portions for a particular deploymentConditions enable flexible processing by declaring which aspects are applicable (or can be ignored) in certain circumstances

• Conditional content (determine if a content element is applicable)• Conditional Variables (choose values)• Conditional Features (determine when a feature is applicable)• Conditional Resulting Resources (determine when a particular result is applicable)• Conditional Completion Actions (determine if a completion action is necessary)

Topology (logical) describes all solution resources relevant for deployment and their relationships Completion Actions such as restart and logoff can be specified as required before a deployment operation is considered complete

Page 27: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 27

SDD: Aggregation Key SDD characteristic is ability

to author SDDs with aggregation for composable solutions

Individual descriptors aggregated into composite SDD representing software solution, rather than individual components

SDD author for aggregated solution uses information for each individual software unit

Specify additional information that applies to the aggregated solution

www.oasis-open.org

SDD1

A1D1

SDD2

A2D2

SDD3

A3D3

SDDAgg

AAggDAgg

SDD1

A1D1

SDD2

A2D2

SDD3

A3D3

Page 28: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 28

SDD: More on Aggregation SDD can consist of a descriptor that contains multiple content units SDD can aggregate other packages, from other sources

Each component can be described and deployed individually by its own SDD Individual SDDs can be aggregated into a new “entire solution” SDD Aggregating Package Descriptor declares each Aggregated Package Descriptor

Packages can be Requisites (may be used to satisfy solution requirements) Packages can be Solution Content (Referenced Packages)

• Can further constrain Requirements or control variability of Aggregated Packages

Aggregating Deployment Descriptor represents requirements, conditions, dependencies, constraints, features, results for entire solution

For example, component disk space requirements are additive; the aggregating SDD represents the total amount of disk space required for the solution

Requirements could specify software version that satisfies all components

www.oasis-open.org

SDD aggregation supports straightforward generation of deployment information for composable solutions

Page 29: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 29

SDD: Profiles SDD describes artifacts, deployment environment, etc. At deployment time, specific, concrete information required

For example, operating system type, property names and values, etc. This information is specific to deployment environment

Profiles map between metadata and deployment environment Common “vocabulary” for SDD producer/consumer interoperability Types, requirements, conditions, inputs/outputs, etc. for deployment

environment For example, disk space units (megabytes or blocks) For example, processor type and speed

OASIS SDD TC publishes Starter Profile Values sufficient to address published examples Uses DMTF CIM resource model Other Profiles can be created; these could use other resource models

Page 30: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 30

Let’s Dive in to Some Details

Today’s Deployment Problems The OASIS SDD Standard Examples with Details Illustrative Use Case Benefits of SDD Resources

Page 31: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 31

SDD: Example 1 (Simple)

The Deployment Descriptor: Identifies the JRE 1.5 Package Declares that the JRE deployment requires

an AIX® Operating System Must be at least version 5.1 Versions 5.1 – 5.3 are “certified” (tested for compatibility)

Declares that the JRE deployment requires 2688 512-byte blocks on /usr file system

Enables deployer to specify the logging level used during deployment

Default is “INFO” Describes the deployment Artifact, an RPM file

www.oasis-open.org

Server with OS

Consider a simple software package for deploying a Java™ runtime environment (JRE)

Page 32: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 32

<sdd-dd:InstallableUnit id="ID000026" targetResourceRef="os"><sdd-dd:Identity softwareID="2000-123"> ... </sdd-dd:Identity><sdd-dd:Variables> ... </sdd-dd:Variables><sdd-dd:Requirements> ... </sdd-dd:Requirements><sdd-dd:ResultingResource resourceRef="JRE">

<sdd-dd:Description>An instance of Java(TM) Runtime Environment, Standard Edition Version 5.0 is installed as a result of this deployment </sdd-dd:Description><sdd-dd:Name>Java(TM) Runtime Environment, Standard Edition</sdd-dd:Name><sdd-dd:Version>1.5.0</sdd-dd:Version>

</sdd-dd:ResultingResource><sdd-dd:Artifacts> ... </sdd-dd:Artifacts>

</sdd-dd:InstallableUnit>

www.oasis-open.org

SDD Example 1: InstallableUnitThe JRE InstallableUnit

The InstallableUnit’s Identity provides details about the InstallableUnit – as a unit of packaging. Details are not shown here.

The targetResourceRef attribute identifies the resource that is capable of processing the InstallableUnit’s artifact.

The ResultingResource element describes the JRE resource as it will exist in the deployment environment after a successful deployment

The artifact, requirement and variable definitions we have already seen are defined within the JRE.xml’s single InstallableUnit.

Page 33: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 33

<sdd-dd:Variables> <sdd-dd:Parameters> <sdd-dd:StringParameter sensitive="false" id="LoggingLevel" defaultValue="Level.INFO"> <sdd-dd:Description>Default logging level for logging messages coming from JRE</sdd-dd:Description> <sdd-dd:ValidValue>Level.FINEST</sdd-dd:ValidValue> <sdd-dd:ValidValue>Level.FINER</sdd-dd:ValidValue>

<sdd-dd:ValidValue>Level.FINE</sdd-dd:ValidValue> <sdd-dd:ValidValue>Level.CONFIG</sdd-dd:ValidValue> <sdd-dd:ValidValue>Level.SEVERE</sdd-dd:ValidValue> <sdd-dd:ValidValue>Level.INFO</sdd-dd:ValidValue> <sdd-dd:ValidValue>Level.WARNING</sdd-dd:ValidValue>

</sdd-dd:StringParameter> </sdd-dd:Parameters></sdd-dd:Variables>

www.oasis-open.org

SDD Example 1: ParameterA “Logging Level” string input parameter

Every Variable can define a default value. StringParameters can define any number of valid values.

A Variable’s id is used to refer to its value in variable expressions.

The reference to a variable in a variable expression indicates how and when it plays a role in the deployment. A variable with no reference would be meaningless. This reference comes from the JRE’s Artifact Argument definition shown later.

A Parameter is one of three types of Variables and a StringParameter is one of four types of Parameters.

value="$(LoggingLevel)"

Page 34: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 34

www.oasis-open.org

SDD Example 1: RequirementDefinition of JRE Artifact’s Disk Space Requirement

The resourceRef attribute tells us that the constraints defined in the ResourceConstraint element all apply to the UsrFileSys resource. In this example, there is only a single constraint, a consumption constraint, defined on the UsrFileSys.

The operation attribute tells us which artifacts are associated with this Requirement. The install operation is associated with the InstallArtifact.

The property name comes from the Starter Profile.

<sdd-dd:Requirement id="UsrDiskSpace" operation="install"> <sdd-dd:Description>This JRE requires 2688 512-byte blocks on the /usr file system </sdd-dd:Description> <sdd-dd:ResourceConstraint id="UsrDiskSpaceRequirement“ resourceRef="UsrFilesys" > <sdd-dd:ConsumptionConstraint> <sdd-dd:PropertyName>cim:CIM_FileSystem.AvailableSpace </sdd-dd:PropertyName> <sdd-dd:Value unit="512-blocks">2688</sdd-dd:Value> </sdd-dd:ConsumptionConstraint> </sdd-dd:ResourceConstraint></sdd-dd:Requirement >

Page 35: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 35

www.oasis-open.org

SDD Example 1: ArtifactJRE Artifact definition

<sdd-dd:Artifacts><sdd-dd:InstallArtifact type="rpm" contentRef="JRE_RPM">

<sdd-dd:Arguments><sdd-dd:Argument name="LogLevel" value="$(LoggingLevel)" />

</sdd-dd:Arguments></sdd-dd:InstallArtifact>

</sdd-dd:Artifacts>

JRE_RPM is the id of the Content element in the package descriptor that contains metadata about the RPM file used to deploy the JRE.

The element name InstallArtifact tells us that this artifact is used for install, i.e. creation, of a resource.

The type attribute tells us that this artifact is an RPM file.

In this example, the JRE RPM takes a single input argument named LogLevel. Its value is determined by the value of the variable LoggingLevel defined elsewhere in the SDD (shown earlier in this example).

Page 36: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 36

SDD: Example 2 (Composite) Consider a software solution that consists of:

3-tier J2EE application with user interface, backend business logic and database connection

Optional J2EE simple client Requires JRE runtime with a minimum version

JRE runtime of version that satisfies the J2EE simple client requirement

Optional German and French language packs for the J2EE simple client Each component can be described individually by its own SDD Aggregated Package Descriptor represents all solution content

Aggregated Deployment Descriptor represents requirements, dependencies, conditions, constraints, selectable features and resulting changes that apply to the complete solution

SDD aggregation supports straightforward generation of deployment information for composable solutions

www.oasis-open.org

Client

Application

App server Database

Page 37: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 37

<sdd-dd:CompositeInstallable id="CompApp" operation="install"><sdd-dd:Identity softwareID="6000-123"> ... </sdd-dd:Identity><sdd-dd:Variables> ... </sdd-dd:Variables><sdd-dd:Languages> ... </sdd-dd:Languages><sdd-dd:BaseContent>

<sdd-dd:ContainedPackage id="SimpleCompositeApp_PKG" contentRef="SC_pkg">

... </sdd-dd:ContainedPackage>

</sdd-dd:BaseContent><sdd-dd:SelectableContent>

<sdd-dd:Features> … </sdd-dd:Features><sdd-dd:ContainedPackage id="SimpleAppClient_PKG" contentRef="SAC_pkg">

...</sdd-dd:ContainedPackage>

</sdd-dd:SelectableContent><sdd-dd:LocalizationContent> ... </sdd-dd:LocalizationContent>

</sdd-dd:CompositeInstallable>

www.oasis-open.orgSDD Example: CompositeInstallableCompositeInstallable of the CompositeApp SDD

In the CompositeApp sample SDD, the single CompositeInstallable supports the install operation.

The CompositeInstallable element organizes the SDD’s content for one operation.

The SelectableContent includes Features that can be selected for this particular deployment (detailed later).

The LocalizationContent (German and French language packages) would appear here

Page 38: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 38

<sdd-dd:ContainedPackage id="SimpleCompositeApp_PKG" contentRef="SC_pkg"><sdd-dd:Arguments>

<sdd-dd:Argument name="JDBC_User" value="$(DatabaseUserName)"/><sdd-dd:Argument name="JDBC_Password" value="$(DatabaseUserPassword)"/>

</sdd-dd:Arguments><sdd-dd:ResultingResourceMap resourceRef="SimpleJ2eeApp" foreignId="SimpleJ2eeApp">

<sdd-dd:Name>Simple Application</sdd-dd:Name></sdd-dd:ResultingResourceMap><sdd-dd:ResultingResourceMap resourceRef="SimpleJ2eeServlet" foreignId="SimpleJ2eeServlet">

<sdd-dd:Name>Simple Application Servlet</sdd-dd:Name></sdd-dd:ResultingResourceMap><sdd-dd:ResultingResourceMap resourceRef="SimpleDatabase" foreignId="SimpleDatabase">

<sdd-dd:Name>Simple Application Database</sdd-dd:Name></sdd-dd:ResultingResourceMap><sdd-dd:RequiredResourceMap resourceRef="J2eeServletServer" foreignId="J2eeServletServer"/><sdd-dd:RequiredResourceMap resourceRef="J2eeAppServer" foreignId="J2eeAppServer"/><sdd-dd:RequiredResourceMap resourceRef="DatabaseServer" foreignId="DatabaseServer"/>

</sdd-dd:ContainedPackage>

www.oasis-open.orgSDD Example: ContainedPackageCompositeInstallable of the CompositeApp SDD

The Arguments shown here provide values for input parameters defined within the SimpleCompositeApp SDD.

ContainedPackages define the Requirements, Inputs, Outputs and ResourceMappings relevant for using the aggregated SDD within the aggregation.

The ResultingResourceMap elements identify the association between resources created by SimpleCompositeApp and resources defined in the CompositeApp's topology. The RequiredResourceMap elements identify the associations between resources required by SimpleCompositeApp and resources defined in the CompositeApp’s topology.

Page 39: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 39

<sdd-dd:SelectableContent><sdd-dd:Features>

<sdd-dd:Feature id="ClientFeature" addOn="true"><sdd-dd:DisplayName>Thick Client for Simple Application</sdd-dd:DisplayName><sdd-dd:Multiplicity multiplesAllowed="true"/><sdd-dd:ContentElement contentElementRef="SimpleAppClient_PKG" />

</sdd-dd:Feature></sdd-dd:Features><sdd-dd:ContainedPackage id="SimpleAppClient_PKG" contentRef="SAC_pkg"> ... </sdd-dd:ContainedPackage>

</sdd-dd:SelectableContent>

www.oasis-open.org

SDD Example: FeaturesCompositeApp Client Feature with Multiplicity

The Multiplicity element indicates that the Feature can be selected multiple times resulting in the SimpleAppClient being deployed multiple times.

Features identify the content elements that will be used if the feature is selected. In this example, the ContainedPackage for the SimpleAppClient is selected by the CompositeApp’s ClientFeature Feature.

Page 40: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 40

<sdd-dd:Topology><sdd-dd:Resource id="servlet_os" type="cim:CIM_OperatingSystem">

<sdd-dd:HostedResource id="J2eeServletServer" type="cim:CIM_J2eeServer"><sdd-dd:HostedResource id="SimpleJ2eeServlet" type="cim:CIM_J2eeServlet"/></sdd-dd:HostedResource>

</sdd-dd:Resource><sdd-dd:Resource id="appServer_os" type="cim:CIM_OperatingSystem">

<sdd-dd:HostedResource id="J2eeAppServer" type="cim:CIM_J2eeServer"><sdd-dd:HostedResource id="SimpleJ2eeApp" type="cim:CIM_J2eeApplication"/></sdd-dd:HostedResource>

</sdd-dd:Resource><sdd-dd:Resource id="os" type="cim:CIM_OperatingSystem">

<sdd-dd:HostedResource id="DatabaseServer" type="cim:CIM_DatabaseSystem"><sdd-dd:HostedResource id="SimpleDatabase" type="cim:CIM_CommonDatabase"/></sdd-dd:HostedResource>

</sdd-dd:Resource><sdd-dd:Resource id="Client_OS" type="cim:CIM_OperatingSystem">

<sdd-dd:HostedResource id="JRE" type="cim:CIM_InstalledProduct"/><sdd-dd:HostedResource id="SimpleAppClient" type="CIM_Application"/>

</sdd-dd:Resource></sdd-dd:Topology>

www.oasis-open.org

SDD Example 2: TopologyTopology of the CompositeApp SDD

The resource ids are used to refer to these resources in Requirements, Conditions, Variables and ResultingResources

The composite application can be distributed across 4 servers; these are represented as 4 operating system resources in Topology.

Page 41: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 41

Let’s Keep Moving

Today’s Deployment Problems The OASIS SDD Standard Examples with Details Illustrative Use Case Benefits of SDD Resources

Page 42: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 42

Consider a software solution that consists of: A Web server An application server A database One or more applications

Each component can be described individually by its own SDD Individual SDDs can be aggregated into a new “entire solution” SDD Aggregated Package Descriptor represents all solution content

Aggregated Deployment Descriptor represents requirements, dependencies, conditions, constraints, selectable features and resulting changes that apply to the complete solution

For example, component disk space requirements are additive; the aggregated SDD represents the total amount of disk space required for the solution

Requirements could specify hosting environment software version that satisfies all components

SDD aggregation supports straightforward generation of deployment information for composable solutions

www.oasis-open.org

Web server

Applications

App server Database

SDD: Illustrative Use CaseComplex Aggregated Solution

Page 43: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 43

SDD: Illustrative Use Casewww.oasis-open.org

SDDAgg

AAggDAgg

SDDDatabase

ADBDDB

SDDAppServer

AASDAS

SDDWebServer

AWSDWS

SDDApplication

AApp2DApp2

SDDApplication

AApp1DApp1

SDDDatabase

ADBDDB

SDDAppServer

AASDAS

SDDWebServer

AWSDWS

SDDApplication

AApp2DApp2

SDDApplication

AApp1DApp1

Page 44: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 44

www.oasis-open.org

SDD: Illustrative Use CaseSDDs define user inputs

SDDDatabase

ADBDDB

SDDAppServer

AASDAS

SDDWebServer

AWSDWS

SDDApplication

AApp1DApp1

SDDApplication

AApp2DApp2

DB Admin ID

DB Admin ID

Web Admin ID

WebAdmin ID

Web Admin ID

Web Admin ID

Page 45: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 45

www.oasis-open.org

SDD: Illustrative Use CaseThe Solution SDD maps solution inputs to inputs required by individual SDDs

SDDAgg

AAggDAgg

SDDWebServer

AWSDWS

SDDAppServer

AASDAS

SDDDatabase

ADBDDB

SDDApplication

AApp2DApp2

SDDApplication

AApp1DApp1

DB Admin ID

WebAdmin ID

Page 46: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 46

www.oasis-open.org

SDD: Illustrative Use CaseSDDs define required and resulting resources

SDDDatabase

SDDAppServer

SDDWebServerSDDApplication 1

SDDApplication 2

OS

OS

OS

OS

OS

WebServer

WebServer AppServer

AppServer

AppServer

Database

Database App2

App1

Page 47: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 47

www.oasis-open.org

SDD: Illustrative Use CaseThe Solution SDD maps solution resources to resources associated with individual SDDs

SDDAgg

SDDWebServer

OS WebServer

SDDAppServer

OS WebServer AppServer

SDDDatabase

OS Database

SDDApplication 2

OS AppServer Database App2

SDDApplication 1

OS AppServer App1

Database OSApplication OS

SOA Application

System 1:Applications

System 2:Database

Page 48: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 48

www.oasis-open.org

SDD: Illustrative Use CaseThe Solution SDD maps solution resources to resources associated with individual SDDs

SDDAgg

SDDWebServer

OS WebServer

SDDDatabase

OS Database

SDDApplication 2

OS AppServer Database App2

SDDApplication 1

OS AppServer App1

AppServer

WebServer

Database

SDDAppServer

OS WebServer AppServer

SOA Application

Page 49: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 49

www.oasis-open.org

SDD: Illustrative Use CaseThe Solution SDD maps solution resources to resources associated with individual SDDs

SDDAgg

SDDWebServer

OS WebServer

SDDAppServer

OS WebServer AppServer

SDDDatabase

OS Database

SDDApplication 2

OS AppServer Database App2

SDDApplication 1

OS AppServer App1

App1

App2

SOA Application

Page 50: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 50

Let’s Wrap Up

Today’s Deployment Problems The OASIS SDD Standard Examples with Details Illustrative Use Case Benefits of SDD Resources

Page 51: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 51

SDD: Quick Review Standard for deployment lifecycle management

Standardized, externalized metadata for deployment Captures deployment knowledge, removes the “brick wall” Install, configure, fix/maintain, operate, localize, uninstall

Aggregation for complex, integrated solutions Applies for SOA solutions

XML Schema Package Descriptor Deployment Descriptor

Useful across the software complexity spectrum From single-target, single-artifact installation to distributed, complex

solution lifecycle management

www.oasis-open.org

Package Descriptor

Identity

Content descriptors (metadata) for:Deployment descriptor

Artifacts

Documentation and readme files

License agreements and so on

Optional digital signatures

Deployment Descriptor

Identity

Variability ConditionsFeaturesParameters

Requirements

Results

Artifact inputs and outputs

Page 52: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 52

SDD: Benefits SDD offers standardized way to externalize deployment information

that facilitates: Tools to generate deployment information Runtime software that performs deployment operations Interoperability!

One necessary and important piece of the interoperability puzzle

SDD enables aggregation and solution composition from multiple components

Including components from multiple suppliers IT administrator perspective: SDD enables analysis of:

Proposed changes to the IT environment Impacts to capacity and availability plans

Overall, SDD helps IT professionals build deployment plans, including scheduling and ordering changes

www.oasis-open.org

Page 53: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 53

SDD: Takeaway

www.oasis-open.org

SDD is a valuable tool in the software deployment toolbox, both for “native” environments and SOA environments.

SDD applies to a full range of software, from single-target, single-artifact deployments to complex, aggregated solution deployments in heterogeneous environments.

Because SDD incorporates aggregation as an inherent construct for complex solution deployment, it participates in and complements service-oriented environments.

Page 54: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 54

Let’s Leave You With References

Today’s Deployment Problems The OASIS SDD Standard Examples with Details Illustrative Use Case Benefits of SDD Resources

Page 55: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 55

SDD: Resources OASIS SDD TC Public Web Page (includes access to Specification,

Schema, Primer, Starter Profile): http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sdd

Eclipse COSMOS Open Source project (includes planned SDD reference implementation): http://www.eclipse.org/cosmos/

Wikipedia entry for SDD: http://en.wikipedia.org/wiki/Solution_Deployment_Descriptor

IBM Autonomic Computing article:

http://www-03.ibm.com/autonomic/industry_sdd.html IBM Systems Journal article that includes SDD:

http://portal.acm.org/citation.cfm?id=1331914.1331928&coll=&dl=GUIDE

www.oasis-open.org

Page 56: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 56

About the Authors

www.oasis-open.org

Randy Georgeis a Senior Technical Staff Member and Team Leader in IBM’s Tivoli Systems Division, Software Group.Randy is a long-time member and subject matter expert in the OASIS SDD Technical Committee.His previous assignments in IBM include [blah, blah] and he also [is a mediocre golfer/whatever]. He can be reached by e-mail at [email protected]

Julia McCarthyis a Senior Software Engineer in IBM’s Application and Integration Middleware Division, Software Group.Julia serves as Editor and Secretary for the OASIS SDD Technical Committee.Her previous assignments in IBM include everything from the bits and bytes of device driver development to the blue-sky of cross-organization strategy. Julia can be reached by e-mail at [email protected]

Brent A. Milleris a Senior Technical Staff Member and Chief Architect for Autonomic Computing in IBM’s Tivoli Systems Division, Software Group.Brent currently chairs the OASIS SDD Technical Committee.His previous assignments in IBM include printer development, network computing, mobile software and service provider solutions.He is the principal author of the book, Bluetooth Revealed. Brent can be reached by e-mail at [email protected]

Page 57: SDD TutorialOASIS Symposium 2008 1 Solution Deployment Descriptor: An OASIS Standard for Deploying Composable Solutions  OASIS Symposium.

SDD Tutorial OASIS Symposium 2008 57

Notices Windows™ is a registered trademark of Microsoft Corporation

in the United States and other countries. Linux® is the registered trademark of Linus Torvalds in the

U.S. and other countries. IBM® and AIX® are registered trademarks of IBM in the

United States, other countries, or both. Java ™ is a trademark or registered trademark of Sun

Microsystems, Inc. in the United States and other countries. Other company, product and service names may be

trademarks or service marks of others.

www.oasis-open.org