Example for Event Publishing
The following is an example using a public business object implementation X and a protected business object implementation Y. Note that multiple protected implementations can exist; they will be handled in the same way.
The following picture explains how the subscription is handled.

The following picture explains how the event publishing works based on the subscriptions shown above. The following flows are included in the figure:
- A: Publisher for standard events. For standard events (in this case, create) a publisher is running for Y. This service uses the Show() and PublishEvent() methods from Y.
- B: PublishEvent from the application on Y.
- C: ShowAndPublishEvent from the application on Y.
- D: PublishEvent from the application on X.
Note that the ShowAndPublishEvent() can be done only for Y. It is unavailable for X, because X itself does not have an implementation (mapping to tables).

The solution works because for specific events from ShowAndPublishEvent() and standard events from the publisher, no filtering and selection is done in X. The event is simply published, because the filtering and selection are already done and the destination is already determined. For Y, the postfiltering is unused. Instead the filter and selection from the subscription are included in the Show request as used by the Publisher and the ShowAndPublishEvent implementation