O2C Demo: Repository Binding
This page is part of the Order-to-Cash demo. It explains the Repository Binding each Log Event carries, which is the point of the demo: Nodinite builds the Integration, Systems, Services, service relations, and the BPM from logging alone.
Repository Binding Context Options
Each Log Event includes a Repository Binding JSON in the Context section that automatically creates the integration landscape. This mechanism turns raw Log Events into a documented, visualized integration landscape. The context key is ExtendedProperties/1.0#RepositoryBinding; Repository Binding and BPM Binding document every property.
Repository Binding Structure
The structure for each step:
{
"Name": "Standard Transport Contract",
"Service": {
"Name": "INT1337-ServiceCode-Description",
"Direction": "Receive|Send",
"System": {
"Name": "System Name"
},
"Integration": {
"Name": "INT1337 - Order-to-Cash"
},
"ExternalServiceRelations": [
{
"Name": "INT1337-PreviousService",
"Direction": "Send",
"System": {
"Name": "Previous System Name"
}
}
],
"InternalServiceRelations": [
{
"Name": "INT1337-SameStepService",
"Direction": "Receive",
"System": {
"Name": "System Name"
}
}
],
"BPMs": [
{
"Name": "INT1337 - Order-to-Cash Flow",
"ArtifactRenaming": "Step Description",
"Domain": {
"Name": "Domain Name",
"Index": 0
},
"Step": 0,
"ServiceRelations": [
{
"Name": "INT1337-RelatedService",
"ArtifactRenaming": "Related Step Description",
"Direction": "Send",
"Step": 1,
"Label": "To related step",
"ConnectorStyle": 0,
"SourceAttachmentPoint": 3,
"TargetAttachmentPoint": 1,
"System": {
"Name": "Related System Name"
},
"Domain": {
"Name": "Related Domain Name",
"Index": 1
}
}
]
}
]
}
}
Key Concepts
- Service: Defines this step's Service (e.g.,
INT1337-RCV-Order-Incoming,INT1337-ENT-Order-Entry) - System: The System where the Service runs (e.g.,
Portal,ERP,WMS) - Direction:
ReceiveorSend- this demo uses only these two directions, but real-world scenarios may include other directions likeBoth,Unknown, etc. - ExternalServiceRelations: Links to Services in different Systems (cross-system connections). Added for
Receivedirection Services to reference the previousSendService that triggered this step - InternalServiceRelations: Links to Services in the same System (same-system connections). Added for
Senddirection Services to reference the pairedReceiveService in the same step - BPMs: Business Process Model array containing process flow metadata for visualization
- Domain: The business Domain and its index in the process flow (0=Sales, 1=Planning, 2=Logistics, 3=Finance)
- Step: 0-based step number in the process (0 for the first step, 1 for the second, etc.) - displays as 1-based in the UI. Note: Step numbers are always non-negative (0 or positive integers)
- ServiceRelations (BPM): Links to downstream Services, showing process flow arrows in the BPM. Each relation must include:
- Name: The name of the related Service
- Direction: The direction of the related Service (not the current Service). For example, if the current Service is "Receive" and points to a downstream "Send" Service, the Direction field is "Send"
- System: The System where the related Service runs
- Domain: The Domain where the related Service exists
- Step: The step number of the related Service (always 0 or positive)
- ArtifactRenaming: Display name for the related milestone in the BPM matrix
- Label: Text label for the connector arrow
- ConnectorStyle: Arrow style (0=Arrow, 1=DottedArrow, 2=Line, 3=DottedLine, 4=StraightArrow, 5=StraightDottedArrow)
How the Logging Service Processes the Binding
When AllowRepositoryAutomapping is true, the Logging Service:
- Reads the Repository Binding JSON from each Log Event
- Creates or updates the Integration entity
- Creates or updates the Service entity with the proper direction
- Creates or updates the System entity
- Creates the service relations (ServiceRelations) linking steps together based on step dependencies
- Assigns the Domain and step order for BPM visualization with proper connector styling
Important
In production environments, events may arrive out of sequential order due to network latency, system delays, retry logic, or asynchronous processing. The Repository Binding structure includes explicit Step, System, and Domain information in every ServiceRelation, so Nodinite reconstructs the process flow correctly regardless of event arrival order. This demo uses sequential ordering for simplicity, but the structure handles non-sequential scenarios.
| Approach | Result |
|---|---|
| ❌ Without Repository Binding | You must create all Systems, Services, and relations manually in the Web Client |
| ✅ With Repository Binding | Nodinite builds the landscape automatically from logging |
Next Steps
- Integration Landscape - The Systems, Services, and relations the binding creates
- BPM Expected Layout - The BPM the binding creates
- O2C Demo: Data Generation - Generate the events and see it happen