6 Process Integration for Transportation Orders

This chapter provides an overview of the process integration for transportation orders and discusses business process flows, assumptions and constraints, Siebel Customer Relationship Management (Siebel CRM) and Oracle Transportation Management (OTM) interfaces, core Oracle Application Integration Architecture (Oracle AIA) components, and integration services.

This chapter includes the following sections:

6.1 Overview

In the transportation order management solution, transportation orders are created in Siebel CRM application and executed in the OTM application. New or revised orders are synchronized in one direction from Siebel CRM to OTM. Whenever a new transportation order is submitted in Siebel CRM, a real time synchronization flow is initiated to publish it to Oracle AIA. Oracle AIA creates a corresponding order release, and sell shipment in OTM.

6.2 Business Process Flows

The process integration for order supports these integration flows:

  • Creating an order

  • Revising an order (including cancellation)

Each Siebel CRM transportation order includes these components:

  • Customers involved: liable, tendering, and invoice to party.

  • Locations: The source and destination locations.

  • Date-Time: The starting and ending date-time for pickup and delivery.

  • Stops: The intermediate stops (with their locations) besides the source and destination.

  • Order Line Items: These four types of products can be associated to order lines:

    • Commodities: These are the goods being shipped. No price is associated to commodity line items.

    • Transportation: The price for the transportation service.

    • Accessorial: Any additional equipment that would be required to fulfill the order, for example, a forklift.

    • Special Services: Any additional services to fulfill the order, for example, hand unload.

  • Actions: These are special services to be performed at any stop. These could be associated to a commodity as well.

The prices of the transportation, accessorial, and special service lines are retrieved from OTM through the order itinerary/rating integration as described in Chapter 5, "Process Integration for Query Transportation Order Itinerary".

Corresponding to a transportation order in Siebel CRM, the Oracle AIA synchronization process creates an order release and a sell shipment in OTM.

The major components of order release synchronized to OTM are:

  • Involved Parties: The tendering/liable/invoice-to parties from Siebel order are referenced as involved parties on the OTM release header.

  • Locations: The source and destination locations are on order release header. The intermediate stops are mapped to OrStop component of release.

  • Date-Time: The pickup and delivery time specified are mapped to timeline in release on the header and the stops.

  • Release Lines and ShipUnits: For each Siebel CRM order line with a commodity, a corresponding order release line, and release ship unit are created. For the commodity product in Siebel CRM order line, a packaged item is specified in release line, and a commodity on the release ship unit.

    If any order line commodity is of type Hazardous or High Value, then a special service is also created for it in the release header.

  • Special Services: Corresponding to the actions captured in Siebel CRM transportation order, the special services for the origin and destination stops are created in the release header, whereas for the intermediate stops, the special services are created in the release OrStop element.

    In addition, if the commodity order line in Siebel CRM has Actions associated to it, then special service is created for the corresponding release ship unit in OTM.

The major components of sell shipment synchronization to OTM are:

  • Involved Parties: The tendering/liable/invoice-to parties in Siebel CRM order are referenced as involved parties on the OTM sell shipment.

  • Shipment Costs: The accepted prices for the transportation, accessorial and special service order lines are synchronized to shipment costs.

  • Shipment ShipUnits: For each Siebel CRM order line specifying a commodity, a corresponding shipment ShipUnit is created in OTM. For the commodity product in Siebel CRM order line, a packaged item is specified in the shipment ShipUnit.

  • Shipment Stops: A shipment stop is created for every stop specified in Siebel CRM order.

Figure 6-1 shows the order process integration:

Figure 6-1 Order Process Integration Flow

Description of Figure 6-1 follows
Description of "Figure 6-1 Order Process Integration Flow"

This diagram shows that the Siebel CRM application sends all its order messages in a queue. An Oracle AIA service reads that queue, gets the messages, and further sends the message to requester. Inside the requester service, Siebel application business message (ABM) message is transformed to the SyncTransportationSalesOrderListEBM, and then this service sends that EBM to transportation sales order EBS.

The TransportationSalesOrderEBS routes that SyncTransportationSalesOrderListEBM to OTM provider. Inside the provider, the EBM message is transformed to OTM ABM and that OTM ABM is send to OTM webservice to create or modify the order.

6.2.1 Synchronizing Order Information

Figure 6-2 shows the incremental changes in the account:

Figure 6-2 Synchronizing Order Information Sequence Diagram

Description of Figure 6-2 follows
Description of "Figure 6-2 Synchronizing Order Information Sequence Diagram"

6.3 Assumptions and Constraints

These are the assumptions and constraints:

  • This solution does not support initial loading of existing orders.

  • Orders have a status of accepted (or canceled) when they are submitted. Siebel CRM validates this status before any integration services are invoked.

  • Outbound orders statuses from Siebel CRM are ignored unless canceling the order.

  • This synchronization does not support delete operations for an order. Use the synchronize operation to create and update orders.

  • Order process integration creates order release and sell shipment in OTM, but not the buy shipment.

  • Stop action cross-references cannot be established from the OTM since OTM does not have any equivalent identifier.

  • The customers, locations, and commodity products used in the transportation order must be synchronized before this order synchronization so that this process can inquire in the cross-reference for their existence.

  • This integration does not support manual updates to orders in oracle transportation management.

  • Liable party and the tendering party identifiers derived from Siebel are validated against the cross-references established in the account synchronization.

  • For the liable party address and tendering party address this integration expects Siebel address identifiers (not location identifiers), and looks up the cross-references established during account synchronization.

  • In case any error occurs in the service layer and the order message does not reach target application, the Oracle AIA error handling framework is invoked. You should manually resubmit that transmission that failed for reprocessing.

  • This process integration does not perform any business validation, and thus does not raise errors for business validation failures.

  • OTM receives order name concatenated with GUID as their ID. OTM domain value is derived from business unit mapping in cross-reference. If you want to use your own logic for deriving the domain, you must use the extensible transformation template.

  • The OTM specific columns in cross-references are populated based on the identifiers derived from main transformation to OTM. If you want to pass a different value in the OTM identifier, use the transformation's extensibility to update the cross-reference as well.

  • The configuration property parameter for response message should be set to true while preparing an enterprise business message (EBM) indicating that the EBM wants a response.

  • Siebel CRM can send the messages in different languages; OTM can handle only single language. The OTM installation language is captured in the configuration file. If the incoming Siebel CRM message is of any other language that is recorded in the configuration file then that message is not sent to OTM.

  • The direction of the process is one way from Siebel CRM to OTM.

  • TRANSPORTATIONSALESORDER_ORDERLINEITEMPROPERTY DVM is a seeded DVM for name value pair attributes for transportation product and Commodity. Any alteration to the seeded content causes the transformation to fail; however new records can be added.

