The VDI (Verein Deutscher Ingenieure) publishes in the VDI 3601 Warehouse Management Systems specification, a complete list of requirements to modern WMS software systems including quantity- and location-management as well as transportation management and disposition. These requirement topics are listed below with a short description how it is realised in OpenWMS.org.
Administratives environment
User and authorisation management (VDI3603-5.1)
OpenWMS provides a service that is capable to manage Users, Roles and Permissions. Event client devices that need to authenticate with the system are managed within this service. Entry points into the system are either user interfaces (web/mobile), machinery controllers (PLC/IPC) or 3rd-party software systems that interact via arbitrary interfaces with OpenWMS. All are connected via different channels (Omnichannel) where each channel needs to be protected against unauthorised access. The OpenWMS UAA service and OpenWMS API Gateway service take a central role in here.
Gaps:
Achievement rate:
Permissions is slightly handled differently in OpenWMS here. The permission itself defines the visibility
Access Control Lists (ACL) data security on row level is not implemented and would violate the overall performance of the system. This is handled with authorisation on UI and service access
Multiple languages (VDI3603-5.2)
Supporting i18n and l10n is an essential feature of every user interface application in OpenWMS. The existing COP (web application for administration) and BOB (mobile handheld application for operational purpose) adopt to the authenticated user language. The language setting is either taken from the user agent or can be set individually by the user itself. Expected messages coming from backend services do also take the user language into account. Unexpected messages are translated in the user interface to generic ones.
Gaps:
Achievement rate:
Master data records are not multilingual. For example, if the product description is only stored ones. If this needs to be translated then a translation service on client (UI) side must be used
Locations and LocationGroups aren't aware of particular language settings for printers
Parameters (VDI3603-5.3)
The OpenWMS application landscape provides multiple ways to store application parameters. Technical parameters are usually stored at a central place within the OpenWMS CORE Configuration Service whereas business relevant parameters are stored in the database managed by the OpenWMS CORE Preferences Service. Those parameters have validity ranges (scopes they are valid in). For example a user-scoped parameter is only valid for a single User, whereas an application-scoped parameter is valid for the whole application. Role-scoped and service-scoped parameters exist as well. Parameters changes are immediately propagated into the impacted parts of the system and take effect directly.
Gaps:
Achievement rate:
no gaps
Ergonomics (VDI3603-5.4)
Business processes as well as administrative processes require comprehensive user interfaces on suitable devices. A variety of user devices might be used in warehouse logistics. Either RF terminals, modern mobile devices with built-in capabilities for printing and scanning or desktop client PC in the control room or at operative workstations with integrated scanners and scales. It is challenging to fit all requirements across customer projects with their vast of devices, workflows and custom dialogs. OpenWMS.org comes with two user interface applications that both offer a maximum of flexibility to provide custom dialogs on arbitrary devices. One is designed for LAN-connected desktop clients, the other one for wireless connected mobile handheld devices.
Gaps:
Achievement rate:
Not all processes are realised in both applications. This must be done project specific on demand
Archiving (VDI3603-5.5)
Archiving of processed and completed data records is a central task across all system components. Because archiving can be done on several layers of the application stack, this is not an essential part of the OpenWMS.org software and implemented as private licensed components. The Enterprise Edition of OpenWMS.org contains API and services to archive processed data after a configurable duration of time.
Gaps:
Achievement rate:
no gaps
Core functions
Warehouse structure (VDI3603-6.1)
In OpenWMS.org only LocationGroups and Locations exist to model all required physical facilities of the warehouse. LocationGroups follow a tree-like structure and may have Locations attached. A warehouse (VDI term) is represented by a LocationGroup. A storage area (VDI term) might be modelled with a LocationGroup that belongs to the warehouse or as a logical grouping of storage locations (VDI term). The storage location in terms of the VDI standard is in OpenWMS.org represented as a Location that is of a LocationType (VDI: area of activity). With the general LocationGroup / Location structure almost all projects can be realised without any further customisation.
Gaps:
Achievement rate:
A Location can only be of one LocationType and not of multiple
Special types of LocationGroups or Locations might require their own attributes. Therefor it might be better to model those as dedicated entities in projects. For example a workstation could be modelled as a Workstation instead of a Location with it's particular attributes.
Master data management (VDI3603-6.2)
The logical product definition (Product) can have arbitrary attributes assigned in OpenWMS.org. A Product has a base unit it is managed or can also have a list of other units it is expected to be received. The physical representation of a Product stores the actual information about serial numbers, lot, charges and so on. Packing specifications (VDI term) refer to a Product and are handled by the OpenWMS Packing Service. Business partners (VDI term) - in all constellations - are managed by the OpenWMS Partners Service.
Gaps:
Achievement rate:
no gaps
Inventory management (VDI3603-6.3)
Inventory (physical items) can be stored directly on a Location or within a container that is used to carry the inventory (LoadUnit). Inventory is modelled with PackagingUnits and arbitrary customer specific attributes.
Gaps:
Achievement rate:
Currently there is no exposed attribute marking inventory as cut or filling. This can be handled in a customer specific field