Home > Installation

Configuration principale (fichier ebx.properties)

Le fichier ebx.properties centralise la configuration globale de EBX.Platform. La définition de son chemin d’accès est détaillée dans la section "Comment faire référence au fichier de configuration ebx.properties ?" .


Activation de licence (numéro de licence)

#################################################
## EBX.Platform License number
## (as specified by your license agreement)
#################################################

ebx.license=paste_here_your_license_key

Activation du Workflow

Ce paramètre permet d'indiquer si le Workflow est activé. Ce paramètre n'est pas repris à chaud. Le serveur doit être redémarré suite à modification.

#################################################
## Workflow activation.
## Default is false.
#################################################

ebx.workflow.activation = true

Répertoire ebx_home

Ce paramètre permet d'indiquer le chemin d'accès au répertoire ebx_home. Par défaut, EBX.Platform utilise la variable d'environnement définie dans les propriétés système (voir le chapitre Déploiement sur des serveurs d'application J2EE ).

## This property is used later in this file (see "${ebx.home}")
## It is not required otherwise by EBX.Platform.
## (as stated above "${ebx.home}" will first look on system properties
## so this assignment provides a default value)
ebx.home=

Répertoire racine

Ce répertoire contient les archives, les fichiers de la piste d'audit ainsi que les fichiers HSQLDB (quand le référentiel utilise ce serveur en mode standalone).

#################################################
## Path for EBX.Platform XML repository
#################################################
ebx.repository.directory=${ebx.home}/ebxRepository

Gestion des fichiers temporaires

Les fichiers temporaires sont stockés dans le répertoire défini comme suit :

# The property ebx.temp.directory allows to specify a directory for temporary files.
# Default value is java.io.tmpdir
#
ebx.temp.directory = ${java.io.tmpdir}
#ebx.temp.directory = /tmp/java

Persistance du référentiel EBX.Platform

Le référentiel EBX.Platform est basé sur un des systèmes de persistance suivants : H2 (défaut), HSQLDB, Oracle DB, IBM DB2, PostgreSQL ou SQL Server.

La bibliothèque (pilote) nécessaire à l'utilisation de chaque base de données est décrite dans le chapitre Composants .

################################################################
## The maximum time to set up the database connection,
## in milliseconds.
################################################################
ebx.persistence.timeout=10000
################################################################
## The prefix to add to all table names of persistence system.
## This may be useful for supporting multiple repositories in relational database.
## Default value is EBX_ ################################################################
ebx.persistence.table.prefix=

################################################################
## Case EBX.Platform persistence system is H2 'standalone'.
################################################################
ebx.persistence.factory=h2.standalone
ebx.persistence.user=xxxxxxxxx
ebx.persistence.password=yyyyyyyy

################################################################
## Case EBX.Platform persistence system is H2 'server mode',
##
## If Hs2 is declared as JNDI data source in your application server, only ebx.persistence.factory is necessary,
## but ebx.persistence.url, ebx.persistence.user and ebx.persistence.password must be removed.
################################################################
ebx.persistence.factory=h2.server
ebx.persistence.url=jdbc:h2:tcp://127.0.0.1/ebxdb
ebx.persistence.user=xxxxxxxxx
ebx.persistence.password=yyyyyyyy

## Case EBX.Platform persistence system is Hsqldb 'standalone'.
################################################################
ebx.persistence.factory=hsql.standalone
ebx.persistence.user=xxxxxxxxx
ebx.persistence.password=yyyyyyyy

################################################################
## Case EBX.Platform persistence system is Hsqldb 'server mode',
##
## If Hsqldb is declared as JNDI data source in your application server, only ebx.persistence.factory is necessary,
## but ebx.persistence.url, ebx.persistence.user and ebx.persistence.password must be removed.
################################################################
ebx.persistence.factory=hsql.server
ebx.persistence.url=jdbc:hsqldb:hsql://127.0.0.1/ebxDatabase
ebx.persistence.user=xxxxxxxxx
ebx.persistence.password=yyyyyyyy

################################################################
## Case EBX.Platform persistence system is Oracle
##
## If Oracle is declared as JNDI data source in your application server, only ebx.persistence.factory is necessary,
## but ebx.persistence.url, ebx.persistence.driver, ebx.persistence.user and ebx.persistence.password must be removed.
################################################################
ebx.persistence.factory=oracle
ebx.persistence.url=jdbc:oracle:thin:@127.0.0.1:1521:ebxDatabase
ebx.persistence.driver=oracle.jdbc.OracleDriver
ebx.persistence.user=xxxxxxxxx
ebx.persistence.password=yyyyyyyy

