Download
Abstract
IBM Decision Optimization Center Fix Pack v3.80.2 on Fix Central.
Download Description
IBM Decision Optimization Center makes optimization technology accessible to business, enabling intelligent planning and scheduling decisions. IBM Decision Optimization Center offers a configurable and extensible platform for optimization-based planning and scheduling applications.
For further information about this product, see the Decision Optimization page.
For product support, see IBM Decision Optimization Center Support.
Installation Instructions
This fix pack is designed to install “on top of” existing installation of IBM Decision Optimization Center v3.8.0 or v3.8.0.1 as an upgrade. Executing the installer (.exe/.bat on Windows, .bin on Linux, AIX) updates several components of IBM Decision Optimization Center v3.8.0 or v3.8.0.1.
Download Package
How critical is this fix?
This is a recommended fix for IBM Decision Optimization Center v3.8.0 and v3.8.0.1.
Problems Solved
The following APARS have been fixed in the V3.8.0.2 release:
APAR number | Description |
| RS01528 | Exiting Decision Optimization Center Studio with an opened unsaved scenario causes an exception to be thrown upon the save: When you modify a scenario (but don't save it), solve it and then exit the application, you are then prompted to save the scenario. Answering yes causes an exception to be thrown. Fix: Answering yes no longer triggers an exception. |
| RS01629 | The job duration on the Decision Optimization Center web console no longer incorrectly displays null1h2m3s, instead of 1h2m3s. |
| RS01633 | When a multi-model CP solve is run from the Decision Optimization Center Studio GUI, and a solve phase is stopped using the Stop button in the solve progress dialog, the Stop button is now re-enabled to enable stopping in the next phase. |
| RS01652 | This defect was closed with no changes, the packaging will remain as is, because the Decision Optimization Center licence terms do not allow the use of COS/CPLEX outside of the Decision Optimization Center runtime environment. Moreover, only the OPL interface to CPLEX is supported when running within the Decision Optimization Center, and shipping both OPL and CPLEX versions of the API would lead to runtime conflicts. |
| RS01675 | Because of version dependencies inherited from JViews, the version of ICU4J shipped with Decision Optimization Center will remain at V4.8. The 'Olson' bug, when running with JVM assertions enabled, has been alleviated in the Decision Optimization Center product code and it will no longer throw an AssertionError.
However, custom code that uses the com.ibm.icu.util.TimeZone.getTimeZone() method will still encounter this issue. There are two ways to work around this:
2. Put a more recent version of icu4j.jar in the classpath, before the one provided by Decision Optimization Center. |
| RS01676 | Previously when the reference scenario was changed, DOM custom views were not notified of the change, as they should have been: the ilog.odm.dom.ui.IloDomScenarioView.referenceModelManagerChanged() was not called. This no longer happens, the call-back method is now appropriately called. |
| RS01702 | With Decision Optimization Center Studio, after changing the selected scenario, the currently selected view is now correctly selected in the View Explorer. |
| RS01713 | When an IloTask with the SHOW_ANIMATION flag set is activated during pivot table rendering, the screen no longer flickers. Under some circumstances, a parasitic repaint flickered briefly in the upper left corner of Decision Optimization Center Studio's main screen when displaying a pivot table and during a long-running IloTask operation. This problem is now fixed. |
| RS01745 | When a chart view is opened once, then closed and reopened, the element selector check boxes are now effective. |
| RS01756 | In concurrent multi-user mode, when a scenario is locked by another user, if you add a row, then remove it and perform a save, the scenario is no longer shown as modified. |
| RS01758 | The ilog.odm.studio.views.IloSchemaView.getCurrentSelection() now returns the correct row even when the view is filtered. This problem is also fixed for when the selection is retrieved directly from ilog.odm.studio.views.selection.IloViewSelectionEvent.. |
| RS01762 | Inconsistency in NULL or Empty values imported from Scenario Data Source is fixed. |
| RS01769 | The IloTaskController.getTaskState() and getCompletionPhase() methods now return correct values when running with another user. |
| RS01816 | The ilog.odm.datasvc.IloRepositoryProperties.AUTOMATIC_USER_MAPPING property can now take the additional values None, Identity, Lowercase, Uppercase, Capitalize (in addition to True and False as before). The default value is still True (Identity).
This property can be used to avoid users logging in simultaneously with userids with different letter cases, when the authentication system is case-insensitive. |
| RS01820 | Pivot tables now support a new flat layout mode to both scroll the headers and data area. To activate this new flat layout you must edit the view description file (.odmvw) and add a new flatLayout attribute: <view id="Nurses payRates Pivot Table"> <pivotTableView tableId="app.NURSES" flatLayout="true"> <description> The JIDE library delivered with this is V.3.6.7. |
| RS01836 | In a pivot table view, entering a value and pressing the Down-Arrow key (or Tab key), the cursor now moves to the cell below (or to the cell on the right) and no longer jumps back. |
| RS01846 | Previously when starting Decision Optimization Center Studio with a user already logged-in, a second login attempt, by the same user, with the force-logoff option sometimes failed when the data server response time was long and this prevented you from opening Decision Optimization Center Studio. This issue has now been fixed |
| RS01861 | When a scenario was modified inside IloPrepareJobSubmission and was not saved before Task completion, subsequent task submission failed, possibly leading to a deadlock situation that required a restart of Decision Optimization Center Studio. This problem is now fixed by forcing a scenario.save() after the hook invocation when scenario.isModified(). A warning message is also now written to the log. |
| RS01922 | The error message Unrecoverable Solve Failure in optimizing: should have optimization lock for user which might be logged when running a solve on a scenario lock whose has been removed and replaced, has been improved to provide more trace and diagnostic information to explain why the lock was replaced. |
| RS01930 | Previously when solve output data is updated in a post-solve hook, the pivot table view might display erroneous differences when the current scenario is set as the reference scenario and display differences is enabled. Comparison is now disabled when the reference scenario is itself. |
Known Side Effects
Upgrades existing installations of IBM Decision Optimization Center v3.8.0 and v3.8.0.1 to v3.8.0.2.
Change History
Decision Optimization Center v3.8.0.2 offers the following new features:
- This fix pack now supports the following versions of Java SDK:
Java SDK 6.0 Service Refresh 16-FP3
Java SDK 7.0 Service Refresh 8-FP10
JDK 6 is provided in the Decision Optimization Center installers.
Decision Optimization Center V3.8.0.2 has passed tests under 'IBM Java SDK 7.0 Service Refresh 8-FP10 ( v7 SR8-FP10 ), build pwa6470sr8fp10-20141219_01'. A version of this SDK is included in the IBM Development Package for Eclipse v4.8.10 package available for download at IBM_DevelopmentPackage_for_Eclipse_Win_X86_64_4.8.10.zip.
- New menu utility for Decision Optimization Center Studio
- JVM with 3 sub menus to generate Java Dump, Heap Dump and System Dump files. These files can be useful for troubleshooting, especially memory usage analysis.
- 'Logging Handlers' and 'Logging Levels' allows you to modify the Logging level of the ODM Studio client dynamically while the application is running. To see, for example, a FINE trace for a module in the console output, set both the Console Handler and the corresponding component's Logging Level to Fine.
- WAS administrator login properties
- The version of JIDE has been upgraded to version 3.6.7.
There is now a new menu utility for ODM Studio in -debug (development) mode:
When running ODM Studio in development mode (started with the option -debug), the Development menu now has the following additional menu sets:
The login properties for the wastim user when deploying on a new profile with installServer have been modified:
When installing the IBM Decision Optimization Center server components on a new WebSphere Application profile using the installServer command, the WAS administrator user id wastim will now be added to the automatic WAS login properties (sas.client.props, soap.client.props and ipc.client.props, ). This allows you to use the wsAdmin commands (including stopServer) without having to enter the wastim credentials manually.
- Client vs Server ODMApp integrity check
- Extensions of User Right and Roles control for ODM Application authorization
When using a Data Server, Decision Optimization Studio now verifies the integrity of the .odmapp file used on the client versus the version deployed on the server. The checksum computed upon deployment and stored in the ODMApp's .odmds deployment descriptor file (based on the contents of the .odmapp file and of its dependent jar files), is now verified during the login of the Decision Optimization Center Studio User. By default, this does not prevent alteration of the .odmapp or dependent files on the client, as long as the value of the archiveChecksum attribute of the <platform> tag in the .odmds file is not modified. This default mode can be used during development, but does not prevent tampering with the client-side files. Additionally, when deploying for production, you can set an additional property VERIFY_CHECKSUM to enforce verification of the checksum on the client, whereby the Decision Optimization Center Studio startup code will compute the .odmapp and dependent files checksum and verify that this value matches the one specified in the <platform> tag. This, plus the previous check, ensures that the files used to run the Decision Optimization Center Studio client have not been tampered with on the client. (See also ilog.odm.datasvc.IloRepositoryProperties.VERIFY_CHECKSUM). The property must be specified in the .odmds file as:
<deploymentSettings ......
<repository ....
<connection>..... </connection>
<managerClass .....
<appSchema .....
<properties>
<property name="VERIFY_CHECKSUM" value="true"/>
</properties>
......
- A new ilog.odm.datasvc.security.IloApplicationPermission has been introduced to support per-ODMApp authorization. This is useful when several ODM applications are deployed on the same IBM Decision Optimization Center Data Server, and access to each ODM application is not granted to all of the J2EE users.
- Extensions to the ilog.odm.security.impl.IloAclContextSecurityManager to assign roles to users:
- Controlling user roles and rights assignments from external directory attributes
This permission is invoked server-side. By default, it is controlled by the .odmacl permission with the application domain and operation execute, for example:
<permissionGroup name="ODMApplicationUser">
<permission>
<domain>application</domain>
<operations>
<operation>execute</operation>
</operations>
</permission>
</permissionGroup>
ODM Applications built with the default odmacl file prior to V3.8.0.2 must be upgraded in order to grant this new permission to users. See the UnitCommitment\deployment_prod.odmacl example for the new section to add.
ilog.odm.security.impl.IloAclContextSecurityManager now implements a new marker interface, ilog.odm.security.IloUserConnectionManager which exposes call back methods that allow you to control the way ODM application roles and rights are assigned to users.
Users are authenticated by the J2EE server which hosts the IDOC Data Server. Then a first authorization filter is applied through the J2EE odmeuser and odmeadmin roles, which will grant access to the Data Server globally, and by default grant undifferentiated access to all of the ODMApps deployed on it.
The default implementation of String ilog.odm.security.IloUserConnectionManager.mapIloUserName(String, boolean) will use the ilog.odm.datasvc.IloRepositoryProperties.AUTOMATIC_USER_MAPPING property to determine if a J2EE user will automatically be mapped as an ODMApp user.
When the property is not false, the default behavior is to always create this mapping using the J2EE login name as the IloUser name. The property can also take the values uppercase, lowercase, capitalize to force the case conversion of the userid. Any other value except false will map as-is.
Then, the default implementation of ilog.odm.security.IloUserConnectionManager.getIloUserRights(IloUser, boolean) will assign rights to the user based on is membership in the J2EE odmeadmin role, in this case it will be granted CANCEL_SOLVE, ADMIN, UNLOCK rights.
Lastly, the default implementation of ilog.odm.security.IloUserConnectionManager.getIloUserRoles(IloUser, boolean, Set<String>) will assign ODMApp roles to the given user. By default the roles are determined by the DEFAULT_USER_ROLES and the DEFAULT_ADMIN_ROLES properties of the securityManager (defined in the odmds file).
The default implementation of IloAclContextSecurityManager can be subclassed in order to base the decision of user roles and rights assignments on external information about the user, by overriding the IloUserConnectionManager interface methods, which are called server-side.
This information can be obtained from, for example, a user repository such as LDAP for example. The LDAP attributes of a given user can be queried from within the implementation of the IloUserConnectionManager interface in the custom subclass of IloAclContextSecurityManager, and used to determine fine-grained differentiated access to the ODMApps deployed on the Decision Optimization Center Data Server.
Problems (APARS) fixed
Was this topic helpful?
Document Information
Modified date:
21 June 2018
UID
swg24039875