All Projects → openwms → Org.openwms

openwms / Org.openwms

Licence: apache-2.0
Open Warehouse Management System

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Org.openwms

Spring Cloud Security
Security concerns for distributed applications implemented in Spring
Stars: ✭ 488 (+89.15%)
Mutual labels:  cloud-native, spring-boot, spring
Pacbot
PacBot (Policy as Code Bot)
Stars: ✭ 1,017 (+294.19%)
Mutual labels:  cloud, cloud-native, spring-boot
Spring Cloud Commons
Common classes used in different Spring Cloud implementations
Stars: ✭ 493 (+91.09%)
Mutual labels:  cloud-native, spring-boot, spring
Spring Cloud Netflix
Integration with Netflix OSS components
Stars: ✭ 4,498 (+1643.41%)
Mutual labels:  cloud-native, spring-boot, spring
Spring Cloud Config
External configuration (server and client) for Spring Cloud
Stars: ✭ 1,740 (+574.42%)
Mutual labels:  cloud-native, spring-boot, spring
Spring Cloud Zookeeper
Spring Cloud Zookeeper
Stars: ✭ 481 (+86.43%)
Mutual labels:  cloud-native, spring-boot, spring
Spring Cloud Contract
Support for Consumer Driven Contracts in Spring
Stars: ✭ 569 (+120.54%)
Mutual labels:  cloud-native, spring-boot, spring
Rqueue
Rqueue aka Redis Queue [Task Queue, Message Broker] for Spring framework
Stars: ✭ 76 (-70.54%)
Mutual labels:  spring-boot, spring, spring-framework
Spring Cloud Sleuth
Distributed tracing for spring cloud
Stars: ✭ 1,531 (+493.41%)
Mutual labels:  cloud-native, spring-boot, spring
Spring Cloud Cloudfoundry
Integration between Cloudfoundry and the Spring Cloud APIs
Stars: ✭ 83 (-67.83%)
Mutual labels:  cloud-native, spring-boot, spring
Spring Cloud Bus
Spring Cloud event bus
Stars: ✭ 342 (+32.56%)
Mutual labels:  cloud-native, spring-boot, spring
Spring Cloud Kubernetes
Kubernetes integration with Spring Cloud Discovery Client, Configuration, etc...
Stars: ✭ 2,894 (+1021.71%)
Mutual labels:  cloud-native, spring-boot, spring
Spring Cloud Gateway Sample
Sample Spring Cloud Gateway Application
Stars: ✭ 268 (+3.88%)
Mutual labels:  cloud-native, spring-boot, spring
Deploy Spring Boot Aws Eb
Deploying Spring Boot Apps to AWS using Elastic Beanstalk
Stars: ✭ 79 (-69.38%)
Mutual labels:  cloud, spring-boot, spring
Awesome Spring
A curated list of awesome books, tutorials, courses, and resources for the Spring framework ecosystem.
Stars: ✭ 186 (-27.91%)
Mutual labels:  spring-boot, spring, spring-framework
Spring Cloud Release
Spring Cloud Release Train - dependency management across a wide range of Spring Cloud projects.
Stars: ✭ 543 (+110.47%)
Mutual labels:  cloud-native, spring-boot, spring
Cerberus
A demonstration of a completely stateless and RESTful token-based authorization system using JSON Web Tokens (JWT) and Spring Security.
Stars: ✭ 482 (+86.82%)
Mutual labels:  spring-boot, spring, spring-framework
Curso Sistemas Web Com Spring Javascript Bootstrap
Stars: ✭ 74 (-71.32%)
Mutual labels:  spring-boot, spring, spring-framework
Spring Cloud Consul
Spring Cloud Consul
Stars: ✭ 703 (+172.48%)
Mutual labels:  cloud-native, spring-boot, spring
Spring Cloud Cli
Spring Cloud CLI features
Stars: ✭ 139 (-46.12%)
Mutual labels:  cloud-native, spring-boot, spring

OpenWMS.org

Is a free to use and extensible Warehouse Management System (WMS) with a Material Flow Control (MFC) system for automatic and manual warehouses.

Resources

Find further documentation at Atlassian Confluence...

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

Current state of development

Most components are under active development. In 2016 the whole product has been migrated from the technical structured OSGi architecture towards a business oriented architecture with Spring Boot microservices and Netflix OSS components. Documentation of previously released versions does still exist on SourceForge.net.

Current Architecture

Instead of applying a technical layered architecture (like with OSGi and before that with J2EE1.4) the current architecture focuses on business components. Business functions with a high degree of cohesion kept together as small deployable software components. Each component has its own development lifecycle with its roadmap of the API evolution, and a separate data store. The following sketch shows all currently existing components of the OpenWMS.org system together with all potential surrounding systems.

Architecture

Beside the user interface, several other systems interact with the OpenWMS.org system. On top, we find ERP systems sending high-level tasks to OpenWMS.org, e.g. a customer order with order positions where each refers to a product that is managed by the Inventory Service. OpenWMS.org fulfills these tasks by orchestrating the underlying subsystem. The communication between OpenWMS.org and an ERP system may not be exclusively unidirectional, OpenWMS.org does although send status messages back to the ERP or may request product catalog updates, this depends on the project needs. On the bottom we have devices that are close to actors and sensors in automatic warehouses. Those devices are almost limited in hardware resources and protocol stacks. Typical PLC (Programmable Logic Controllers) are used to interact with field sensors and to control actors. OpenWMS.org is an open source software and therefore promotes the usage of open source hardware components over commercial PLC products as well. The first choice of supported devices are boards, like Arduino, Raspberry Pi or the industrial Revolution Pi version, with an open microcontroller architecture, free to use. All these subsystems in the field area have one thing in common: They are close to the hardware and expect responses from the server in no time to control motors and switch gates to the right direction. They although have the power to bring a serving component down just by sending requests all the time. Typical web applications are different in that the infrastructure takes care of DoS attacks, and the application server pools incoming traffic.

Read more about each components architecture and design on the components corresponding Github page.

Previous Architectures

The project started in 2005 with an J2EE server approach based on EJB2.1 with XDoclets, Hibernate and JavaServer Faces (JSF). In more than 15 years we've seen a bunch of technologies that all addresses the same problems.

A POC has been implemented with EJB2.1, but the project actually started with EJB3.0. Since about 2007 OpenWMS.org is on the Spring Framework and this is still fine, and the right choice. Spring in combination with OSGi seemed to be the perfect match to build a modular and extensible base project. Unfortunately Spring stopped their efforts on OSGi, in particular on Spring dmServer and Spring Dynamic Modules . In a transition step to the current microservice architecture, we put all the OSGi bundles into a fat JavaEE WAR deployment unit to run the application on a servlet container like Apache Tomcat. After that we redesigned all services and business functions and applied a microservice architecture.

Technologies

In addition to a bunch of Spring Framework subprojects, OpenWMS.org uses one of the popular BPMN workflow engines Activiti, Flowable or Camunda as embedded engine to take routing decisions in the TMS layer. RDBMS access is most of time realised with the Java Persistence API. Some components might use NoSQL databases, like MongoDB, solely. RabbitMQ in combination with Spring Integration as notification is used as an event broker. All hexagon components are Spring Boot applications designed to run on any modern PaaS cloud platforms, like Heroku, Azure Kubernetes Service or Redhat OpenShift.

Microservices

11 12 11 12 11 12 11 12 11 12 11 12 11 12 11 12
2 3 4 5 6 7 8 9
11 12 11 12 11 12 11 12 11 12 11 12
10 13 14 15 16 17
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].