################################################################
## Case EBX.Platform persistence system is IBM DB2.
##
## If DB2 is declared as JNDI data source in your application server, only ebx.persistence.factory is necessary,
## but ebx.persistence.url, ebx.persistence.driver, ebx.persistence.user and ebx.persistence.password must be removed.
################################################################
ebx.persistence.factory=db2
ebx.persistence.url=jdbc:db2://127.0.0.1:50000/ebxDatabase
ebx.persistence.driver=com.ibm.db2.jcc.DB2Driver
ebx.persistence.user=xxxxxxxxx
ebx.persistence.password=yyyyyyyy

################################################################
## Case EBX.Platform persistence system is Microsoft SQL Server.
##
## If sqlserver is declared as JNDI data source in your application server, only ebx.persistence.factory is necessary,
## but ebx.persistence.url, ebx.persistence.driver, ebx.persistence.user and ebx.persistence.password must be removed.
################################################################
ebx.persistence.factory=sqlserver
ebx.persistence.url=jdbc:sqlserver://127.0.0.1:1036;databasename=ebxDatabase
ebx.persistence.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
ebx.persistence.user=xxxxxxxxx
ebx.persistence.password=yyyyyyyy

################################################################
## Case EBX.Platform persistence system is PostgreSQL.
##
## If postgresql is declared as JNDI data source in your application server, only ebx.persistence.factory is necessary,
## but ebx.persistence.url, ebx.persistence.driver, ebx.persistence.user and ebx.persistence.password must be removed.
################################################################
ebx.persistence.factory=postgresql
ebx.persistence.url=jdbc:postgresql://127.0.0.1:5432/ebxDatabase
ebx.persistence.driver=org.postgresql.Driver
ebx.persistence.user=xxxxxxxxx
ebx.persistence.password=yyyyyyyy

Annuaire des utilisateurs

Ce paramètre spécifie le nom de la classe Java qui construit l'annuaire spécifique. Il ne doit être défini que si l'annuaire par défaut de EBX.Platform n'est pas utilisé. Pour plus d'informations, voir le chapitre Annuaire ainsi que la Javadoc de la classe DirectoryFactory .

#################################################
## Specifies the Java directory factory class name.
## Value must be the fully qualified name of the Java class.
## The class must extend com.orchestranetworks.service.directory.DirectoryFactory.
#################################################
#ebx.directory.factory=xxx.yyy.DirectoryFactoryImpl

Logs

Les catégories Log4J les plus importantes sont les suivantes :

#################################################
## Directory of log files
## This property is used by special appender prefixed
## by 'ebxFile:' (see log section below)
#################################################
ebx.logs.directory=${ebx.home}/ebxLog

#################################################
## Log4J properties:
##
## We have some specific syntax extensions:
## - Appender ebxFile:<aFileName>
## Defines a file appender with default settings (threshold=DEBUG)
##
## - property log.defaultConversionPattern is set by Java
#################################################
#ebx.log4j.debug=true
#ebx.log4j.disableOverride=
#ebx.log4j.disable=
ebx.log4j.rootCategory= INFO
ebx.log4j.category.log.kernel= INFO, Console, ebxFile:kernel, kernelMail
ebx.log4j.category.log.workflow= INFO, ebxFile:workflow
ebx.log4j.category.log.persistence= INFO, ebxFile:persistence
ebx.log4j.category.log.setup= INFO, Console, ebxFile:kernel
ebx.log4j.category.log.mail= INFO, Console, ebxFile:mail
ebx.log4j.category.log.frontEnd= INFO, Console, ebxFile:kernel
ebx.log4j.category.log.frontEnd.incomingRequest= INFO
ebx.log4j.category.log.frontEnd.requestHistory= INFO
ebx.log4j.category.log.frontEnd.UIComponentInput= INFO
ebx.log4j.category.log.fsm= INFO, Console, ebxFile:fsm
ebx.log4j.category.log.fsm.dispatch= INFO
ebx.log4j.category.log.fsm.pageHistory= INFO
ebx.log4j.category.log.wbp= FATAL, Console
#--------------------------------------------------
ebx.log4j.appender.Console.Threshold = INFO
ebx.log4j.appender.Console=com.onwbp.org.apache.log4j.ConsoleAppender
ebx.log4j.appender.Console.layout=com.onwbp.org.apache.log4j.PatternLayout
ebx.log4j.appender.Console.layout.ConversionPattern=${log.defaultConversionPattern}
#--------------------------------------------------
ebx.log4j.appender.kernelMail.Threshold = ERROR
ebx.log4j.appender.kernelMail = com.onwbp.org.apache.log4j.net.SMTPAppender
ebx.log4j.appender.kernelMail.To = admin@domain.com
ebx.log4j.appender.kernelMail.From = admin${ebx.site.name}
ebx.log4j.appender.kernelMail.SMTPHost = smtp.domain.com
ebx.log4j.appender.kernelMail.Subject = EBX.Platform Error on Site ${ebx.site.name} (VM ${ebx.vm.id})
ebx.log4j.appender.kernelMail.layout.ConversionPattern=**Site ${ebx.site.name} (VM${ebx.vm.id})**%n${log.defaultConversionPattern}
ebx.log4j.appender.kernelMail.layout = com.onwbp.org.apache.log4j.PatternLayout
#--------------------------------------------------
ebx.log4j.category.log.monitoring= INFO, ebxFile:monitoring
ebx.log4j.category.log.dataServices = INFO, ebxFile:dataServices
ebx.log4j.category.log.d3= INFO, ebxFile:d3
ebx.log4j.category.log.request= INFO, ebxFile:request

