Is Broker is necessary?

I need to know if the Broker is necessary in either or both of the following scenarios.

1.
I am running IS in a cluster environment and the ‘optimize locally’ is enabled for the process model. Since the steps will run on local IS when optimize locally is enabled, the document is not published to the broker. The process model doe not publish document to the broker in any of its services in the steps.

2.
Trading network is used for the B2B transactions is a IS cluster environment. There are no process models. Is broker necessary in this scenario?

Thank you

  1. No.

  2. No.

Post again if you need additional information.

Does PE (Process Engine) use broker for any other purpose if ‘optimize locally’ is enabled?

here is the extract from the wm document

If you have distributed processes, all Integration Servers that run steps in those processes are connected to a webMethods Broker. The Broker is the communication link for all of the Process Engines on the connected Integration Servers. The group of Process Engines running on the Integration Servers connected to a single Broker is defined as a Process Engine cluster.

Thanks

If you have the Process Models distributed in different IS, then Broker is necessary to connect those.

Example:

Process in one IS calls a subprocess which is residing in different IS

[STRIKE]Not to my knowledge. Someone else please chime in if I’m incorrect.[/STRIKE]
I forgot about the scenario that Kumar mentions. Even with Optimize locally enabled, I believe a step transition will be published if the logical servers of the adjacent steps differ.

Do you have a Broker in place?

Optimize locally being enabled will prevent a step transition from being published [edit: when adjacent steps use the same logical server]. But if if optimize locally isn’t enabled and you don’t have a Broker defined in the IS, things will still work. This is because IS will publish locally. As far as PE is concerned, the step transition went out to the Broker and came back–even though it didn’t.

Do you have a need for a “distributed process?” [edit: Have you defined processes with steps that have differing logical servers?]

Thank you raemon. There is no need for the ‘distributed process’. The process model was developed on a non cluster IS and tested. Now it will be deployed into a cluster environment. In fact I want all the steps in the process model run on the local IS. I tested this by creating a cluster environment without a broker. Scheduled a test process model to run every 5 sec. The model ran on each server (cluster enabled sheduled service publishes a document to kickoff the model). Does this mean I do not need a broker in the cluster environment if I enable the optimize locally setting? Am I missing anything here?

The optimize locally setting really only matters if you have a Broker in place. Otherwise, it is effectively meaningless.

The optimize locally setting can be on or off with or without the Broker. Optimize locally says “don’t use the Broker–if one is present–and the adjacent steps indicate the same logical server.” If a Broker isn’t present, it doesn’t matter what the setting is.

I’m not 100% sure how the internals work, but if no Broker is defined to IS and optimize locally is off, it will still work. That’s because publishes will be handled by IS completely and PE will function correctly. Now PE may optimize itself by noticing that no Broker is defined and therefore do direct service invokes instead of publishing step transitions but that shouldn’t matter either way–the key is the process still continues to proceed.

If optimize locally is on, then you know for sure that direct invokes are happening instead of local publishes. This may be a minor efficiency improvement but probably doesn’t matter.

Hope this helps.

I am trying to develop a sample distributed process running on two different IS.Has three steps out of which step1 and step are executing on IS1 and step3 on IS2.

when running the process the process is getting started but the step3 is not getting executed.In fact the IS1 is not able to call the step3 on IS2.

Getting following exceptio in server.log
Access denied for user Administrator on port 5555 -> ‘wm-message’ from 127.0.0.1.

The following are configurations I have defined specific to for distributed model
->IS1 and IS2 connected to single broker
-> created PE_NONTRANSACTIONAL_ALIAS with Connection Using NATIVE WEBMETHODS API and clientid as PEID on IS1 and PE on IS2

Can you please point out whats the wrong I am doing or It would be a great help if someone list out the configuration steps required to build a distributed process model.