Top Menu

Jump to content
Home
    Modules
      • Projects
      • Activity
      • Work packages
      • Gantt charts
      • News
    • Getting started
    • Introduction video
      Welcome to Wiki
      Get a quick overview of project management and team collaboration with OpenProject. You can restart this video from the help menu.

    • Help and support
    • Upgrade to Enterprise edition
    • User guides
    • Videos
    • Shortcuts
    • Community forum
    • Enterprise support

    • Additional resources
    • Data privacy and security policy
    • Digital accessibility (DE)
    • OpenProject website
    • Security alerts / Newsletter
    • OpenProject blog
    • Release notes
    • Report a bug
    • Development roadmap
    • Add and edit translations
    • API documentation
  • Sign in
      Forgot your password?

Side Menu

  • Overview
  • Activity
    Activity
  • News
  • Forums
  • 00 - Business Architecture
    00 - Business Architecture
  • 01 - Software Architecture Document (SAD)
    01 - Software Architecture Document (SAD)
  • 02 - Developer's Cookbook
    02 - Developer's Cookbook
  • 03 - REST Resource Design
    03 - REST Resource Design
  • 04 - Installation Notes
    04 - Installation Notes
  • 05 - Support
    05 - Support

Content

You are here:
  1. 01 - Software Architecture Document (SAD)
  2. 01.04 - Building Block View
  3. 01.04.04 - Package View

01.04.04 - Package View

  • More
    • Print
    • Table of contents

An OpenWMS.org microservice implementation with Java technology is structured into source packages. Some generic and often used packages exist in all microservices with a common sense. In the example below the structure underneath the common package is also applied to any other domain package like core, tms or wms.

Figure 6. Java package organisation

Beside these packages exist dozens of others specific to every microservice. The Transportation service for example has also a separation into functional packages, like transports or routes. The packages and conventions shown here should be followed for every OpenWMS.org microservice implementation when possible.

Package Responsibility
org.openwms Top level product package
core All types that belong to the CORE domain
common All types that belong to the COMMON domain
tms All types that belong to the TMS domain
wms All types that belong to the WMS domain
api Types that are relevant for client applications or API consumers and that are cut off into a separate build artifact
app Types and configuration artifacts that are responsible for the microservice lifecyle
commands Contains all command types and handlers, processors of commands
config Contains configuration classes responsible for the microservice external configuration, most often Spring Boot managed classes mapped to properties files
events All event types used service internally and externally. External events must put under api.events
impl The internal implementation details of the microservice API
Loading...