Content
3.1. Business Context
The Common Service is a central service used by many other services of the Transport Management (TMS) domain and the Warehouse Management (WMS) domain. It does not depend or use other OpenWMS.org services, hence it can be seen as one of the essential base services of each system.
Name | Responsibility |
---|---|
Common Service | Base service of the COMMON domain responsible to manage TransportUnits , Locations and LocationGroups . Functionality if offered as a REST API over HTTP and an asynchronous command API |
User Interface | An user interface, ie. for operators, may interact with the Common Service |
Transport Management Services | All services of the automatic and manual transport management may access the Common Service directly |
Warehouse Management Services | All services of the warehouse management domain may interact with the Common Service directly |
Exposed resources to API clients
Name | Responsibility |
---|---|
Location | A Location , represents a physical or virtual place in a warehouse. Could be something like a storage location in the stock or a conveyor location. Even error locations can be represented with the Location . Multiple Locations with same characteristics are grouped to a LocationGroup
|
LocationType | A LocationType is the type of Locations with same characteristics |
LocationGroup | A LocationGroup is a logical group of Locations with same characteristics |
Target | A Target is either a physical or a logical endpoint of any kind of warehouse order. A TransportOrder has a Target assigned where it has to be moved to |
Account | An Account encapsulates identifying information about the actual cost center |
TransportUnit | A TransportUnit is an item like a box, a toad, a bin or a pallet that is moved within a warehouse and can carry goods. It can be moved between `Location`s |
TransportUnitType | A TransportUnitType is a type of a certain TransportUnit . Typically to store characteristic attributes of TransportUnits , such as the length, the height, or the weight of TransportUnits
|
TypeStackingRule | A TypeStackingRule is a Rule that defines what TransportUnitType can be stacked on other types |
TypePlacingRule | A TypePlacingRule is a Rule that defines what types of TransportUnits can be put on what type of Location
|
3.2. Technical Context
The Technical Context illustrates interfaces (channels and transmission media) linking the system to its environment. In addition a mapping of domain specific input/output to the channels, i.e. an explanation with I/O uses which channel.
The Common Service exposes several resources over HTTP REST. The current available and detailed interface description can be found here. In addition the service sends event notifications out to surrounding services about master data changes and actions that occur within the service.
It offers an asynchronous API to trigger actions via commands from the outer world.
Name | Type | Responsibility |
---|---|---|
REST API | Synchronous API over HTTP | API to retrieve data from and to trigger actions on the Common domain objects |
common.lg | RabbitMQ Exchange | Outgoing exchange to send events according to changes on Locations and LocationGroups
|
common.tu | RabbitMQ Exchange | Outgoing exchange to send events according to changes on TransportUnits and TransportUnitTypes
|
common.tu.commands | RabbitMQ Exchange | An exchange where the Common Service sends out commands and requests to other services |
common-tu-commands-queue | RabbitMQ Queue | A queue bound to the own exchange to receive incoming commands or responses to sent out requests |