Monolithic Artifact Proposal
20 likes | 244 Vues
Monolithic Artifact Proposal. Current Selectivity, i.e. Features, assumes that a unique content unit(s) contains the support for each selection. Issue Some existing artifacts are monolithic. Selectivity needs to be declared Selectivity defines “switches” for deploying the monolithic artifact
Monolithic Artifact Proposal
E N D
Presentation Transcript
Monolithic Artifact Proposal • Current • Selectivity, i.e. Features, assumes that a unique content unit(s) contains the support for each selection. • Issue • Some existing artifacts are monolithic. • Selectivity needs to be declared • Selectivity defines “switches” for deploying the monolithic artifact • Proposal • Provide the ability for the selection of a Feature to define, and set the value of, a variable, i.e. the selection of a feature sets a variable. • This variable can be used by the content unit that contains the monolithic artifact. <complexType name="FeatureType"> <sequence> <group ref="sdd-dd:DisplayElementGroup" minOccurs="0"/> <element name="Condition" type="sdd-dd:ConditionType" minOccurs="0"/> <element name="SupportedLanguages" type="sdd-dd:SupportedLanguagesType" minOccurs="0"/> <choice maxOccurs="unbounded"> <element name="Feature" type="sdd-dd:NestedFeatureType"/> <element name="ContentElement" type="sdd-dd:ContentElementReferenceType"/> <element name="RequiredFeature" type="sdd-dd:FeatureReferenceType"/> <element name=“Variable" type="DerivedVariableType"/> </choice> <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name="id" type="ID" use="required"/> <anyAttribute namespace="##other" processContents="lax"/> </complexType>
Monolithic Artifact ProposalExample <?xml version="1.0" encoding="UTF-8"?> <sdd-dd:DeploymentDescriptor . . . <sdd-dd:InstallableUnit id="SimpleJ2eeAppUnit" targetResourceRef="J2eeAppServer"> <sdd-dd:Identity> <sdd-common:Name>Simple Application Business Logic</sdd-common:Name> <sdd-common:Version>1.0</sdd-common:Version> </sdd-dd:Identity> <sdd-dd:Variables> <sdd-dd:DerivedVariable id="Feature_List"> <sdd-dd:Expression>$(featureApp),$(featureHelp)</sdd-dd:Expression> </sdd-dd:DerivedVariable> </sdd-dd:Variables> <sdd-dd:Artifacts> <sdd-dd:InstallArtifact type="InstallAnywhere" fileRef="InstallArtifact"> <sdd-dd:Arguments> <sdd-dd:Argument name="$(InstallLocation)" /> <sdd-dd:Argument name="DFEATURE_LIST" value="$(Feature_List)" required="false" /> </sdd-dd:Arguments> <sdd-dd:AdditionalFile fileRef="SAC_JAR" /> </sdd-dd:InstallArtifact> </sdd-dd:Artifacts> </sdd-dd:InstallableUnit> . . . <sdd-dd:SelectableContent> <sdd-dd:Features> <sdd-dd:Feature id="Application"> <sdd-dd:DisplayName>Application Feature</sdd-dd:DisplayName> <sdd-dd:Variable id="featureApp" value=Application"> </sdd-dd:Feature> <sdd-dd:Feature id="Help"> <sdd-dd:DisplayName>Application Help Files</sdd-dd:DisplayName> <sdd-dd:Variable id="featurehelp" value="Help"> </sdd-dd:Feature> </sdd-dd:Features> </sdd-dd:SelectableContent> . . . </sdd-dd:DeploymentDescriptor>