Téléchargement des produits


Version anglaise


 


Adélia Crystal Reports Print Engine (ACRPE) est un moteur de production d'états Crystal Reports sous forme de API web.

Ce moteur s'exécute dans un environnement Windows (.NET version 4.6.1 minimum + Runtime Crystal Reports for Visual Studio SP26 ou +).
Les atouts de l'ACRPE sont les suivants : une fiabilité accrue, des performances améliorées, un mode de déploiement plus aisé.
L'ACRPE peut se substituer au service middleware Adélia d'impression (svcgenrapw).


L'ACRPE existe sous deux formes :

  • une application console nommée ACRPE_console.exe et 
  • une application de type service Windows nommée ACRPE_service.exe.

Ces deux applications sont fournies dans le sous-répertoire ACRPE du répertoire d'installation du runtime Adélia Studio.
Une archive (.zip) contenant tous les objets de l'ARCPE est disponible dans le sous-répertoire Distrib/ACRPE.




ACRPE_Console

acrpe_console [-cfgdir:<DirName>][-port:<PortNumber>]
acrpe_console -help


L'ACRPE nécessite un répertoire de configuration, par défaut : c:\ACRPE. Ce répertoire peut être changé à l'aide de option -cfgdir:<DirName>.

Exemple : acrpe_console -cfgdir:"d:\configuration\acrpe"


L'ACRPE a pour port d'écoute par défaut le port 3007. Ce port peut être changé à l'aide de option -port:<PortNumber>. 

Exemple : acrpe_console -port:3025

Ce port d'écoute peut également être changé à l'aide du fichier de configuration nommé ACRPE.config placé dans le répertoire de configuration de l'ACRPE.




ACRPE_Service

acrpe_service accepte les mêmes options de démarrage que l'application console (-cfgdir et -port).
L'installation du service se fait à l'aide de la commande sc create dans une invite dos en mode administrateur.


Exemple : 

sc create ACRPE  binpath="<DirACRPE>\acrpe_service.exe"

ou avec l'option cfgdir
sc create ACRPE  binpath="<DirACRPE>\acrpe_service.exe -cfgdir=\"d:\configuration\acrpe\""


Le service peut être :

  • démarré à l'aide de la commande  sc start : sc start ACRPE
  • arrêté à l'aide de la commande sc stop : sc stop ACRPE
  • désinstallé à l'aide de la commande sc delete : sc delete ACRPE




Configuration ACRPE

