Business Events: A business event is a custom event that is raised by the AL code. It defines a formal contract that carries an implicit promise not to change in future releases. It is the expectation that business events are published by solution ISVs, including Microsoft.
Integration Event: An integration event is also a custom event that is raised by AL code, like a business event, except that it does not carry the same promise of not changing, nor does it have the restriction not to expose implementation details. The main purpose of integration events is to enable the integration of other solutions with Dynamics 365 Business Central without having to perform traditional code modifications.
In simple words, a Business Event is a promise made to the outer world that it will not be changed.
If you have defined below two events in an earlier release of your extension and after a few releases you realize you must change the definition of the event or completely want to remove the event.
Then don’t you have an option to change this event? The simple answer is NO.
You should never change the current event signature or remove the published events from your extension.
BUT if you really want to change it then you should select a path that will not cause issues immediately to the other dependant extensions. Microsoft has introduced a way to handle these type of changes.
You can obsolete your current business event and create a new business event with a new signature (MyBusinessEvent01).
Extension B will get a warning like below and this gives enough time for the developer of the Extension B to switch the subscriber to new implementation.
You can give enough time for the other partners and also update your release documents with the breaking changes before you permanently remove the initial implementation of the event.
Please provide your feedback with a comment.
Thank you and Regards,
Tharanga Chandrasekara