Content-Based-Routing Routing Scenario
In this example of a content-based routing routing scenario, your organization receives a document from a Partner.
Depending on the size of a property in that document we want to either send that document to an endpoint DataBig or an endpoint DataSmall.
Background Reading
- Actors, Relationships and Artifacts
-
Introduces foundational PortX terminology.
- Transaction-Processing Framework
-
Explains how PortX works.
Actors
In this scenario, there are three Actors:
-
Partner A (configured as PartA)
-
YourCompany B2B
-
Any
Relationships
There are two Relationships in this scenario:
Relationship | Description | Contains |
---|---|---|
YourCompany B2B : Any |
Universal relationship between your company any partner |
Contains Artifacts used across all partners with whom you do business |
YourCompany B2B : PartA |
Your organization’s relationship with the partner with whom you are doing business (in this case, PartA) |
Contains Artifacts used only with Partner PartA |
Artifacts
This section identifies:
-
Artifacts that must be configured in order for the document in this scenario to be routed (that is, not rejected)
-
The Relationship (either YourCompany B2B : Any or YourCompany B2B : PartA) in which the artifacts are configured
Artifact | Artifact Name | Description | Configured on page |
---|---|---|---|
X |
Document Type you use internally in your company |
||
Y |
Document Type you expect to receive from a partner |
||
Y-to-X |
Transforms a document of Document Type Y to a document of Document Type X |
||
DATASmall |
Endpoint that points to your internal database for Small type |
||
DATABig |
Endpoint that points to your internal database for Big type |
||
X-to-DATASmall |
Channel that sends a document of the internal Document Type X to Endpoint DATASmall |
||
X-to-DATABig |
Channel that sends a document of the internal Document Type X to Endpoint DATABig |
Artifact | Artifact Name | Description | Configured on page |
---|---|---|---|
RecFromA |
Endpoint on which you expect to receive documents from PartnerA. |
||
Transaction DocY-to-DocX-to-DataSmall |
Combination of the Source Channel DocY-to-DocX and the Target Channel DocX-to-DataSmall. It includes a filter that evaluates whether a propertyA is less Than 10. If a Document Type DocY matches this filter then it will be a transaction that receives DocY, maps it to and then sends it to the database DATASmall. This transaction has the From Partner set to PartA and the To Partner set to YourCompanyB2B. |
||
DocY-to-DocX-to-DataBig |
This transaction is the combination of the Source Channel DocY-to-DocX and the Target Channel DocX-to-DataBig. It includes a filter that evaluates whether a propertyA is greater than or equal to 10. If a Document Type DocY matches this filter then it will be a transaction that receives DocY, maps it to and then sends it to the database DATABig. This transaction has the From Partner set to PartA and the To Partner set to YourCompanyB2B. |
Outcomes
PartnerA sends DocY to Endpoint RecFromA. with PropertyA = 5
PortX:
-
Receives DocY
-
Attempts to resolve routes
-
Finds two Transactions DocY-to-DocX-to-DataSmall and DocY-to-DocX-to-DataBig
-
Evaluates Filters
-
Checks PropertyA for Value
-
Finds PropertyA < 10
-
Executes that transaction, which maps the transaction to Document X
-
Sends Document X to Endpoint DATASmall.
-
-
PartA sends Document Y to Endpoint RecFromA. with PropertyA = 12
Integration Manager:
-
Receives DocY
-
Attempts to resolve routes
-
Finds two Transactions DocY-to-DocX-to-DataSmall and DocY-to-DocX-to-DataBig
-
Evaluates Filters
-
Checks PropertyA for Value
-
Finds PropertyA > 10
-
-
Executes that transaction, which maps the transaction to DocX
-
Sends DocX to Endpoint DATABig.
PartA sends DocY to Endpoint RecFromA. with PropertyA = 10
Integration Manager:
-
Receives Document Q
-
Attempts to resolve routes
-
Finds two Transactions DocY-to-DocX-to-DATASmall and DocY-to-DocX-to-DATABig
-
Evaluates Filters
-
Checks PropertyA for Value
-
Finds PropertyA = 10
-
-
Executes that transaction, which maps the transaction to Document X
-
Sends Document X to Endpoint DATABig.