Sometimes service models can become really big if you put all implementations into one big main model. The drawbacks are obvious: the bigger the model becomes, the longer it will take to load or compile the model. Additionally, if multiple modelers are working on the service, the Designer may slow down.
One solution is to use Libraries in this case (the other one is to build multiple smaller services). Using libraries, you can split your service implementation into smaller chunks that can be worked on independently. These chunks can be be reused in multiple services and tested separately.
The following figure shows how two services share the same library that also has been developed with the Designer.
The important thing is that for using a library you only need the compiled library repository. This repository can be imported into a Designer service like any other supported meta-data (e.g. OpenAPI definitions). Importing the library repository creates model elements that can be used to invoke operations without exposing their implementation.
Click the icon to download a simple example model that uses the CustomerAddress_Lib library.
Click the icon to download a simple example library that implements a simple address handling.