Git Product home page Git Product logo

bpdm's Introduction

BPDM

Project Description

This repository is part of the overarching Eclipse Tractus-X project.

BPDM is an acronym for business partner data management. This project provides core services for querying, adding and changing business partner base information in the Eclipse Tractus-X landscape.

Currently, BPDM consists of the Pool and Gate services.

BPDM Pool

The BPDM Pool is the single source of truth in Eclipse Tractus-X for business partner base information such as addresses and official identifiers. Each record in the Pool has a unique identifier with which it can be referenced across the entire Eclipse Tractus-X landscape, the business partner number. Business partner records are divided into legal entities, sites and partner addresses. Self-explanatory, a legal entity record represents the legal entity information about a business partner. A site may represent legal entity's plant or campus which is big enough to contain several contact/delivery addresses. Finally, an address partner is a location of legal entity or site with a single contact/delivery address. A legal entity may have several sites and address partner. Further, a site may have several address partners.

The Pool offers an API to query these business partner records by BPN, other identifier or by text search.

BPDM Gate

The BPDM Gate offers an API for Eclipse Tractus-X members to share their own business partner data with Eclipse Tractus-X. Such members are called sharing members. Via the Gate service they can add their own business partner records but also retrieve cleaned and enhanced data back in return over the sharing process. Shared business partner records that have successfully gone through the sharing process end up in the BPDM Pool and will receive a BPN there (or merge with an existing record).

Installation

For installation instructions for the BPDM applications please refer to the INSTALL file.

Container images

This application provides container images for demonstration purposes. The base image used, to build this demo application image is eclipse-temurin:17-jre-alpine

Docker Hub:

Source:

GitHub Workflows

For releasing new Docker images of the BPDM Pool and Gate we use GitHub Actions/Workflows, by convention found in the .github/workflows folder. On pushing to the main branch or creating a new Git tag the applications are containerized and pushed to the repository's GitHub Container Registry. The containerization of the applications is based on the Dockerfiles found in the root folders of the Pool and Gate modules. Released images are tagged according to the main branch or Git tag name.

In addition to the release of the applications' Docker images, there is also a workflow to release a corresponding Helm chart on Git tag creation. Helm charts are released via the helm/chart-releaser-action and are stored in the gh-pages branch of the repository.

Furthermore, apart from the release workflows there also exists code scanning workflows for quality assurance:

  1. Before any release of Docker images GitHub executes unit and integration tests.
  2. Periodically, workflows execute a KICS and Trivy scan to ensure quality standards of the Docker images and Helm charts.
  3. For a more thorough security check the packaged applications are send to a VeraCode scan, which happens periodically and after a push to main

License Check

Licenses of all maven dependencies need to be approved by eclipse. The Eclipse Dash License Tool can be used to check the license approval status of dependencies and to request reviews by the intellectual property team.

Generate summary of dependencies and their approval status:

mvn org.eclipse.dash:license-tool-plugin:license-check -Ddash.summary=DEPENDENCIES

Automatically create IP Team review requests:

mvn org.eclipse.dash:license-tool-plugin:license-check -Ddash.iplab.token=<token>

Check the Eclipse Dash License Tool documentation for more detailed information.

bpdm's People

Contributors

alexsilva-cgi avatar cezaralexandremorais avatar fabiodmota avatar gerlitmcoding avatar korbinian-hutter avatar martinfkaeser avatar nicoprow avatar pazepaze avatar rainer-exxcellent avatar scherersebastian avatar zied-belkhiria-mhp avatar

Watchers

 avatar

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.