La configuration de l'ACRPE (console ou service) se fait à l'aide de fichiers placés dans le répertoire de configuration (répertoire c:\acrpe par défaut, ou répertoire dont la valeur a été fixée au démarrage via l'option -cfgdir).
Ce répertoire doit contenir :

  • un fichier de configuration (au format XML), nommé ACRPE.config,
  • un (ou des) répertoire(s) contenant les fichiers états .RPT, ou des archives au format .zip contant des fichiers états .RPT,
  • optionnellement, un fichier de configuration (au format XML) des traces nommé log4Net.config.

ACRPE.config

Le fichier de configuration ACRPE.config permet de fixer les informations suivantes :

  • Le port d'écoute de l'ACRPE. Si une valeur de port est passée dans les options de démarrage, la valeur proposée dans le fichier de configuration est ignorée.

    ACRPE.config - <Port>
    <?xml version="1.0" encoding="utf-8"?>
    <ACRPEConfig>
    	<Port>3020</Port>
    </ACRPEConfig>
  • Les répertoires ou les archives contenant les fichiers .RPT


    • Répertoires
      Dans l'élément <ReportsDirLoaders>, il faut définir un sous-élément <ReportsDirLoader> pour chaque répertoire à scruter.
      Remarque : les noms relatifs de répertoires sont relatifs au répertoire de configuration.

      ACRPE.config - Répertoires - <ReportsDirLoaders>
      <?xml version="1.0" encoding="utf-8"?>
      <ACRPEConfig>	
      	<ReportsDirLoaders>
      		<ReportsDirLoader>Reports1</ReportsDirLoader>
      		<ReportsDirLoader>Reports\Reports2</ReportsDirLoader>
      		<ReportsDirLoader>c:\Reports</ReportsDirLoader>
      	</ReportsDirLoaders>
      </ACRPEConfig>
    • Archives (.zip)
      Dans l'élément <ReportsZipLoaders>, il faut définir un sous-élément <ReportsZipLoader> pour chaque archive à scruter.
      Le chemin et le nom de l'archive sont renseignés dans l'élément <ZipArchive>.
      Remarque : les noms relatifs de répertoires sont relatifs au répertoire de configuration.
      Il est possible de préciser les répertoires à scruter au sein de l'archive à l'aide des sous-éléments <FromDir> contenus dans un élément <FromDirs>.

      ACRPE.config - Archives - <ReportsZipLoaders>
      <?xml version="1.0" encoding="utf-8"?>
      <ACRPEConfig>
      	<ReportsZipLoaders>
      		<ReportsZipLoader>
      			<ZipArchive>Reports\reports.zip</ZipArchive>
      			<FromDirs>
      				<FromDir>com</FromDir>
      				<FromDir>alt</FromDir>
      			</FromDirs>
      		</ReportsZipLoader>
      	</ReportsZipLoaders>
      </ACRPEConfig>
  • les options de throttling. Le throttling permet de limiter le nombre requêtes entrantes sur une période. Dans le cas de traitements lourds (états volumineux), le throttling peut être utilisé pour éviter de surcharger une machine.
    Il est possible d'exprimer une limite du nombre de requêtes acceptées par seconde <LimitPerSecond>, par minute <LimitPerMinute> ou par heure <LimitPerHour>.  
    Une fois le quota atteint,  le serveur répond immédiatement avec une erreur HTTP 429 Two many requests.

    ACRPE.config - Throttling
    <?xml version="1.0" encoding="utf-8"?>
    <ACRPEConfig>
    	<Throttle>
    		<LimitPerSecond>10</LimitPerSecond>
    	</Throttle>
    </ACRPEConfig>
log4Net.config

Les traces de l'ACRPE s'appuient sur le framework Log4Net de la fondation Apache. Le fichier log4Net.config permet de définir la configuration des traces de l'ACRPE.

La liste et l'utilisation des appenders disponibles sont fournies sur le site de référence du frameworkhttps://logging.apache.org/log4net/release/config-examples.html

log4Net.config - Exemple : RollingFileAppender
<?xml version="1.0" encoding="utf-8"?><log4net>
	<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
		<file value="d:\ACRPE\ACRPE.log"/>
		<appendToFile value="true"/>
		<maximumFileSize value="100000KB"/>
		<maxSizeRollBackups value="2"/>

		<layout type="log4net.Layout.PatternLayout">
			<conversionPattern value="%date %level %thread Rpt=[%property{report}]-User=[%property{user}]-Pgm=[%property{pgm}] - %message%newline"/>
		</layout>
	</appender>

	<root>
		<level value="ERROR"/>
		<appender-ref ref="RollingFile"/>
	</root>
</log4net>

Remarque : pour enrichir les traces, l'ACRPE fixe les trois propriétés contextuelles suivantes : 

  • pgm : Nom du programme courant -> valeur du mot-réservé *PGM

  • user : Nom de l'utilisateur -> valeur du mot réservé *USER

  • report : Nom de l'état courant

L'affichage d'une propriété se fait à l'aide de la syntaxe %property{PropertyName} (Cf. Exemple ci-dessus).


Remarque

A partir du niveau INFO, toutes les requêtes et réponses de l'ACRPE sont tracées.


[CLOUD / WEB / EVENT] Utilisation de l'ACRPE à la place du service middleware Adélia d'impression

Actuellement, dans un contexte Java, la configuration du service d'impression repose sur l'association du serveur logique *WEB_REPORT à un serveur physique (MwClient.ini). 
La configuration middleware du serveur (MwServer.ini) a, dans ses informations de contexte, le répertoire où se trouvent les fichiers états .RPT.

Il est possible d'utiliser l'ACRPE à la place du service middleware d'impression en modifiant l'association du serveur logique *WEB_REPORT.
La nouvelle association doit cibler le pseudo serveur physique *WEB_API,  le point d'accès à l'ACRPE doit être renseigné (champ ApiEndPoint) : http://<Ip_ACRPE>:<Port_ACRPE>/ACRPE

Utilisation de l'ACRPE comme serveur d'impression Adélia - Exemple d'association du serveur logique *WEB_REPORT au serveur *WEB_API.


↑ Haut de page


  • Aucune étiquette