Skip to content
Philip Helger edited this page Jan 11, 2022 · 91 revisions

Logo

Welcome to the "phoss SMP" wiki!

Latest release: 5.5.2 (2022-01-11) - See Migrations to read on specific upgrade requirements.

Goto the Download page to see how and where to grab the latest version.

This is an SMP (Service Metadata Publisher) server to be used in the Peppol eDelivery network and in CEF eDelivery based networks. An SMP is a decentralized registry and can handle the registration for multiple Access Points (APs). It is queried upon document exchange for the correct endpoint URL to deliver the document to as well as for the certificate to encrypt the message for the receiver. The endpoint URL depends on the participant identifier, the document type identifier, the process identifier and the used transport protocol. phoss SMP supports the following specifications_

Currently (September 2021), more than 50% of all Peppol production SMPs run phoss SMP

The differentiation happens in the Configuration file.

Note: this Wiki only refers to the SMP Server version 5. Earlier versions are not touched and it is strongly recommended to update to the latest version!

If you have specific questions, don't hesitate to contact me by email (philip[at]helger.com).

Kudos

Screenshots

Public start page of the SMP: SMP public area example

Overview of all service groups in the management area: SMP manage service groups

Create a new SMP service group: SMP create service groups

Show all endpoints of all service groups in a list: SMP endpoint list

or show all endpoints of all service groups in a tree structure: SMP endpoint tree

Create a new endpoint: SMP create endpoint

or copy and existing endpoint: SMP copy endpoint

Show tasks and problems: SMP tasks and problems

Modify certain settings at runtime: SMP settings

Manage Peppol Directory Business Cards: Peppol Directory Business Card list

Edit Peppol Directory Business Cards online: Edit Business Cards

CIPA compatibility

The SQL backend is fully compatible with the one used by CIPA, so you can use this SMP server as a replacement. Just adopt the JDBC parameters of this SMP server and your fine.

Internally the structure of the DB meta model was slightly adopted. E.g. the "endpoint reference" is no longer part of the service metadata primary key. Also the "service expiration date" of an endpoint became optional. Also please note that old versions of the CIPA SMP server ship with incompatible data types in the .sql file. Please ensure that all columns with the data type BLOB are changed to data type TEXT (for MySQL).

Compatibility with CIPA SMP 3.x - which is no longer Peppol compliant - or higher is unknown.

History

This project was initially forked from the CIPA SMP 2.2.3 because I was unhappy with the development. Compared to the CIPA SMP the following enhancements are present in this SMP (status as of 2015):

  • It provides a management GUI where you can create/edit/delete your users, service groups and endpoints.
  • Alternatively to the SQL backend it offers an XML backend which does not require any database and therefore has less operational costs. See Configuration on how to enable it.
  • It uses Jersey 2.x instead of the old Jersey 1.x
  • Having real support for SMP redirects - via REST and via the GUI

Before version 4 of this project two different web applications existed: peppol-smp-server which had the SQL backend and peppol-smp-server-lightweight which used the XML backend and provided a small management GUI. I decided to merge these two versions to have the advantage of the GUI for both backends.