====== Integration Broker Overview and Tuning ====== ==== Internal Processes: ==== PSBRKDSP – Message Broker Dispatcher PSBRKHND – Message Broker Handler PSPUBDSP – Publication Contract Dispatcher PSPUBHND – Publication Contract Handler PSSUBDSP – Subscription Contract Dispatcher PSSUBHND – Subscription Contract Handler ===== Dispatchers ===== * Determine the queue order of messages and send them to handlers. * Uses Tuxedo queueing. * Queued Tuxedo requests is a key indicator of how you should configure your dispatchers and handlers. * Sends Tuxedo requests to Handlers ===== Handlers ===== * Handlers process the Tuxedo Request(s) from the dispatcher * The more handlers you have, the more concurrent processing you can have * More handlers means more system resources. * Depending on the type of handler (CI vs. simple notification) * For CI: it might be better to have fewer handlers (3-5) because of the processing overhead * For simple notifications more handlers would be better ===== Broker Processes ===== Broker Processes route messages to the subscription and publication queues. ==== PSBRKDSP ==== * Uses the table PSAPMSGPUBHDR * Builds in-memory Tuxedo Queues * If sitting idle longer than "scan interval rate" it will recheck the queues/table for new messages * //If the actual PeopleCode Publish from a PSAPPSRV is not in the same domain as these pub/sub servers, a Tuxedo request will not get queued for this dispatcher. On-Idle processing is the only way to pick up this published message. Therefore, if you configure these pub/sub servers as stand-alone (i.e. on a different machine then where the PIA domains are configured), you should set the scan interval to 1 in order to pick up these requests as soon as possible// ==== PSBRKHND ==== * Determines the appropriate routing * Executes the OnRouteSend() and OnRouteReceive() PeopleCode Events * //Performs Inbound Transformations// * Updates PUB or SUB Contract Queues * //Routings and OnRoute*() events are usually lightweight so if physical resources are a problem you can safely reduce the number of these processes without impacting performance// ===== Publication Contractors ===== Publication contractors take the information submitted by the Message Broker processes and perform an HTTP post of the message to the Integration Broker Gateway (PSIGW) servlet. ==== PSPUBDSP ==== * Uses the table PSAPMSGPUBCON * Builds in-memory Tuxedo Queues * If sitting idle longer than "scan interval rate" it will recheck the queues/table for new messages * Will attempt to ping nodes that have messages in "RETRY" status by looking up PSNODESDOWN ==== PSPUBHND ==== * Performs the actual HTTP request to the Integration Broker Gateway * Executes OnSend() OnAckReceive() PeopleCode Events * //Executes Outbound Transformations// * //The handler will wait for a response from the IB Gateway before it will continue processing. This could be up to 3 minutes based on the HTTP timeout configuration setting// ===== Subscription Contractors ===== Subscription contractors are reactive. They process integration broker notification events ==== PSSUBDSP ==== * Uses the table PSAPMSGPUBCON * Builds in-memory Tuxedo Queues * If sitting idle longer than "scan interval rate" it will recheck the queues/table for new messages ==== PSSUBHND ==== * Runs handler PeopleCode