This documentation is not maintained. Please refer to doc.castsoftware.com/technologies to find the latest updates.
Summary: this section describes how to manage the analysis of your Siebel applications in the CAST Management Studio, following delivery of the source code.

The analysis process for your Siebel applications is designed to work with the two analysis service schemas that were created earlier (see Siebel 5.2 - Installation) - note that the names of the schemas are just examples and they can be called anything:

  • SIEBEL5_LOCAL: Analysis Service that will store the analysis results for the Project repository
  • SIEBEL5_V_LOCAL: Analysis Service that will store the analysis results for the Vanilla repository

Vanilla: Analysis setup and configuration

CAST Management Studio connection

Run the CAST Management Studio and then validate and choose the connection profile for the SIEBEL5_V_MNGT Management Service schema (i.e. for the Vanilla repository). Click Next to start the setup wizard

Enter the CAST License Key and click Next:

Configure the folders (note that the required folders have changed in CAST AIP ≥ 8.3.x):

CAST AIP 8.3.x

Click to enlarge

  • Source Delivery: folder must be the exact same folder as the folder configured during the setup of the CAST AIC Portal
  • Source Deployment: use the default folder or setup your own custom folder.
  • Logs/LISA/LTSA: use the default folder or setup your own custom folder.
CAST AIP 8.2.x

Click to enlarge

  • Source Delivery folder must be the exact same folder as the folder configured during the setup of the CAST AIC Portal
  • Source Deployment: use the default folder or setup your own custom folder.

Click Finish to launch the CAST Management Studio.

Configure CAST Management Studio preferences

Once the CAST Management Studio has launched, open Windows/Preferences:

CAST AIP ≥ 8.3.x

Select Cast General:

Click to enlarge

  • Audience: select Expert
CAST AIP 8.2.x

Select Cast General:

Click to enlarge

  • Log Root Directory/Large intermediate storage area/Large temporary storage area: use the default folder or setup your own custom folder.
  • Audience: select Expert

Import the Assessment Model - required when using CAST AIP 8.2.x ONLY

Open the Dashboard Service editor for the Dashboard Service (SIEBEL5_V_CENTRAL) that is associated to the Management Service you are currently connected to. Click the Import Assessment Model option - the Assessment Model will then be displayed in the CAST Management Studio in the Assessment Models view.

Configure the Assessment Model

Open the Assessment Model and check that the parameter settings for the Siebel rules are adapted to your project. To do so, go to the Contextual Parameters tab and search for names that start with "Siebel:"

Note that the Search may not function correctly - if this is the case, please quit the CAST Management Studio and then re-run it (ensuring that you connect to SIEBEL5_V_MNGT (i.e. the Vanilla)

Click to enlarge


To check or modify a parameter, edit the parameter - this will open the parameter in an editor window. For example, for the naming conventions, edit the parameters "Siebel: Prefix XXX":

Click to enlarge


Check the following tables and modify each parameter to the value defined in the Project value column.

Multiple values, char: as they are related to naming convention, they must be adapted to the project:

MetricID
(external ID)

Rule name

Parameter name

Default value

Project value

1520380

Siebel: Applet's name should contain the type

Siebel: Suffix Applet - Association List

Assoc Applet




Siebel: Suffix Applet – Detail

Detail Applet or Popup Applet




Siebel: Suffix Applet – MVG

Mvg Applet

MVG Applet



Siebel: Suffix Applet - Pick List

PickList Applet

Pick Applet



Siebel: Suffix Applet - Playbar

Playbar Applet




Siebel: Suffix Applet - Standard

Standard Applet




Siebel: Suffix Applet - Task

Task Applet

Form Applet

1521700

Siebel: Table's name should have a designated prefix like XX_LABEL

Siebel: Prefix Table

CX_


1521702

Siebel: Business Component's name should begin with Company prefix

Siebel: Prefix Business Component

AM_

ACME_

1521704

Siebel: Applet's name should begin with Company prefix

Siebel: Prefix Applet

AM_

ACME_

1521706

Siebel: View's name should begin with Company prefix

Siebel: Prefix View

AM_

ACME_

1521708

Siebel: Screen's name should begin with Company prefix

Siebel: Prefix Screen

AM_

ACME_

1521710

Siebel: Business Object's name should begin with Company prefix

Siebel: Prefix Business Object

AM_

ACME_

1521712

Siebel: Business Service's name should begin with Company prefix

Siebel: Prefix Business Service

AM_

ACME_

Single value, numerical: As a first approach, you can stick to the default values:

MetricID
(external ID)

Rule name

Parameter name

Default value

Project Value

1520180

Siebel eScript: Avoid Functions with High Cyclomatic Complexity

Siebel: Max CC

15


1520442

Siebel eScript: Avoid Functions with a low comment/code ratio

Siebel: Min comment ratio

5


1520494

Siebel eScript: Avoid complex PreGetFieldValue Functions

Siebel: Max LoC for PreGetFieldValue

50


1520540

Siebel: Avoid too many MVG on list applet

Siebel: Max MVG Applet

5


1520726

Siebel eScript: Avoid putting all code in the Applet_PreInvokeMethod event

Siebel: Max LoC for Service_PreInvokeMethod

20


1520728

Siebel eScript: Avoid putting all code in the Service_PreInvokeMethod event

Siebel: Max LoC for Service_PreInvokeMethod

20


1520730

Siebel eScript: Prefer SWITCH over nested IF-THEN-ELSE in Functions

Siebel: Max Nested IF

5


1520734

Siebel eScript: Avoid using multiple conditions in IF constructions in Functions

Siebel: Max Condition in IF

5


1520860

Siebel: Avoid Business Objects referencing too many Business Components

Siebel: Max Buscomp

50


1520862

Siebel: Avoid Business Components referencing more than X tables

Siebel: Max Table

40


1520864

SiebelReview: Too Many Applets on a View

Siebel: Max Applet

10


1520866

SiebelReview: Excessive Number of List Columns in a List Applet

Siebel: Max number of columns

50


1520868

Siebel eScript: Avoid Functions with more than X variables

Siebel: Max Variables

15


1520880

Siebel eScript: Avoid Functions with more than X Lines of Code

Siebel: Max LoC

50


Manage the Application, accept the delivery and set as current version

In the CAST Management Studio, Application view, click Manage an Application registered in AIC Portal…. The wizard displays all available applications. Select the "Vanilla" application:

Assuming the packages have already been delivered as explained in Siebel 5.2 - Application onboarding, the Application editor will show the delivered Version in the Delivery tab:


Select the Version and then click the Manage the delivery… option to open the CAST DMT. Check the packaging is correct:

  • The Content state of the package should be showing Packaging successful
  • In the Package content tab, you should see one project named Vanilla for the Siebel Extractor Project type:

Quit the CAST Delivery Manager Tool. Back in the CAST Management Studio, select the Version and click Accept delivery and use it as current version. You should use the default values in the wizard that is displayed.

Note that this procedure can take a long time as it deploys the source code. If you want to increase the speed, you should deactivate any real-time anti-virus scanning that may be configured on the Deployment folder.

Configure Modules

In the Application editor, click the Modules tab. Ensure the option to generate a Full Content module is ticked (this should be the case already):

You are now ready to generate a snapshot, see below.

Note that no other options should be ticked and no User Defined Modules should be created - remove them if any exist.

Vanilla: Generate a snapshot and check results

Generate a snapshot

Generate a snapshot for the Vanilla Application - ensure this includes an analysis:

Post snapshot checks

Check log files

You should ensure that no error nor warning messages are reported and that any unusual message recorded in the log file should be reported to CAST Support. When using the GUI, navigate to each analysis execution item and then click the log link: 

Analysis warning messages: end of comment '*/' not found

During the analysis, you may see warnings in the analysis log referencing certain scripts when the script is not syntactically valid. Typically, this has been seen in scripts related to the Vanilla standard object "CSSSWEFrameWebCallScriptPlayer". The impact on results is very low since the analyzer will just ignore the content of these invalid scripts. Potential warning messages:

  • end of comment '*/' not found

Check the results in the CAST dashboards

Benchmarking feature

In particular, you should use the Benchmarking feature in the legacy CAST Engineering Dashboard - CED to help perform an inventory check. Expand the table at the bottom, below the bar chart, and look at the main Siebel object types: we expect 100's or 1000's of added and modified Applets, Business Components, Business Services etc.

  • If one of the counts is 0, then it is a failure. The issue is most likely located in the discrimination, the Siebel Vanilla Import task, or the extraction itself, as such check the processing of these tasks.
  • If both counts are equal, then it is a failure. The issue is most likely located in definition of modules, as such check the explicit lists code.
  • If Added is 100% of the Project AU content (i.e. 18,000 Applets etc.) and Modified is empty, then the issue is most likely located in the discrimination, the Siebel Vanilla Import task, or the extraction itself. Therefore, check the processing of these tasks. Check content of table siebel_objects_v (in the Project's analysis schema).

Please note that the Project application is the sum of ADDED modules and MODIFIED modules. This excludes the standard objects (unchanged from the Vanilla).

Measure based rules

Using the Investigation View in the legacy CAST Engineering Dashboard - CED, look for invasive and extension customization ratio. Expected range of values for the 7 invasive measure-based rules, and 7 extensive measure-based rules is 0.1% to 25% or more. For now, this inspection is manual. Take this opportunity to fill the Excel report provided in the reporting kit, it will allow the consumers to have access to the measure in one single instant.

An abnormally high invasive customization ratio is usually a sign that the Vanilla and the Project are not in sync (the difference is due to a Siebel version difference or one of more patches) as opposed to actual customization made by the development team. The development team will team you what value is expected and what value is unexpected.

Quality Rules check

All Siebel applications will have critical and non-critical violations. This is inherent to this development environment. So even with low customization ratios, the number of critical and non-critical violations will be 100s or 1000s.

Project: Analysis setup and configuration

CAST Management Studio connection

Run the CAST Management Studio and then validate and choose the connection profile for the SIEBEL5_MNGT Management Service schema (i.e. for the Project repository). Click Next to start the setup wizard

Enter the CAST License Key and click Next:

Configure the folders (note that the required folders have changed in CAST AIP ≥ 8.3.x). You should use the SAME FOLDERS as defined when you setup the analysis for Vanilla:

CAST AIP 8.3.x

Click to enlarge

  • Source Delivery: folder must be the exact same folder as the folder configured during the setup of the CAST AIC Portal
  • Source Deployment: use the default folder or setup your own custom folder.
  • Logs/LISA/LTSA: use the default folder or setup your own custom folder.
CAST AIP 8.2.x

Click to enlarge

  • Source Delivery folder must be the exact same folder as the folder configured during the setup of the CAST AIC Portal
  • Source Deployment: use the default folder or setup your own custom folder.

Configure CAST Management Studio preferences

Once the CAST Management Studio has launched, open Windows/Preferences:

CAST AIP ≥ 8.3.x

Select Cast General:

Click to enlarge

  • Audience: select Expert
CAST AIP 8.2.x

Select Cast General:

Click to enlarge

  • Log Root Directory/Large intermediate storage area/Large temporary storage area: use the default folder or setup your own custom folder.
  • Audience: select Expert

Import the Assessment Model - required when using CAST AIP 8.2.x ONLY

Open the Dashboard Service editor for the Dashboard Service (SIEBEL5_CENTRAL) that is associated to the Management Service you are currently connected to. Click the Import Assessment Model option - the Assessment Model will then be displayed in the CAST Management Studio in the Assessment Models view.

Configure the Assessment Model

Open the Assessment Model and check that the parameter settings for the Siebel rules are adapted to your project. To do so, go to the Contextual Parameters tab and search for names that start with "Siebel:"

Note that the Search may not function correctly - if this is the case, please quit the CAST Management Studio and then re-run it (ensuring that you connect to SIEBEL5_MNGT (i.e. the Project)

Click to enlarge

To check or modify a parameter, edit the parameter - this will open the parameter in an editor window. For example, for the naming conventions, edit the parameters "Siebel: Prefix XXX":

Click to enlarge

Check the following tables and modify each parameter to the value defined in the Project value column.

Multiple values, char: as they are related to naming convention, they must be adapted to the project:

MetricID
(external ID)

Rule name

Parameter name

Default value

Project value

1520380

Siebel: Applet's name should contain the type

Siebel: Suffix Applet - Association List

Assoc Applet




Siebel: Suffix Applet – Detail

Detail Applet or Popup Applet




Siebel: Suffix Applet – MVG

Mvg Applet

MVG Applet



Siebel: Suffix Applet - Pick List

PickList Applet

Pick Applet



Siebel: Suffix Applet - Playbar

Playbar Applet




Siebel: Suffix Applet - Standard

Standard Applet




Siebel: Suffix Applet - Task

Task Applet

Form Applet

1521700

Siebel: Table's name should have a designated prefix like XX_LABEL

Siebel: Prefix Table

CX_


1521702

Siebel: Business Component's name should begin with Company prefix

Siebel: Prefix Business Component

AM_

ACME_

1521704

Siebel: Applet's name should begin with Company prefix

Siebel: Prefix Applet

AM_

ACME_

1521706

Siebel: View's name should begin with Company prefix

Siebel: Prefix View

AM_

ACME_

1521708

Siebel: Screen's name should begin with Company prefix

Siebel: Prefix Screen

AM_

ACME_

1521710

Siebel: Business Object's name should begin with Company prefix

Siebel: Prefix Business Object

AM_

ACME_

1521712

Siebel: Business Service's name should begin with Company prefix

Siebel: Prefix Business Service

AM_

ACME_

Single value, numerical: As a first approach, you can stick to the default values:

MetricID
(external ID)

Rule name

Parameter name

Default value

Project Value

1520180

Siebel eScript: Avoid Functions with High Cyclomatic Complexity

Siebel: Max CC

15


1520442

Siebel eScript: Avoid Functions with a low comment/code ratio

Siebel: Min comment ratio

5


1520494

Siebel eScript: Avoid complex PreGetFieldValue Functions

Siebel: Max LoC for PreGetFieldValue

50


1520540

Siebel: Avoid too many MVG on list applet

Siebel: Max MVG Applet

5


1520726

Siebel eScript: Avoid putting all code in the Applet_PreInvokeMethod event

Siebel: Max LoC for Service_PreInvokeMethod

20


1520728

Siebel eScript: Avoid putting all code in the Service_PreInvokeMethod event

Siebel: Max LoC for Service_PreInvokeMethod

20


1520730

Siebel eScript: Prefer SWITCH over nested IF-THEN-ELSE in Functions

Siebel: Max Nested IF

5


1520734

Siebel eScript: Avoid using multiple conditions in IF constructions in Functions

Siebel: Max Condition in IF

5


1520860

Siebel: Avoid Business Objects referencing too many Business Components

Siebel: Max Buscomp

50


1520862

Siebel: Avoid Business Components referencing more than X tables

Siebel: Max Table

40


1520864

SiebelReview: Too Many Applets on a View

Siebel: Max Applet

10


1520866

SiebelReview: Excessive Number of List Columns in a List Applet

Siebel: Max number of columns

50


1520868

Siebel eScript: Avoid Functions with more than X variables

Siebel: Max Variables

15


1520880

Siebel eScript: Avoid Functions with more than X Lines of Code

Siebel: Max LoC

50


Manage the Application, accept the delivery and set as current version

In the CAST Management Studio, Application view, click Manage an Application registered in AIC Portal…. The wizard displays all available applications. Select the "Project" application:

Assuming the packages have already been delivered as explained in Siebel 5.2 - Application onboarding, the Application editor will show the delivered Version in the Delivery tab:


Select the Version and then click the Manage the delivery… option to open the CAST DMT. Check the packaging is correct:

  • The Content state of the package should be showing Packaging successful
  • In the Package content tab, you should see one project named Vanilla for the Siebel Extractor Project type:

Quit the CAST Delivery Manager Tool. Back in the CAST Management Studio, select the Version and click Accept delivery and use it as current version. You should use the default values in the wizard that is displayed.

Note that this procedure can take a long time as it deploys the source code. If you want to increase the speed, you should deactivate any real-time anti-virus scanning that may be configured on the Deployment folder.

Configure Modules

Define Module Strategy

In the Application editor, click the Modules tab. Untick all options under Generate one module per:

Starting release 5.2.6, and when used in conjunction with AIP Core ≥ 8.3.38, the extension will automatically check whether any automatic module strategy is defined, and if so, will remove them.

Create empty User Defined Modules

Create the following empty User Defined Modules:

Two Modules for the entire Siebel repository named as follows:

  • REPOSITORY_ADDED
  • REPOSITORY_MODIFIED

These modules will take all objects, including objects not used by any application. In this context, rules for dead code will be triggered.

Two Modules for EACH functional Siebel application that was included in the Project extraction in the CAST Delivery Manager Tool (i.e. you may need to create multiple pairs of Modules) named as follows:

  • <appname>_ADDED
  • <appname>_MODIFIED

These modules will take only those objects used inside the selected application In this context, rules for dead code are not triggered since all objects are called in the application. Applications you specify for modules must have already been selected in the extraction (if the application has not been selected, the computation will fail in the tools computed at the end of the application by the SDK - note that with AIP, the process is not failing at that level). Using this configuration, some custom objects may not be included. This is why CAST recommends also configuring the REPOSITORY_ADDED / REPOSITORY_MODIFIED modules as well (see above)

The configuration described above will give you something similar to the list of User Defined Modules shown below:

Siebel objects are shared inside a single Siebel repository and if you have multiple applications in this single repository some objects may be counted in multiple different modules. This situation will also occur if you configure both RESPOSITORY_* and <appname>_* modules.

Edit the modules

For EACH of the empty User Defined Modules you have just created, you must open and edit each one as follows:

Delete the default Object Filter (called My Object Filter) from the Filters tab:

Activate the option Build module content using an explicit list of objects in the Explicit content tab - this will populate the SQL Query section with a default query template:

Delete the default SQL query template in the Explicit content tab:

Copy in the appropriate SQL query provided in the template TXT file for EACH empty User Defined Module. Template text files can be found in:

%PROGRAMDATA%\CAST\CAST\Extensions\com.castsoftware.siebel.<version>\CMS_ConfigScripts\CastStorageService

Project_Module_REPOSITORY_ADDED.txt
Project_Module_REPOSITORY_MODIFIED.txt
Project_Module_SiebelApp_ADDED.txt
Project_Module_SiebelApp_MODIFIED.txt

for example:

Use the following templates:

  • REPOSITORY_ADDED: use the template "Project_Module_REPOSITORY_ADDED.txt"
  • REPOSITORY_MODIFIED: use the template "Project_Module_REPOSITORY_MODIFIED.txt"
  • <appname>_ADDED : use the template "Project_Module_SiebelApp_ADDED.txt"
  • <appname>_MODIFIED : use the template "Project_Module_SiebelApp_MODIFIED.txt"

You must also ensure that the relevant Siebel Application name is specified in the SQL you paste in from the template text file by replacing the default sample 'Siebel Sales Enterprise' with your customized Application name, for example 'Siebel Power Communication':

select * from §SIEBEL_MODULE_ADDED('$(ModuleName)','Siebel Power Communication')
/

Configure a platform variable

You now need to configure a new platform variable that defines the name of the CAST Analysis Service schema installed for the Vanilla. In our example this is "SIEBEL5_V_LOCAL":

In the Technologies view, double click the Common entry to open the Common editor. In the Platform tab, add a new variable called SIEBEL_VANILLA_SCHEMA with a value equal to the name of the CAST Analysis Service schema installed for the Vanilla:

Click to enlarge

Note that a check is performed when the analysis/snapshot is executed and if the platform variable SIEBEL_VANILLA_SCHEMA is not defined then a warning will be displayed in the analysis log: SIEBEL-100 Variable SIEBEL_VANILLA_SCHEMA is not defined. Refer to the documentation. This will not block the execution of the analysis/snapshot, however, it is possible to cancel the execution if this message is seen.

Project: Generate a snapshot and check results

Generate a snapshot

Generate a snapshot for the Project Application - ensure this includes an analysis:

Post snapshot checks

Check log files

You should ensure that no error nor warning messages are reported and that any unusual message recorded in the log file should be reported to CAST Support. When using the GUI, navigate to each analysis execution item and then click the log link: 

Check the results in the CAST dashboards

Benchmarking feature

In particular, you should use the Benchmarking feature in the legacy CAST Engineering Dashboard - CED to help perform an inventory check. Expand the table at the bottom, below the bar chart, and look at the main Siebel object types: we expect 100's or 1000's of added and modified Applets, Business Components, Business Services etc.

  • If one of the counts is 0, then it is a failure. The issue is most likely located in the discrimination, the Siebel Vanilla Import task, or the extraction itself, as such check the processing of these tasks.
  • If both counts are equal, then it is a failure. The issue is most likely located in definition of modules, as such check the explicit lists code.
  • If Added is 100% of the Project AU content (i.e. 18,000 Applets etc.) and Modified is empty, then the issue is most likely located in the discrimination, the Siebel Vanilla Import task, or the extraction itself. Therefore, check the processing of these tasks. Check content of table siebel_objects_v (in the Project's analysis schema).

Please note that the Project application is the sum of ADDED modules and MODIFIED modules. This excludes the standard objects (unchanged from the Vanilla).

Measure based rules

Using the Investigation View in the legacy CAST Engineering Dashboard - CED, look for invasive and extension customization ratio. Expected range of values for the 7 invasive measure-based rules, and 7 extensive measure-based rules is 0.1% to 25% or more. For now, this inspection is manual. Take this opportunity to fill the Excel report provided in the reporting kit, it will allow the consumers to have access to the measure in one single instant.

An abnormally high invasive customization ratio is usually a sign that the Vanilla and the Project are not in sync (the difference is due to a Siebel version difference or one of more patches) as opposed to actual customization made by the development team. The development team will team you what value is expected and what value is unexpected.

Quality Rules check

All Siebel applications will have critical and non-critical violations. This is inherent to this development environment. So even with low customization ratios, the number of critical and non-critical violations will be 100s or 1000s.