Content
In OpenWMS.org each business function is represented by one or more business services. Almost always it is a 1:1 mapping where a business function is implemented by one single business service - a software building block. Every software component is part of one the four domains: WMS, TMS, COMMON or CORE.
Software Component | Domain | Purpose | License |
---|---|---|---|
Service Registry | CORE | Public (Apache License v2) | |
Configuration Service | CORE | Stores technical application parameters at one place. It reads those configurations from a local filesystem or from a remote Git repository. This has the advantage that all configuration changes are tracked and audited. Beside technical configuration any kind of parameters can be handled. The Configuration Service provides the technical configuration to all other services. Changes are directly propagated to the affected services and do not require a restart of those. This increases maintainability and availability. | Public (Apache License v2) |
Auth Service | CORE | Private (GPLv3) | |
User Account and Administration Service (UAA) | CORE | Public (Apache License v2) | |
Preferences Service | CORE | Stores parameters in a relational database. Those parameters are the nature of business relevant kind instead of technical purpose. A parameter can be specific to an user only, to a group of users (role), to a service or valid for the whole application. For example, the default language setting of an user in the user interface is stored as a user scope parameter, whereas all available languages might be stored as application parameter. | Public (Apache License v2) |
Printing & Spooling Service | CORE | Provides an API to create documents (PDF) from a template (JasperReports) and print those documents. After creation it stores the document before sending to the printer. It offers retry mechanism and managing basic printer settings. A relational database, the filesystem or MongoDB (NoSQL) can be configured as document store. | Private (GPL) |
Translation Service | CORE | Central translation service for i18n and l10n support. | Private Preview (Apache License v2) |
COP Web User Interface (Administration and Control) | CORE | The COP web application is a single-page application (SPA) built with Angular technology. It offers a variety of management and overview screens for the warehouse functionality. | Private (GPL) |
BOB Mobile App (for operation) | CORE | BOB is a native application built for IOS and Android mobile devices. It offers a narrowed set of business processes for the essential warehouse functions, like goods receiving, inventory movement, picking etc. | Private (GPL) |
Common Base Service | COMMON | The OpenWMS.org Common Service provides essential functionality to deal with Locations, LocationGroups and TransportUnits. For a simple example, it offers an API to move a TransportUnit from a Location A to a Location B. Besides that, also other secondary resources exist, like TransportUnitTypes or rule sets to define what type of TransportUnit can be put on what type of Location. | Public (Apache License v2) |
PLC & IPC Communication (Socket) | COMMON | This kind of driver uses plain vanilla TCP/IP socket communication between PLC and WCS. Arbitrary project-specific messages structures can be used on top of the socket connection. It supports simplex and duplex communication between both partners. One single instance can connect to multiple parters. | Public (Apache License v2) |
PLC & IPC Communication (OPCUA) | COMMON | This driver is based on the OPCUA architecture to exchange data between WCS and PLC/IPC. It supports reading from and writing to server nodes and subscriptions. | Private Preview (Apache License v2) |
Business Transactions & Audit Logging | COMMON | The Transactions Service captures business transactions and stores them in the database. A business transaction is some important operation that is performed as part of the warehouse processes. For example, moving inventory between locations or changing the inventory quantity. |
Private Preview (Apache License v2) |
Common Tasks | COMMON | The Common Tasks Service is used to manage human user tasks in a warehouse. These general tasks are not specific to the WMS domain and can be used very flexible whereas WMS specific tasks (as part of the WMS Tasks Service) are more specific and can cover more detailed WMS information. | Public (Apache License v2) |
Transport Order Management | TMS | This service allows to create TransportOrders in automated warehouses. A TransportOrder is used to transport TransportUnits (e.g. pallets, boxes, cartons) between warehouse locations. TransportOrders are created when a customer order is received or goods enter at the warehouse. | Public (Apache License v2) |
Transport Order Routing | TMS | The TMS Routing service is used in automatic warehouses to route TransportUnits on conveyors through the warehouse. It is responsible to handle incoming messages and selects the appropriate workflow process that finally executes the handling. The workflow is a BPMN 2.0 compliant workflow, with extensions of the used workflow engine. | Public (Apache License v2) |
Receiving & Goods-In | WMS | The purpose of the Receiving Service is to handle goods receipts. It offers an API to create incoming orders, so called Receiving Orders (expected receipts). These kind of receipts are announced before goods are received. In contrast, blind receipts are also supported. Those don't require any announcements and allow to capture goods that are not expected to receive. | Public (Apache License v2) |
Inventory Management | WMS | Physical inventory and product definitions are managed in the Inventory Management. Plugins for putaway and allocation can be linked to this service. Putaway strategies are used to find proper warehouse locations for products. Allocation algorithms are used to allocate warehouse inventory for customer orders and manage inventory reservations. |
Community version: Private Preview (Apache License v2) Enterprise version: Private (GPLv3) |
Picking | WMS | The Picking Library can be linked to the Inventory Service to provide the functionality and an API for picking. Currently two picking strategies are implemented: Pick & Collect and Pick & Pack. | Private (GPLv3) |
Manual Movements | WMS | The Movements Service is mainly used in manual warehouses to plan movements for replenishment and stocktaking. | Public (Apache License v2) |
WMS Tasks | WMS | Private Preview (Apache License v2) | |
Partner Management (Suppliers & Carriers) | WMS | new module - under development. The purpose of the OpenWMS.org Partner Service is to manage all kind of partner companies, either they are in the role of a customer or a supplier or a manufacturer or any other kind. | Private Preview (Apache License v2) |
Truck Management | WMS | Truck management is responsible to schedule trucks and cargo. It also manages drivers and assignments to trucks. | Private Preview (Apache License v2) |
Packing | WMS | new module - under development | Private Preview (Apache License v2) |
Shipping & Goods-Out | WMS | The Shipping Service is responsible to handle outgoing orders, those leaving the warehouse. In particular these kind of orders are typically customer orders, where each order has multiple order positions. The OpenWMS.org Shipping Service creates smaller chunks of each order position - the so-called splits. | Private Preview (Apache License v2) |