-
Notifications
You must be signed in to change notification settings - Fork 37
Source
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-backend
contains all classes that are generic and not backend specific. The different backends must make use of these classes. -
phoss-smp-backend-mongodb
is the experimental MongoDB backend of the SMP server. It depends on the backend library. -
phoss-smp-backend-sql
is the (My)SQL backend of the SMP server. It depends on the backend library. -
phoss-smp-backend-xml
is the XML backend of the SMP server. It depends on the backend library. -
phoss-smp-webapp
the generic parts of the web application that are identical for all backends -
phoss-smp-webapp-mongodb
the main web application configured to use the experimental MongoDB backend -
phoss-smp-webapp-sql
the main web application configured to use the (My)SQL backend -
phoss-smp-webapp-xml
the 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-library
contains all classes that are generic and not backend specific. The different backends must make use of these classes. -
peppol-smp-server-sql
is the (My)SQL backend of the SMP server. It depends on the server library. -
peppol-smp-server-xml
is the XML backend of the SMP server. It depends on the server library. -
peppol-smp-server-webapp
- 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 the default application.properties
file should not be modified.
Instead a new file private-application.properties
(in src/main/resources
) should be created that only contains the changed properties (like the keystore and truststore configuration).
Due to the configuration property resolution, entries in private-application.properties
have precedence over the ones in application.properties
.
This feature is meant to easily separate production properties from development properties.
The 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 _XML
.
The user interface is based on my ph-oton library which uses Bootstrap 3 as the default user interface. Bootstrap was designed mobile first so the SMP GUI also works on tablets and even smartphones.
It is appreciated if you star the GitHub project if you like it.
Donation link: https://paypal.me/PhilipHelger
- Home
- News and noteworthy
- Migrations
- Download
- Features
- Configuration
- Running
- Source related
- Other information
- Future plans
- License
- Release Tasks