The OpenWMS.org Common Service provides essential functionality to deal with `Locations`, `LocationGroups` and `TransportUnits`. An example often referred to is the ability to move a `TransportUnit` from a `Location` A to a `Location` B. Beside this also other secondary resources like `TransportUnitTypes` or rulesets like the `PlacingRule` to define what kind of `TransportUnit` can be put on what type of `Location` are managed by this service. # 1.1. Requirements Overview The required and demanded functionality of the Common Service is comprised by the issues tracked in GitHub issue tracker. All open issues that are assigned to an upcoming milestone are accepted for implementation and will likely be implemented and released. Open pending issues
Issue IDPlanned MilestoneTitle
84n/aMove to sub package org.openwms.common.base
79n/aUse JSR-385 for measurements
41n/aUse RFC7807 for all error responses
All functionality that is currently included, has already been implemented have issues assigned that are closed. A list of all closed issues with their resolved milestone release is shown below. Notice that issues may be closed but the implementation has been rejected. Closed issues, either implemented or rejected:
Issue IDStateAssigned MilestoneTitle
86closed2.0.0Upgrade to SpringBoot 2.7.0
83closed2.0.0Fix sonar build - cause of MapStruct and JaCoCo
81closed1.7.0Add API to update a Location
80closed1.7.0Add API to add a Location
78closed1.7.0Add an arbitrary sort index field to the Location
77closed1.7.0Provide async API to lock for empty Locations
76closed1.7.0When a TU is moved the actualLocation of the children is not moved
75closed1.7.0Extend API to search a Location by ERP Code
74closed1.7.0Migrate to latest Dozer version (6.x)
70closed1.7.0Migrate from TravisCI to Github Actions
69closed1.7.0Offer simple API to read LocationTypes
66closed1.7.0Entities LocationGroup and Location miss some setters
65closedn/aCan UI display interface be provided ?
64closed1.7.0Migrate to Spring Boot 2.3.7
63closed1.7.0Dead Letter Queue handling of poising messages
62closedn/aCould you please give me a detailed document on openwms
60closed1.7.0Extend Location about tags
59closed1.7.0A Location should be able to hold Products directly
58closed2.0.0Migrate to latest SpringBoot 2.6.x & Java 17
56closed1.6.0Move to SpringBoot 2.3
55closed1.6.0Location should groupable
54closed1.7.0Configuration must be changeable without restarts
50closed1.6.0Propagate updates on TransportUnitType changes
49closed1.6.0Introduce Accounts
47closed1.5.0Provide a request interface
46closed1.5.0Remove all transitive dependencies from the client jar
43closed1.5.0Static assigned query params cannot be accessed over Feign
42closed1.5.0Make it an extendable service
40closedn/aImplement API Security
38closed1.5.0Improve API documentation
37closed1.4.0Track changes on TransportUnits
35closed1.4.0Replace Hystrix with resilience4j
32closed1.4.0Generate DB schema within build
27closed1.4.0Tests shall run in isolation
26closed1.4.0Ensure software architecture in tests
22closed1.4.0Expose Targets through an API
19closed1.4.0Enable ability to run without config server
18closed1.4.0Fix Jacoco code coverage
17closed1.4.0Migrate to JUnit5
14closed1.4.0A LocationGroup can be locked by its own
13closed1.3.0RemovalListener mechanism not working in a distributed environment
12closedn/aProvide DI exporter
7closed1.2.0Propagate at least Move events
3closedn/aImplement simplest stock allocation strategy
2closedn/aGet logstash running with Heroku
1closed1.2.0Add demo data
# 1.2. Quality Goals
PriorityCharacteristicScenarioActivityRisk
HIGHInteroperabilityThe service must be operated in a service mesh of services of arbitrary technologiesThe service API is implemented with HTTP and JSON exchange format — 
HIGHPerformanceThe service must respond in less than 100msThis needs to be considered with the choice of the persistency mechanismScalability: Increasing datasets could have an impact
MEDIUMAccessabilityThe service may run in a multi-tenant environment and all functions must be aware of multi-tenancyAll API functions, services and persistency mechanisms must be aware of the tenantPerformance: With increasing tenants this could have a negative impact on the performance with regarding data isolation