Previous Table of Contents Next


5.7 SoftwareDeployment Metamodel

   The Software Deployment package depends on the following packages: • org.omg::CWM::ObjectModel::Core • org.omg::CWM::Foundation::BusinessInformation • org.omg::CWM::Foundation::TypeMapping

   The Software Deployment package contains classes to record how the software in a data warehouse is used.

   A software package is represented as a SoftwareSystem object, which is a subtype of Subsystem. A SoftwareSystem may reference one or moreTypeSystems that define the datatypes supported by the SoftwareSystem. The mappings between datatypes in different TypeSystems may be recorded as TypeMappings, as described in Section 5.8, “TypeMapping Metamodel,? on page 5-66.

   The separate components of a software package are each represented as Components that are either owned or imported by the SoftwareSystem. When a SoftwareSystem is installed, the deployment is recorded as a DeployedSoftwareSystem and a set of DeployedComponents.

   A DeployedComponent represents the deployment of a specific Component on a specific computer. Dependencies between DeployedComponents on the same computer may be documented as Usage dependencies between them.

   Individual computers are represented as Machine objects, located at a Site. A Site represents a geographical location, which may be recorded at any relevant level of granularity (for example, a country, a building, or a room in a building). Hierarchical links between Sites at different levels of granularity may be documented.

   A DataManager is a DeployedComponent such as a DBMS or file management system that provides access to data. It may be associated with one or more data Packages identifying the Schema, Relational Catalog, Files, or other data containers that it provides access to.

   A DataProvider is a DeployedComponent that acts as a client to provide access to data held by a DataManager. For example, an ODBC or JDBC client on a specific Machine would be represented as a DataProvider. A DataProvider may have several ProviderConnections, each identifying a DataManager that may be accessed using the DataProvider.

   If a DataProvider uses a name for a data Package that is different from the actual name used by the DataManager, a PackageUsage object can be added to record this.

   As a DataProvider is a subtype of DataManager, it is possible for a DataProvider to access data from a DataManager, which is actually a DataProvider acting as a client to yet another DataManager.

   The model for the Software Deployment package is shown in the following three diagrams. The first diagram ( Figure 5-11 ) shows the objects related to software deployment, while the second diagram (Figure 5-12 ) displays the DataManager and DataProvider area of the model. The third diagram ( Figure 5-13) shows the inheritance structure for all the classes in the Software Deployment package.

   


Location (from BusinessInformation)



   SoftwareSystemeployedSoftwareSystem

   


deployment



   






   /importer




   /namespace 0..1

   0..1

   Site containingSite





   /importedElement DeployedComponent/ownedElement






   deployment

   Component





   containedSite

   





   Machine

   





   Figure 5-11 Software Deployment

   SoftwareSystem

   ipAddress : String hostName : String machineID : String / site : Site / deployedComponent : DeployedComponent

   pathname : String

   / designPackage : Package / component : Component

   / machine : Machine / usingComponents: DeployedComponent / usedComponents : DeployedComponent

   




   usedComponents

   DataManager

   


dataPackage

   






   /supplier

   


DataProvider



   




   clientConnection /supplierDependency

   




   



ProviderConnection

   PackageUsage resourceConnection

   /client /clientDependency

   







   Figure 5-12 DataManager and DataProvider



   SoftwareSystem

   


DeployedSoftwareSystem DeployedComponent





   DataManager

   Component




   Machine

   


DataProvider



   Figure 5-13 Software Deployment Inheritances