Giter VIP home page Giter VIP logo

openwms / org.openwms.common.service.lib Goto Github PK

View Code? Open in Web Editor NEW
2.0 4.0 3.0 104.6 MB

A library with essential functionality on common resources like Locations, LocationGroups and TransportUnits

Home Page: https://openwms.github.io/org.openwms.common.service.lib/

License: Apache License 2.0

Java 100.00%
wms spring cloud spring-boot openwms logistics microservices amqp rabbitmq spring-cloud

org.openwms.common.service.lib's Introduction

Purpose

This service provides essential functionality to deal with Locations, LocationGroups and TransportUnits. An often referred example is the ability to move a TransportUnit from a Location A to a Location B.

ClassDiagram

Resources

Build status Quality License Maven central Join the chat at https://gitter.im/openwms/org.openwms

Find further Documentation on Microservice Website

Build

The module depends on OpenWMS.org CORE dependencies and one additional optional COMMON dependency that is only used in the enterprise version and offers an additional API for the UI.

MavenDependencies

Build a runnable fat jar with the execution of all unit and in-memory database integration tests, but without a required RabbitMQ server to run:

$ ./mvnw package

To also build and run with RabbitMQ support call:

$ ./mvnw package -DsurefireArgs=-Dspring.profiles.active=ASYNCHRONOUS,TEST

This requires a RabbitMQ server running locally with default settings.

Run

This is a library not a standalone microservice that runs on the JVM. This library is part of the OpenWMS.org Common Service, that is distributed as Docker image and can be instantiated as Docker container.

Run as Docker Container

Instead of building the software from the sources and run it as Java program on the JVM it must be fetched as a Docker image from Docker Hub and started as a Docker container.

$ docker run openwms/org.openwms.common.service:latest

Release

Releasing a new stable version of the software to Maven Central is usually done by the service maintainers only. To build an optimized and signed binary version and upload it to the Sonatype Staging Repository call:

$ ./mvnw deploy -Prelease,gpg

After it is uploaded, Sonatype runs a couple of quality checks before it can be manually released to Maven Central.

Release Documentation

To release the API documentation as a static website manually just call the following two Maven commands. This is integrated into the automated build pipeline as well.

$ ./mvnw package -DsurefireArgs=-Dspring.profiles.active=ASYNCHRONOUS,TEST
$ ./mvnw site scm-publish:publish-scm

org.openwms.common.service.lib's People

Contributors

openwms avatar mschneid0207 avatar vidompteur avatar

Stargazers

 avatar Borong Yuan avatar

Watchers

Karl Heinz Marbaise avatar  avatar  avatar  avatar

org.openwms.common.service.lib's Issues

Introduce Accounts

The separation with Tenants is more of technical nature and used to support multi-tenancy. A tenant may have multiple accounts, this concept must be part of the base services

Entities LocationGroup and Location miss some setters

To support easy implementation of a warehouse generation functionality some properties and service methods could be added.

LocationGroup to provide setters for property account.
Location does to provide setters for property account, plcCode, description, and locationType (and some others).
LocationGroupService to provide a save method.

If this was a misunderstanding by me or that feature should not be supported then just close that issue.
Otherwise I could provide the solution implementation if apreciated.

Implement API Security

Currently we rely on BASIC Auth for API security. We want to improve this. Not only user:password anymore but tokens to access the API. At best with a standard like OAuth2. So far we don't need OIDC IDTokens to identify the user on the backend, we just want to rely on OAuth2 AccessTokens. At best non-encrypted JWT tokens.

The token information needs to be considered in API access as well as in the persistency layer when records are changed or log entries are written to files.

Add demo data

An import script with demo LocationGroups, Locations and LocationTypes

Expose Targets through an API

Targets already exist but do not have a dedicated API. Implement an API to offer general Target handling in a first place

Location should groupable

Like the LocationGroup has a groupType that can be used to dynamically assign features to the group, this should also be possible with a Location. Requirement: To control putaway strategy for hazardous products

Provide DI exporter

Services are currently exported via HTTP only. A second exporter shall provide all API via Spring managed services that can be injected.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.