Top Menu

Jump to content
Home
    Modules
      • Projects
      • Activity
      • Work packages
      • Gantt charts
      • News
    • Getting started
    • Introduction video
      Welcome to Wiki
      Get a quick overview of project management and team collaboration with OpenProject. You can restart this video from the help menu.

    • Help and support
    • Upgrade to Enterprise edition
    • User guides
    • Videos
    • Shortcuts
    • Community forum
    • Enterprise support

    • Additional resources
    • Data privacy and security policy
    • Digital accessibility (DE)
    • OpenProject website
    • Security alerts / Newsletter
    • OpenProject blog
    • Release notes
    • Report a bug
    • Development roadmap
    • Add and edit translations
    • API documentation
  • Sign in
      Forgot your password?

Side Menu

  • Overview
  • Repository
  • Wiki
    Wiki

Content

You are here:
  1. Wiki
  2. Software Architecture Document
  3. 03 - System Scope and Context

03 - System Scope and Context

  • More
    • Print
    • Table of contents

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 listens on commands and requests from other services

common-tu-commands-queue

RabbitMQ Queue

A queue bound to the own exchange to receive incoming commands or requests

Loading...