Showing posts with label Architecture of AS Java. Show all posts
Showing posts with label Architecture of AS Java. Show all posts

Friday, May 29, 2009

Dynamic System Configuration

Use

The main idea of dynamic system configuration is to use parameterized settings instead of static values for system-dependent configuration. Thus, if the system environment is changed or new hardware is added, the overall configuration is changed dynamically without the need to adapt the configuration in the database manually.

Features

Parameterized Settings

Parameterized settings contain parameters specified in the instance profile provided within the Configuration Manager. These parameters are transparently substituted during runtime.

The structure of a parameter is ${}.

For example: Message Server host: ${MSGSRV_HOST}

Computed Settings

Computed settings are used in case a simple parameter substitution is not sufficient and the value needs to be calculated out of specific system parameters (such as heap size, cache size).

Computed settings are arithmetic expressions containing system parameters from the instance profile. The parameters are transparently substituted and the arithmetic expression is evaluated during runtime.

An arithmetic expression consists of parameters, constants, simple operators and brackets. Operators supported are “+”, ”-“, ”*”,” /”; “min”, “max” , “round” and “truncate” function;

Format: expr = expr1 min expr2 [corresponds to expr = min(expr1, expr2)].

round(${AMOUNT_MEMORY}/3)

For example: Number of Server Nodes per Instance: 2*${CPU_COUNT}

Value Links

Value links contain links to other settings in case a setting is dependent on another setting stored somewhere else in the Configuration Manager. A value link is transparently resolved and substituted during runtime.

