Sunday, November 29, 2009

Architecture technique et modulaire

Avant d'entamer la partie 'Administration de OpenERP', il me semble nécessaire de faire un petit aperçu sur le langage de programmation 'Python' avec lequel est programmé OpenERP .
Pour cela, je vous invite à faire une petite balade sur le tutoriel présent sur ce lien http://python.developpez.com/cours/TutoSwinnen/ .

* L’architecture technique

* Architecture client/serveur :

OpenERP est basé sur une architecture client/serveur comme le décrit le schéma ci-dessous:




L’OpenERP est couplé à une base de données PostgreSQL. De plus, il est compatible au pack Open Office, et aussi avec des outils de reporting (Open Report) pour produire des rapports en PDF ou en HTML.
Le serveur et le client communiquent entre eux en utilisant le protocole XML­RPC.
La logique du OpenERP (TinyERP) est entièrement du côté serveur. Le client est simple; sa tâche est de demander les données (formulaire ou listes) au serveur et de les renvoyer. Avec cette approche, presque tout le développement est fait du côté serveur. Ce qui rend OpenERP plus simple au développement et à la maintenance.
L'opération client est très simple; Quand un utilisateur exécute une action (sauvegarder une forme, ouvrir un menu, imprimer, ...) il envoie cette action au serveur. Le serveur envoi alors la nouvelle action pour s'exécuter au client.
Il y a trois types d'actions :
• Ouvrir une fenêtre (formulaire, listes)
• Imprimer un document
• Exécuter un wizard

*MVC modèle dans la théorie classique de la POO :

Un (MVC) est une architecture de modèles utilisée en génie logiciel. Dans des applications complexes qui présentent des lots de données aux utilisateurs, on souhaite souvent séparer les données (modèle) et l'interface utilisateur (vue), de sorte que les changements à l'interface utilisateur n'affectent pas le traitement des données, et que les données peuvent être réorganisées sans changer l'interface utilisateur.

Le MVC résout ce genre de problème en découplant l'accès des données et la logique des applications de la présentation des données et de l'interaction utilisateur, en introduisant un composant intermédiaire : « le contrôleur ».

Dans OpenERP, on peut appliquer cette sémantique de model­view­controller avec :
Modele : les modèles sont les objets déclarés dans OpenERP. Ils sont également des tables PostgreSQL.
view : les vues sont définies en fichiers XML dans OpenERP.
• contrôleur : le contrôleur est Python qui contrôle OpenERP.

* L’architecture modulaire:

Comme il est déjà cité que le principe fondateur du OpenERP est de construire des applications informatiques de manière modulaire (modules indépendants entre eux) tout en partageant une base de données unique et commune. Cela crée une différence importante avec la situation préexistante (les applications sur mesure existant avant les ERP) car les données sont désormais supposées standardisées et partagées, ce qui élimine les saisies multiples et évite l'ambiguïté
des données multiples de même nature donc OpenERP est un ensemble dont toutes les parties fonctionnent les unes avec les autres d'où l'ergonomie et l'unicité des informations et donc la cohérence du système informatique.

No comments:

Post a Comment