Model

The way to model this in the Integration LN Studio is as follows:

  • Use a single BID. Create a public BII for that BID. In fact, the ‘main’ BII for a BID does not need to be public; it can also be protected. If the main BII is a protected implementation, then the BII name must match the BID name. Anyhow, there will always be only one main BII for a BID, having zero to many alternative BIIs. Create an additional protected (or private) BII for the same BID. Whether a BII is public is modeled using the ‘visibility’ property on the BII.
  • For those methods that need a different component or attribute mapping, use the protected BII. Implement the methods in that BII.
  • In the public BII, create a method implementation for each method. Part of the methods can be implemented directly in the same BII. For example by creating on execute hook for specific methods or by using a default implementation for standard methods. For the methods that are implemented in the protected BII, the public BII will have a method implementation that simply refers to the protected BII. This is done using the alternativeBusinessInterfaceImplementation property on the MethodImplementation.

The public BII must contain method implementations for each method that is supported; the protected BII only needs to implement the methods that are needed there. However, it is not forbidden to create additional protected methods in that BII.

For example:

BID Methods Public BII Method Implementation Protected BII Method Implementation
Create Create -> referring to alternative implementation in protected BII Create
Change Create -> referring to alternative implementation in protected BII Change
Delete Create -> referring to alternative implementation in protected BII Delete
List List, standard implementation (not implemented)
Show Show, standard implementation (not implemented)
DoSomething DoSomething, on execute hook (not implemented)

Basically no restriction exist as to which methods are implemented in which BII (except for the constraints as listed below). You can also choose to implement the List and Show in the protected BII and refer to those implementations from the public BII, and implement the other methods in the public BII.

Additionally, you can create multiple alternative BIIs for a single BID.