The structure of a value link is $link{#}

Caution

Value links are intended for internal use only.

Instance Profile

The Zero Administration instance profile is a defined set of system-dependent configuration parameters provided by the Configuration Manager. They include:

● SAP system parameters

● Java instance parameters

● Hardware and OS parameters

● Node-specific parameters

The instance profile parameters can be referenced by using parameterized settings.

Instance Profile

The following table lists the current instance profile parameter set provided by the Configuration Manager.

Parameter

Description

SAP system parameters

${SYSTEM_NAME}

The three-character name of the system (for example, D70).

${SYS_GLOBAL_DIR}

The path to the system global share (for example, \\centralhost\sapmnt\D70\SYS\global).

${SYS_DATASOURCE_NAME}

The name of the system data source (for example, SAPN69DB).

${MSGSRV_HOST}

Host where the Message Server is located.

${MSGSRV_PORT}

Port of the Message Server.

${ENQSRV_HOST}

Host where the Enqueue Server is located.

${ENQSRV_PORT}

Port of the Enqeue Server.

${START_TIME}

Start time of the instance as a long value.

Java instance parameters

${INSTANCE_ID}

The ID of the current instance.

${INSTANCE_NAME}

The name of the current instance (for example, 'JC20' or 'J20' for a dialog instance).

${INSTANCE_NUMBER}

The number of the current instance (for example, for instance 'JC20' the number is '20').

${INSTANCE_HOST}

The host name of the host on which the instance is running.

${INSTANCE_DIR}

Path to the instance folder (for example, c:\usr\sap\D70\JC20).

${FULL_INSTANCE_NAME}

The full instance name of the current instance (for example, D70_JC20_pcj2ee01, where D70 is system name; JC20 is instance name and pcj2ee01 is instance host).

${SYSTEM_INFO}

The configuration path to the System Info configuration, which exposes parameters for the usage in the components configuration.

${JAVA_HOME}

The path to the bin folder of the Java installation.

${DB_DRIVER_LOCATION}

The driver location string specifying the driver location needed for the DB connection.

${VM_VENDOR}

The name of the VM vendor (for example, SAP).

${EXE_DIR}

Directory where native executables are located.

Hardware and OS parameters

${CPU_COUNT}

The number of CPUs available on the host which should be used by the instance.

${AMOUNT_MEMORY}

The amount of physical memory on the host which should be used by the instance.

${OS_NAME}

The SAP name of the OS.

${OS_BITLENGTH}

The bit length (for example, 32, 64) of the platform.

${OS_UNICODE}

Specifies if platform is Unicode enabled or not (uc, nuc).

Node-specific parameters

${NODE_INDEX}

Instance unique ID identifying a cluster node on an instance.

Configuration Templates

Definition

Configuration templates contain the predefined instance configuration for specific scenarios.

A configuration template is system independent and can be moved between different systems as all system dependencies are configured using dynamic configuration, which includes parameterized and computed settings and value links. A configuration template is derived from a default configuration and overwrites the setting according to the specific usage the template is assigned to.

Structure

A configuration template may contain the following configuration:

● Instance layout – the number of server nodes running on the instance defined as an arithmetic expression dependent on the hardware available for this instance (number of CPUs and memory available).

● Java Virtual Machine (JVM) configuration – JVM memory settings and JVM parameters. If no settings are applied, the default settings will take effect.

● Kernel configuration – system independent properties of the manager components of the AS Java.

● Service setting – system-independent service properties of each service component which is part of the installation.

● Application configuration – syst

Definition

Configuration templates contain the predefined instance configuration for specific scenarios.

A configuration template is system independent and can be moved between different systems as all system dependencies are configured using dynamic configuration, which includes parameterized and computed settings and value links. A configuration template is derived from a default configuration and overwrites the setting according to the specific usage the template is assigned to.

Structure

A configuration template may contain the following configuration:

● Instance layout – the number of server nodes running on the instance defined as an arithmetic expression dependent on the hardware available for this instance (number of CPUs and memory available).

● Java Virtual Machine (JVM) configuration – JVM memory settings and JVM parameters. If no settings are applied, the default settings will take effect.

● Kernel configuration – system independent properties of the manager components of the AS Java.

● Service setting – system-independent service properties of each service component which is part of the installation.

● Application configuration – system independent application configuration of each application which is part of the installation.

● Runtime filter configuration – for activation and deactivation of components according to the use case scenario the template belongs to (the components which are not needed for the particular usage are disabled, which means they are not started whereas those that are needed are enabled). More information about filters: Adding Filters.

More information about changing a configuration template: Activating a Configuration Template.

End of Content Area

em independent application configuration of each application which is part of the installation.

● Runtime filter configuration – for activation and deactivation of components according to the use case scenario the template belongs to (the components which are not needed for the particular usage are disabled, which means they are not started whereas those that are needed are enabled). More information about filters: Adding Filters.

More information about changing a configuration template: Activating a Configuration Template.

End of Content Area

Zero Administration

Use

The main goal of Zero Administration is to simplify the technical configuration within the AS Java by removing all system-dependent settings from the configuration database. This is done via dynamic configuration which adapts itself to the system environment, and template-based configuration which ensures configuration consistency.

Zero Administration supports:

● Built-in configuration templates.

● System copies and load based installations without the need to adapt configuration manually.

● Changing the system environment (system name, instance name, hosts and so on) without changing the configuration in the database.

● Adding instances with a minimum configuration overhead.

Integration

The goals and benefits of Zero Administration are achieved by a set of new features within the Configuration Manager and the infrastructure itself.

Features

Zero Administration concept is implemented in:

● Configuration Templates

● Dynamic System Configuration

This graphic is explained in the accompanying text

AS Java Cluster Configuration Structure

The general AS Java cluster configuration structure consists of two levels:

...

● Default system-independent configuration including configuration templates, which are provided during installation. A configuration template is derived from a default configuration and overwrites the setting according to the specific usage it is assigned to.

● System configuration, including the actual configuration of the specific instances, which are part of the system. The instance configuration is derived from the configuration template belonging to the corresponding use case. The system-dependent configuration dynamically adapts itself to the actual system environment without overwriting any settings inherited from the template.

If you need to customize any additional AS Java components (for example landscape connectivity), you can do custom configuration within system configuration using the Config Tool. Custom configuration is stored separately and does not affect default configuration. Custom configuration changes are visible across all instances that are configured via the same configuration template.

If you want to customize a setting for one particular instance only, apply the change on the instance level.

More information about configuring the AS Java parameters using the Config Tool: Config Tool.

End of Content Area