Configuration de la messagerie

EBX.Platform peut activer ou non la messagerie. Entre autres, elle est utilisée par EBX.Manager pour informer l’administrateur de changements sur les accords et sur les acteurs.

Ces propriétés sont indépendantes de la configuration des logs (envoi de mail basé sur la librairie log4j).

#################################################
## Mail Manager parameters
## activate MailManager (true or false, default false)
## polling interval is in seconds (default is 10)
#################################################
ebx.mail.activate=true
ebx.mail.smtp.host = smtp.domain.com
#ebx.mail.polling.interval = 5
#ebx.mail.smtp.login=
#ebx.mail.smtp.password=

Identification du site de déploiement

Le paramètre suivant permet d'identifier le site de déploiement pour l’envoi des messages de logs techniques.

#################################################
## Unique Site Name
## --> used by monitoring mails and by repository
#################################################
ebx.site.name= name@domain.com

Rechargement à chaud de la configuration

Certains paramètres peuvent être rechargés dynamiquement sans avoir à réinitialiser EBX.Platform. Le paramètre ‘thisfile.checks.intervalInSeconds’ indique l'intervalle de temps entre chaque vérification du fichier ebx.properties.

#################################################
### Checks if this file has been updated
### If value <= 0, no more checks will be done
#################################################
thisfile.checks.intervalInSeconds=1

En développement, ce paramètre peut être positionné à 1 seconde pour des questions de réactivité. Sur un site de production où les changements de configuration sont moins fréquents, cette valeur peut être plus élevée ou bien être mise à zéro pour empêcher toute reprise à chaud de changements.

Cette propriété n’est pas toujours opérationnelle lorsque le module est déployé en mode WAR (cela dépend du serveur d’applications).

Applications utilisant le moteur de navigation EBX.Platform

Ne sont concernées par ces propriétés que les applications Web qui utilisent le moteur interne de navigation EBX.Platform. EBX.Manager en fait partie.

Rafraîchissement des maquettes des applications:

#################################################
## Reload templates when it is updated
## (default value for all EBX.Platform modules).
## (value can be overrided by each EBX.Platform module.
#################################################
templates.checksIfUpdated=true

Mode debug dans les pages web des modules EBX.Platform (à utiliser uniquement lors de développement) :

#################################################
## End-User Debug Mode
## (default for all EBX.Platform modules ).
## Debug information appears on end-user web page.
#################################################
frontEnd.debugMode=false

Mode de fonctionnement

Cette propriété définit le mode de fonctionnement de EBX.Platform. Lorsque le mode de fonctionnement est défini à développement, l' assistant développeur est activé dans EBX.Manager et des informations techniques supplémentaires sont affichées ; excepté pour l'administrateur qui voit toutes ses informations quelque soit le mode de fonctionnement. Ces informations sont les suivantes :

#################################################
## Server Mode
## Value must be one of: development, integration, production
## Default is production.
#################################################
backend.mode=integration

Filtrage de ressources

Cette propriété permet de filtrer un certain nombre de fichiers et répertoires dans le contenu des répertoires de ressources (nœud de type ressource, avec une facette associée indiquant le répertoire contenant les ressources utilisables).

