Giter VIP home page Giter VIP logo

org.openwms.tms.routing's People

Contributors

mschneid0207 avatar openwms avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

org.openwms.tms.routing's Issues

Support for static routing

Currently routing happens basically dynamically on the workflow. For simple layouts we should also provide a static routing table for point-to-point routing capabilities.

Generalize message handling

Currently the message handling is tightly coupled to the OSIP protocol and new telegram drivers require the need to extend the classpath with own strategies.

At least we could merge the OSIP handlers to simplify the processing code and probably the extension code. Pretty sure that arbitrary message structures still require a custom handling.

Add Activiti ELResolver implementation to resolve HATEOS links

Like a ApplicationContextElResolver is able to resolve Spring beans we need to have something similar that translates http commands and HATEOS links to microservice calls.

GET tms-services/orders/4711
POST tms-service/orders

These kind of "expressions" may used in BPMN Activiti expressions

Activiti workflows should be loaded through the config server

Current situation
The bootstrapped Activiti workflow engine loads workflow files over the standard Spring Resource patterns file:, classpath: and classpath*:. The important configuration file to have a look at is org.activiti.spring.boot.AbstractProcessEngineAutoConfiguration. Fortunately the author uses an autowired org.springframework.core.io.support.ResourcePatternResolver that can be extended for custom needs. In our case we don't want to load workflow files from the classpath nor from local files, we need to fetch them from a Spring Cloud Config Server. That guy offers a http interface to interact with, and is able to grab requested files from a Git repository.

Proposed Solution
Our service acts as a client of the Spring Cloud Config Server and therefor needs to interact with the http API to fetch demanded workflow files. We need to implement org.springframework.core.io.support.ResourcePatternResolver, at best extends the org.springframework.core.io.support.PathMatchingResourcePatternResolver and access the Config Server on demand.

Requirements to be considered in version 1

  • BASIC auth to the config server. Username/password can be taken from the metainf of the spring.cloud.config.* namespace
  • The protocol http/https must be taken from the discovery client config map (eureka.instance.metadata-map.config-protocol) because it is not a property of spring.cloud.config.* and a use of spring.cloud.config.headers.* is a misuse

The startup class was not found

openwms-tms-routing- exec.jar It does not exist under the target path. The existing jar package does not have a manifest attribute, and the startup class cannot be found

Support asynchronous message processing

In the current version the processing engine only supports a RESTful API. We now need to support asynchronous message handling, too. The OSIP driver is already capable to send AMQP messages.

UI: Implement Route UI

In this first iteration a User shall be able to:

  • Create new Routes
  • Edit existing Routes
  • Change Route status
  • Delete existing Routes

All without backend integration, just UI logic only

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.