6.4 Siebel CRM Interfaces

Use the Order schema for this integration. The interface required for updating the order in Siebel is Siebel order web services definition language (WSDL).

For more information about Siebel CRM web services, navigate to the documentation library for Siebel applications on Oracle Technology Network and see Siebel CRM Web Services Reference.

6.5 OTM Interfaces

The OTM application provides an interface through a webservice to connect to its application. This connectivity is established as a partner link in the provider service. The logistics webservice immediately returns an acknowledgment with a transmission number when called and sends a transmission report back indicating the success or the failure when the process completes.

For more information about the Logistics Service, see Oracle Transportation Management Integration Guide.

6.6 Core Oracle AIA Components

The integration flow uses these components:

  • TransportationSalesOrderEBO

  • SyncTransportationSalesOrderListEBM

The core enterprise business object (EBO) and enterprise business message (EBM) XSD files can be located by EBO within the $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Core/EBO/ parent folder.

The core enterprise business services (EBS) web services definition language (WSDL) files can be located by EBO within the $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseBusinessServiceLibrary/Core/EBO/ parent folder.

For detailed documentation of individual EBOs and EBMs, click AIA Reference Doc link on EBO and EBM detail pages in the Oracle Enterprise Repository.

For more information about using the Oracle Enterprise Repository and configuring it to provide the AIA Reference Doc link, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Configuring and Using Oracle Enterprise Repository as the Oracle AIA SOA Repository."

EBOs can be extended, for instance, to add new data elements. These extensions are protected, and remain intact after a patch or an upgrade.

For more information, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Extensibility for AIA Artifacts".

6.7 Integration Services

This integration delivers these services:

  • AIA Transportation Sales Order Queue

  • TransportationSalesOrderListSiebelConsumer

  • SyncTransportationSalesOrderListSiebelReqABCSImpl

  • TransportationSalesOrderEBS

  • TransportationSalesOrderResponseEBS

  • SyncTransportationSalesOrderListLogisticsProvABCSImpl

6.7.1 AIA Transportation Sales Order Queue

This transportation sales order queue is used to queue Siebel order messages. This is an AQ. This queue can reside any oracle database. For this integration, AIA database is used as the place for this queue. The queue name is AIA_SiebelTransportationSalesOrderJMSQueue.

6.7.2 TransportationSalesOrderListSiebelConsumer

TransportationSalesOrderListSiebelConsumer is the consumer to the queue that is invoked when OTM places a message into the AIA_SiebelTransportationSalesOrderJMSQueue queue. This service routes and invokes SyncTransportationSalesOrderListSiebelReqABCSImpl service.

6.7.3 SyncTransportationSalesOrderListSiebelReqABCSImpl

SyncTransportationSalesOrderListSiebelReqABCSImpl is a BPEL process. This process receives Siebel application business message (ABM) as an input from Siebel system and transforms the message to SyncTransportationSalesOrderListEBM. During this transformation, Siebel ABM is transformed to SyncTransportationSalesOrderListEBM and enterprise business message (EBM) Header and cross-reference tables are populated. This process invokes TransportationSalesOrderEBS with SyncTransportationSalesOrderListEBM as an input. This process then waits for the response back from the TransportationSalesOrderResponseEBS. Based on the response received this service updates the Siebel application indicating whether the order synchronized or failed.

6.7.4 TransportationSalesOrderEBS

TransportationSalesOrderEBS is an Enterprise Business Service. This service is used to route all transportation sales order related actions like CreateTransportationSalesOrder, QueryTransportationSalesOrder, SyncTransportationSalesOrderList, and UpdateTransportationSalesOrder, and so on.

6.7.5 TransportationSalesOrderResponseEBS

TransportationSalesOrderResponseEBS is the Enterprise Business Service. This service is used to route all transportation sales order response actions like CreateTransportationSalesOrderResponse, QueryTransportationSalesOrderResponse, SyncTransportationSalesOrderListResponse, UpdateTransportationSalesOrderResponse, and so on.

6.7.6 SyncTransportationSalesOrderListLogisticsProvABCSImpl

SyncTransportationSalesOrderListLogisticsProvABCSImpl is a BPEL process. This process receives SyncTransportationSalesOrderListEBM as a request from TransportationSalesOrderEBS and returns a response to TransportationSalesOrderResponseEBS. This service transforms the EBM to Oracle Transportation Management (OTM) ABM and invokes the logistics webservice using the OTM ABM. At the end the cross-reference table is updated with OTM data. Then a response message is prepared and sent back to TransportationSalesOrderResponseEBS.