Enabling Sterling Order Management System Software to connect to Order Service
When integration is enabled, orders that are created or updated from the application server and all agent or integration servers are saved and indexed in Order Search. When you purge orders in Sterling Order Management System Software, it updates the corresponding documents in Order Search with the order history information. When you archive orders, the entire order details are archived in Archive Service and erased from Sterling Order Management System Software.
The built-in integration with Order Service becomes a critical subsystem in Sterling Order Management System Software when the indexing, search, and archive capabilities are enabled in Sterling Order Management System Software. In essence, this integration brings Order Service to an integral part of Sterling Order Management System Software when the indexing, search, and archive capabilities are enabled. To enforce this, the integration logic checks at the time of initializing Sterling Order Management System Software whether it can communicate to Order Service and fails the deployment, if it could not. As Order Service is an integral part of Sterling Order Management System Software when indexing, search, and archive capabilities are enabled, a failure to connect to Order Service is an erroneous state of things and throwing the exception is to prevent any Sterling Order Management System Software deployment in such a situation.
The enabling of the built-in integration with Order Service is in fact assigning right values to the properties explained in this topic. If you configure values incorrectly that are no longer valid, it results in the failure of built-in integration and the entire Sterling Order Management System Software deployments. If such failures occur, Sterling Order Management System Software can be recovered only after correcting the values of these properties. Besides this, you must ensure that your configurations and preferences on the archive and indexing behavior are set appropriately based on your business needs and are valid too. This is because, when integration is enabled all your preferences and configurations also invoke automatically. So, you must show at most care and prudence on enabling the built-in integration with Order Service.
- 1. Setting up built-in integration properties
- The following set of properties are mandatory to enable the built-in integration of Sterling Order Management System Software with Order Service. if you are using Sterling OMS Operator
to setup your OMS integrated environment with Order Service, the operator scripts
assign the following properties with the values given below for you:
Elasticsearch properties Value Description yfs.elasticsearch.client.typeSSIClientSSIClientconnects to the Order Search service that deploys Elasticsearch internally.yfs.validation.fail.behaviourwarnUse this property to configure the behavior when an attempt to connect to Order Service fails at startup. Setting value warnlogs an error and continues. whereas the valuefailaborts the OMServer deployment.YFS properties Value Description yfs.ssi.delete.from.index.on.entity.purgefalseThe Elasticsearch, implemented in Order Search Service, maintains multiple indices for past durations and capable to put data in the approximate index. Besides, Order Service acts as the single search repository for all Sterling Order Management System Software orders and hence, you must set this property to falseif you want to use Order Service implementation for search.yfs.ssi.disabled.entitiesShipment The indexing capabilities in Order Service does not support the indexing of shipment entity. If you are using SSIClient, override this property and setShipmentto avoid any possible attempts to index shipments from Sterling Order Management System Software.yfs.ssi.entities.perform.custom.indexingNILThis is a comma-separated list of XMLNameof the entities for which only the business-layer indexing is applied. The order entity has a default implementation to submit indexing from its business logic. For most of the searchable and index able fields in an order entity, this should be sufficient. However, if the order status and some non-searchable fields of an order are included in the index (to use the index content as an outline view of an order), then a database operational level propagation is also needed. That is because Sterling Order Management System Software has business APIs which do direct update of order entity instead of calling the update via the mentioned business logic. Set this property toNILto use database-level propagation for order entity.Note: Setting toNILincreases the number of indexing attempts between Sterling Order Management System Software and Order Service though it helps surface only the latest state of order.yfs.ssi.index.draft.ordersfalseMost of the orders reaching Sterling Order Management System Software from e-Commerce system are confirmed orders. Hence, Order Service does not want to support indexing of the Draft orders. Therefore, set this property to falseif you want to use Order Service implementation for search.yfs.ssi.transform.wrap.child.entities.in.listfalseOrder Service expects every list XML node and its children XML nodes in the order index XML document to a JSON array format with the child node contents against the child node name. If you are using the Order Service implementation, you must set this property to falseso that the XML is transformed to JSON specification expected by Order Service.
- 2. Setting up JWT token generation
- Authentication is always enabled in Order Service. All incoming requests in
Order Service are authenticated with the help of a signed JWT (JWS). To
authenticate the incoming request, Order Service uses the JWT token that is
generated by Sterling Order Management System Software. To set up the JWT token generation, configure the
following yfs properties in Sterling Order Management System Software.
Property Default value Description yfs.jwt.create.issueromsSpecify the issuer name when creating a JWT token for a current user. yfs.jwt.create.audienceserviceSpecify to whom you intend to send the JWT token. yfs.jwt.create.algorithmRS256Specify the algorithm that is used for signing the JWT token. yfs.jwt.create.expiration5 minutes Specify the expiration time in minutes for the JWT token. yfs.jwt.create.pk.aliasThis alias corresponds to the Java keystore, which is used to save a private key. The corresponding public key is configured in Order Service. For more information about adding certificate and keys, see the Readme file.
Attention: If you specify inappropriate values or alter the default values it can lead to failure of token generation and fails the entire Sterling Order Management System Software deployments.
- 3. Setting up the Order Service deployment URL
- Specify the URL to connect to Order Service to the
osi.order.service.urlyfs property. If you do not specify any value or assign an unreachable URL, the entire Sterling Order Management System Software deployments will fail.
- 4. Enabling archive of Order entity
- To enable Archive Service integration, set
osi.archive.enabledyfs property toY.
- 5. Enabling Sterling Search Index feature
- a. To enable Sterling Search Index feature, set the
yfs.ssi.enabledyfs property toY. This will enable order entity for indexing.
manageProperty.sh script to correct the property values. This is because, a
property cannot be modified through System Management Administrator in case of Sterling Order Management System Software deployment failures.