All projects of the
peppol-smp-server require at least Java 1.8 (since version 5). The dependent libraries also require Java 1.8 so no way to use this with lower Java versions.
To work with the source code Eclipse is the preferred way to do so. Together with the sources, Eclipse 4.6 project files are provided. It is suggested to use the J2EE Version of Eclipse as it ships with the Maven integration (m2e) which is recommended to be used.
See Building for more details on building the sources.
In v5.2.0 a new project structure was introduced because the internal project name changed from "peppol-smp-server" to "phoss-smp":
phoss-smp-backendcontains all classes that are generic and not backend specific. The different backends must make use of these classes.
phoss-smp-backend-mongodbis the experimental MongoDB backend of the SMP server. It depends on the backend library.
phoss-smp-backend-sqlis the (My)SQL backend of the SMP server. It depends on the backend library.
phoss-smp-backend-xmlis the XML backend of the SMP server. It depends on the backend library.
phoss-smp-webappthe generic parts of the web application that are identical for all backends
phoss-smp-webapp-mongodbthe main web application configured to use the experimental MongoDB backend
phoss-smp-webapp-sqlthe main web application configured to use the (My)SQL backend
phoss-smp-webapp-xmlthe main web application configured to use the XML backend
Up to v5.1.2 the structure was as following. Version 5.2.0 introduced the new project name and the new submodules.
peppol-smp-server-librarycontains all classes that are generic and not backend specific. The different backends must make use of these classes.
peppol-smp-server-sqlis the (My)SQL backend of the SMP server. It depends on the server library.
peppol-smp-server-xmlis the XML backend of the SMP server. It depends on the server library.
- Since v5.0.1: the generic parts of the web application that are identical for all backends
- Up to and incl. v5.0.0: is the main web application that includes both backends and you can choose from at runtime via Configuration properties
peppol-smp-server-webapp-sql(since v5.0.1) the main web application configured to use the (My)SQL backend
peppol-smp-server-webapp-xml(since v5.0.1) the main web application configured to use the XML backend
Before you launch the application for the first time, you might want to configure it. Please read Configuration for all details. For development it is recommended to leave the file
webapp.properties as it is. Only the
smp-server.properties must be modified. For sanity reasons the SMP server first looks for a file called
smp-server.properties is read so the "private-" file has precedence. I use this to have my production properties separated from my development properties.
peppol-smp-server-webapp-xml project is your entry to the SMP. It contains the required REST interface as well as the user interface (UI).
You can even run the SMP from within Eclipse without some cumbersome Tomcat configuration. Instead run the class
com.helger.peppol.smpserver.standalone.RunInJettySMPSERVER_XML which spawns an embedded Jetty and launches the application. By default the SMP listens on
http://localhost:90. In case port 90 is already used on your machine, simple edit the line
setPort (90) in the
RunInJettySMPSERVER_XML class. To stop the running Jetty gracefully you may execute
com.helger.peppol.smpserver.standalone.JettyStopSMPSERVER_XML from within Eclipse. Alternatively you may simply kill the running application and restart it.
Note: for the SQL backend the class names end with
_SQL instead of