#################################################
## list (separated by comma) of regexps excluding resource
## the regexp must be of type "m:[pattern]:[options]".
## the list can be void
#################################################
ebx.resource.exclude=m:CVS/*:

Calcul des URLs

Par défaut, EBX.Platform fonctionne en mode « standalone » : les ressources externes (images, javascripts, etc.) sont fournies par le serveur d’application.

Par défaut, les paramètres du fichier ebx.properties, portant sur les URLs, n’ont pas besoin d’être renseignés.

Dans ce cas, le nom du serveur et le port sont déduits de la requête initiale (pour l'outil EBX.Manager).

##################################################################
## EBX.Platform FrontServlet: default properties for computing servlet address
##
## {useLocalUrl}:
## If set to true, servlet address is a "local absolute" URL.
## (that is, a relative URL consisting of an absolute path: "/path")
## See RFC 2396, http://www.ietf.org/rfc/rfc2396.txt).
## This property is defined once for HTTP and HTTPS.
## Default value is false.
##
## {host}:
## If neither defined nor adapted, retrieves initial request host
## {port}:
## If neither defined nor adapted, retrieves initial request host
## {path}:
## Mandatory, may be empty
##
## Resulting address will be:
## protocol://{host}:{port}/{path}
##
## Each property for HTTP (except {port}) may be inherited from HTTPS property,
## and reciprocally.
##################################################################
#ebx.servlet.useLocalUrl=true
#ebx.servlet.http.host=
#ebx.servlet.http.port=
ebx.servlet.http.path=ebx/
#ebx.servlet.https.host=
#ebx.servlet.https.port=
#ebx.servlet.https.path=
##################################################################
## External resources: default properties for computing external resources address
##
## The same rules apply as EBX.Platform FrontServlet properties (see comments).
##
## Each property may be inherited from EBX.Platform FrontServlet.
##################################################################
#ebx.externalResources.useLocalUrl=true
#ebx.externalResources.http.host=
#ebx.externalResources.http.port=
#ebx.externalResources.http.path=
#ebx.externalResources.https.host=
#ebx.externalResources.https.port=
#ebx.externalResources.https.path=

Mode Proxy

Le mode proxy permet d'utiliser un serveur HTTP en frontal pour fournir les ressources statiques (images, css, javascripts, etc.). Cette architecture a pour avantage de décharger le serveur d'applications des requêtes HTTP statiques. Cette configuration permet également de prendre en charge la sécurité SSL au niveau du serveur frontal.

Le serveur Web transmet les requêtes vers le serveur d’applications en fonction d’un chemin présent dans l’URL.

Ce chemin ‘servletAlias’ est décrit dans les propriétés d’ebx.properties.

Le serveur Web fournit toutes les ressources externes. Ces dernières sont mises dans un répertoire dédié, accessible par le chemin ‘resourcesAlias’.

De plus, EBX.Platform doit pouvoir accéder par le système de fichiers aux ressources externes (lors de la compilation du modèle de données et des adaptations). Pour cela, il faut renseigner la propriété ebx.webapps.directory.externalResources .

Le fichier ebx.properties peut être configuré comme suit :

#################################################
## Path for external resources if they are not
## delivered within web applications
## This field is mandatory if in proxy mode.
#################################################
ebx.webapps.directory.externalResources= D:/http/resourcesFolder
#################################################
#ebx.servlet.useLocalUrl=true
#ebx.servlet.http.host=
#ebx.servlet.http.port=
ebx.servlet.http.path= servletAlias
#ebx.servlet.https.host=
#ebx.servlet.https.port=
ebx.servlet.https.path= servletAlias
#################################################
#ebx.externalResources.useLocalUrl=true
#ebx.externalResources.http.host=
#ebx.externalResources.http.port=
ebx.externalResources.http.path= resourcesAlias
#ebx.externalResources.https.host=
#ebx.externalResources.https.port=
ebx.externalResources.https.path= resourcesAlias

Mode Reverse Proxy

Les URLs générées par EBX.Platform pour les requêtes et les ressources externes doivent contenir un nom de serveur, un numéro de port et un préfixe de chemin spécifiques.

Le fichier ebx.properties peut être configuré comme suit :

#################################################
ebx.servlet.http.host= reverseDomain
#ebx.servlet.http.port=
ebx.servlet.http.path=ebx/
ebx.servlet.https.host= reverseDomain
#ebx.servlet.https.port=
ebx.servlet.https.path=ebx/
#################################################
## Web parameters (for external resources)
## if nothing is set, values are taken from servlet.
#################################################
ebx.externalResources.http.host= reverseDomain
#ebx.externalResources.http.port=
#ebx.externalResources.http.path=ebx/
ebx.externalResources.https.host= reverseDomain
#ebx.externalResources.https.port=
ebx.externalResources.https.path=ebx/

Tuning

Il est possible de préciser certains paramètres afin d'optimiser l'utilisation mémoire.

Le fichier ebx.properties peut être configuré comme suit :

################################################################
## Technical parameters for memory and performance tuning
################################################################

# Import commit threshold allows to specify the commit threshold
# exclusively for the archive import launched directly from Manager.
#
# For more details about the commit threshold, see the JavaDoc ProcedureContext.setCommitThreshold().
# Default value is 0.
#
ebx.manager.import.commit.threshold=100

# Validation messages threshold allows to specify the maximum number of messages to consider
# when performing a validation.
# This threshold is considered for each severity in each validation report.
# When the threshold is reached:
# - for severities 'error' or 'fatal', the validation is stopped.
# - for severities 'info' or 'warning', the validation continues without
# registering messages beyond the threshold. However the number of messages
# is still counted and messages of other severities can still be added.
#
# When set to 0 or a negative value the threshold is not considered.
# Default value is 0.
#
ebx.validation.messages.threshold=100

Home > Installation