Sterling OMS Creating Integration Server

By | 02/24/2018

Sterling OMS Creating Integration Server

In this post we are going to learn about Sterling OMS integration server. How to create Sterling Integration Server ? and what is the use of integration server.

Integration Server

You can read below post to get more information on agent vs integration servers.

Agent Server vs Integration Server

Sterling OMS Creating Integration Server

Integration Server : Any service created as asynchronous service using SFD (Service Definition Framework) can be called as integration server. Has good error handling mechanism (Reprocess Option).

  • Mainly used for reading message from queue (posted by external system or Middleware) and perform any particular process (Order Creation / Item Creation).
  • Integration Server processes message instantly as soon as message received into queue.
  • Can be configured with multiple thread
  • Can be configured with multiple instance

Example:

  • OrderCreationServer – Read message from queue and calls createOrder API
  • ProductCreationServer  – Read message from queue and calls manageItem API to create item

Steps Involved

DropCreateOrderMsg_Sync_Service

  • Create new asynchronous service to consume message from Queue

ReadOrderFromQueue_Async_Runtime

Sterling OMS Creating Integration Server

ReadOrderFromQueue_Async_Reconnect

ReadOrderFromQueue_Async_Exception Reference

Save the service configuration

<?xml version="1.0" encoding="UTF-8"?>
<Order EnterpriseCode="Matrix-R" ShipToID="" ShipNode="Matrix_WH1" OrderName="Demo2018012801" PriorityCode="" BillToID="" FreightTerms="3rd Party" SellerOrganizationCode="Matrix-R" DocumentType="0001" BuyerOrganizationCode="" CustomerPONo="J0380257" ReceivingNode="" EnteredBy="EDI" ApplyDefaultTemplate="Y" CustCustPONo="J0380257">
<PersonInfoShipTo ZipCode="71303" City="Alexandria" DayFaxNo="" State="LA" EMailID="NA" Country="US" Company="SYSTEMS" DayPhone="999-999-0100" AddressLine6="" AddressLine1="Address1" AddressLine4="" AddressLine3="" AddressLine2="" AddressLine5="" FirstName="TECH" MiddleName="" LastName="" EveningPhone="" EveningFaxNo="" OtherPhone="" Beeper="" JobTitle="" MobilePhone="" />
<PersonInfoBillTo ZipCode="63045" City="Earth City" Department="" DayFaxNo="" State="MO" EMailID="" Country="US" Company="Company Name" DayPhone="999-999-999" AddressLine6="" AddressLine1="Address1" AddressLine4="" AddressLine3="" AddressLine2="" AddressLine5="" FirstName="First" MiddleName="" LastName="LastName" JobTitle="" EveningPhone="" EveningFaxNo="" OtherPhone="999-999-999" Beeper="" MobilePhone="" />
<OrderLines>
<OrderLine OrderedQty="1.0" ShipNode="Matrix_WH1" PrimeLineNo="1" ShipToID="">
<Item ItemID="100001" ItemDesc="Item Description" ProductClass="Good" />
<OrderLineTranQuantity TransactionalUOM="EACH" />
</OrderLine>
</OrderLines>
</Order>
  • View Message in queue by login into Weblogic Queue Console

OMS View Message in Queue

  • Start the integration server by running command (From OMS bin folder) startIntegrationServer.cmd CreateOrderServer
  • You can see message from queue been consumed and createOrder API been called by integration server
  • If any error during this process, you can see entry been made to YFS_INBOX and YFS_REPROCESS_ERROR table for reprocessing.

Sterling OMS Interview Questions on Integration Server

  1. What will happen when integration server configured with thread count 3 ? Answer : 3 instance of thread will be created and connected with queue. So queue will have consumer count as 3
  2. What will happen when integration server configured with thread count 3 and instance 3 ?  Answer : 3*3 number of thread will be created and connected with queue. So queue will have consumer count as 9
  3. How to find all the integration servers ? Answer : select server_name, transport_type_key from yfs_server where server_type=’00’;
  4. How to find associated transactions to given agent server ?
    Answer : select distinct yt.TRANNAME,yt.PROCESS_TYPE_KEY from YFS_AGENT_CRITERIA yac, yfs_server ys, yfs_transaction yt
    where
    ys.server_key=yac.server_key and
    ys.SERVER_NAME=’SearchAgent’ and
    yt.TRANSACTION_KEY = yac.TRANSACTION_KEY and
    ys.server_type=’01’; — agent server
  5. How to find associated service names to given integration server ?
    Answer : select yf.flow_name, yf.FLOW_GROUP_NAME from yfs_flow yf, yfs_sub_flow ysf, yfs_server ys
    where
    ys.server_key=ysf.server_key and
    yf.flow_key = ysf.flow_key and
    ys.SERVER_NAME=’CreateOrderServer’ and –server name
    ys.server_type=’00’; –integration server
  6. How to reprocess when exception occurs while processing message using integration server ? Answer : Reprocess checkbox should be selected under Exception tab while configuring Async Service configuration
  7. How to find recent reprocessable error message using query ? Answer : select * from yfs_inbox where error_type=’REPROCESS’ and active_flag=’Y’ order by 1 desc
  8.  How YFS_REPROCCESS_ERROR and YFS_INBOX tables connected ? what is the relationship between these 2 tables ? Answer : select * from yfs_reprocess_error where exceptionid in (select inbox_key from yfs_inbox where error_type=’REPROCESS’ and active_flag=’Y’) order by 1 desc
  9. How to manually reprocess error from screen ? Answer : From menu option System — Exception Console; Search for the error edit the XML as required and perform reprocess
  10. What are all the different status associated to reprocessing error ? Answer : When error created, initial status will be Initial and when reprocess option clicked status changed to PendingReprocess and once fixed changed to Status Fixed
  11. Can reprocess these integration errors using standard API ? Answer : We can reprocess using reprocessIntegrationError API

Conclusion : This post helps to understand integration server in Sterling OMS. Please share your feedback at support@activekite.com OR comment in the post.

To get more OMS related updates register with us

Connect with us in Linked-in

Sterling OMS Interview Questions

6 thoughts on “Sterling OMS Creating Integration Server

  1. kaviarasu

    The content is simple and crystal clear for understanding. Thank you!

    Reply
    1. admin Post author

      kavi, thanks for nice comment. pls share feedback to improve better. thanks again.

      Reply
  2. Pingback: Sterling OMS Creating Weblogic Queue - Learn IBM Sterling Order Management System

  3. Shubham

    how does a reprocessing an exception actually happens?
    Say, there is an exception raised, we have modified the service, now when we reprocess it from console, how is the integ server is getting triggered? is the message posted back in the queue? how? if not, how is reprocessing working?

    Reply
    1. admin Post author

      Shubham,

      Thanks for the question. Every time an integration server started, a java timer thread started. This timer process queries yfs_reprocess_error table with flow_name.

      here flow_name is service name (Integration Server). If any message found with status “Pending for reprocess” takes it and process directly using this service. we are not 100% sure if the message is processed by dropping into queue. We will validate and confirm.

      If the service name changed, old record in yfs_reprocess_error will not be picked by the timer process. Hope this helps !!!

      Reply
  4. Tony

    Admin,
    Shubham is asking about to whether We can able to process or not the old mesg.,, after changing the Service .

    Just to re-process that Old mesg., we have another way we can acheve.
    In this case, We need to take the old mesg., keep it on Desktop and once we change the Service we need to call this IntegServer (by Sync) through API tester.. we can able to process.. If that old mesg., is valid as per the new Service then it will get process
    …But through re-process..we need to test . Thanks

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *