Bonaparte est basé sur une architecture client- serveur. C’est- à- dire que le noyau informatique (la partie de Bonaparte qui calcule la probabilité) et la base de données de Bonaparte marchent sur un serveur dédié. Clients de Bonaparte communiquent avec ce serveur sur un réseau. Comme tous les calculs sont effectués sur le serveur, il n’y a pas besoin d’hardware coûteux. En plus, toutes les données sont centralisées et peut être mieux sécurisé.
Les applications cliente de Bonaparte sont disponibles comme interfaces web (AJAX), Java sur le réseau (webstart) ou comme applications locale de Java. Dans tous les cas, ils ont besoin d’une connexion au serveur Bonaparte pour fonctionner.
Bonaparte gère sa propre base de données interne avancée (banque de données avancée qui marche sur RDBMS). Cette base de données suit toutes les modifications (qui, quoi et quand) et peut etre restauré á un moment précédent. La base de données de Bonaparte a été construite en considérant trois choses :
La capacité de faire marche arrière veut dire qu’un utilisateur est capable de sélectionner une version précédente dans la base de données&mdash ; une affichage de la base de données sans les informations qui sont ajoutées plus tard. Les utilisateurs peuvent également travailler avec cette version précédente. Le but (pour les raisons législatives) est quand il le faut, les correspondances précédentes peuvent être revérifier ou être réexaminer ; quelles données étaient disponibles à quel moment ? C’est rendu possible par une édition complète de l’histoire de tous les données, avec conséquence que les utilisateurs peuvent inspecter qui a modifié quoi, quand et comment.
La concomitance est implémentée par l’usage des branches privées. Un utilisateur peut éditer un objet et travailler avec cet objet nouveau, tandis que le reste des utilisateurs voit l’objet comme avant l’édition. Seulement quand l’utilisateur décide de publier ces modifications c’est visible pour les autres utilisateurs.
Comme Bonaparte a un système client- serveur, il est sensitif aux les interruptions du réseau ou panne de navigateur. Dans le but de minimaliser la perte d’information dans situations pareilles, nous avons implémenté un système de dépannage. Le système récupère automatiquement le travail et le sauve dans un branche privé. En cas d’un panne d’ordinateur, tous les utilisateurs doivent simplement redémarrer leur « cliente » et ils peuvent continuer leur travail.
On peut configurer Bonaparte pour qu’il utilise seulement les connections de réseau sécur ;es (https). Comme ça, l’authenticité du serveur peut être vérifié et les données sont cryptées avant envoi sur le réseau. Bonaparte peut également être adapté avec une base de données interne crypté. Une option est que Bonaparte peut être adapté avec une base de données interne et cryptée, comme ça, dans le cas d’un piratage du serveur, l’information sera illisible.
Tous les clients de Bonaparte requirent aux utilisateurs de se connecter (à voir Figure 2), pour créer une session sécurisée. En plus, les clients de Java sont également protégé par un clé matériel. Sans ce clé matériel, l’application ne se démarre pas.
Bonaparte a été écrit en Java en utilisant technologies Servlet et le seule critère est que le système d’exploitation support JVM et qu’il accueille un serveur d’application. Nous avons des bonnes expériences faire marcher Bonaparte sur FreeBSD Unix, mais il marche aussi sur Linux et Windows. Comme application, serveur Apache Tomcat a été utilisé. En plus, Bonaparte requière une base de données SQL pour le stockage de données.
Afin d’utiliser le (AJAX) web client, un navigateur modern (dernière édition de Firefox, Explorer, Opera ou Chrome) est requis. En cas d’un client Java, seulement Java (1.6 ou mieux) est exigé.
Bonaparte peut être intégré facilement dans une infrastructure informatique (à voir Figure 1) par les interfaces. Bonaparte accepte les données en langage XML, et peut de ce fait être connecté à votre base de données courante (peut- être par un convertisseur de données). Un exemple d’un convertisseur est Napoléon (développé par NFI). Il est également possible de faire contrôler le serveur par logiciel tiers sans utiliser les Bonaparte Clients.