Une meilleure technologie

Les grandes entreprises dépensent beaucoup d'argent pour vous convaincre que leur logiciel est populaire parce qu'il est bon, et non parce qu'ils dépensent beaucoup d'argent. Les petites compagnies voudront vous convaincre qu'elles ont une expertise sans laquelle vous ne pouvez vivre. Nos solutions sont basées sur le projet Open For Business, c'est pourquoi nous pensons que nous fournissons une technologie d'une qualité supérieure.

En évaluant la technologie d'un logiciel il y a certaines questions de bon sens qu'il faut se poser, voici, à notre avis, quelques éléments de réponse.


Est-il vraiment important que la technologie soit bonne?
Après tout, si cela fonctionne, qui s'en inquiète ?
La qualité de votre logiciel peut affecter votre résultat dans trois secteurs: acquisition, production et opportunité.

Acquisition de la technologie

    Trop compliqué
Une technologie de logiciel trop compliquée ajoute de la confusion, des délais, des erreurs et coûte cher. C'est vrai des approches adoptées par Java/J2EE de Sun et C#/.net de Microsoft. La production d'écrans à l'aide de  langage comme JSP ou ASP prend du temps et limite leur organisation. Encapsuler les fonctionnalités dans des Java Beans ou utiliser EJB pour avoir des fonctionnalités distantes créent de grandes quantités d'un code sans valeur ajoutée qui doit être maintenu. Ces approches, qui peuvent (à peine) se justifier dans de grandes entreprises, sont contre-productives dans le cadre de PME. Le niveau des programmeurs Java nécessaires pour établir de tels ensembles est très élevé, ce qui les mets hors de portée de beaucoup de sociétés.
    Trop simple
De même, une technologie de logiciel trop simple retarde l'accomplissement et ajoute au coût en forçant les programmeurs à utiliser des environnements peu familiers quand leur plate-forme ne peut s'adapter à la tâche demandée. Microsoft Acces et Visual Basic en sont des bons exemples.
    Juste ce qu'il faut
La puissance d'OFBiz vient de l'utilisation de plusieurs dispositifs importants de la norme de J2EE, sans donner dans l'excès. C'est une plateforme fortement distribuée (elle peut faire beaucoup avec quelques commandes), mais son architecture permet si nécessaire à des développeurs de confortablement utiliser des environnements plus puissants sans perturber l'architecture.

Certains des dispositifs qui rendent OFBiz si productif sont:

  • L'Architecture Orientée Services (SOA en anglais) est une approche modulaire permettant de réutiliser le logiciel. Elle surpasse/remplace l'approche orientée objet apparue il y a une décennie. OFBiz permet à ses services de s'appeler extérieurement, par le Web (le seul concept que la plupart des personnes retiennent de SOA, on parle aussi de Web services) ou intérieurement depuis n'importe quel endroit du programme. Ces mêmes services peuvent être déclenchés sur les actions d'autres transactions de services ou de données. Ceci confère une grande partie des avantages normalement dévolus aux procédures stockées et déclencheurs des bases de données mais sans dégrader la portabilité. En plus du gestionnaire standard de services Java, OFBiz a des gestionnaires spécialisés pour SOAP (SOA), la gestion de flux ou encore d'autres langages.
  • Le moteur d'entité (Entity Engine), alors que presque toutes les bases de données emploient le langage de programmation de SQL, les différences entre leurs différents "dialectes" rendent toujours nécessaire un codage spécifique des applications en fonction de la base de données utilisées en production. Ceci s'ajoute au coût du développement et limite les options. Le moteur d'entité d'OFBiz (largement reconnu par la communauté internationale comme un excellent outil) masque les nuances des diverses bases de données, rendant possible une écriture unique quelle que soit la base de données utilisées, parmi celles-ci PostGres, MySQL, Max DB (anciennement SAP DB), Oracle, Sybase, MS SQL Server, Advantage, etc.. Ceci permet au développeur d'employer de simples de fichiers XML pour s'interfacer avec les bases de données.
  • Screen widgets ('éléments visuels), à l'origine OFBiz utilisait JSP (Java Server Pages) pour le développement d'interface utilisateur (la volonté d'OFBiz a toujours été d'utiliser les standards, normes et logiciels existants là où cela a du sens). Mais sa technologie actuelle "d'éléments visuels" a dépassé de deux générations JSP. Les éléments visuels utilisent des fichiers de configuration XML pour définir les écrans qui peuvent être utilisés sur le web, en mode application standard (Linux, Windows) ou pour produire des bulletins (newsletters). Cela n'interdit pas d'utiliser directement HTML si nécessaire.
  • Scripting OFBiz à identifier le fait que de devoir coder des "action scripts" au sein de classes de Java (ce qui est nécessaire si vous voulez donner un semblant d'ordre et de structure à JSP) empêche la séparation entre la gestion de l'affichage et les règles de gestion. OFBiz offre beaucoup de possibilités pour écrire des "action scripts" de façon plus efficace. Des classes Java peuvent être appelées par des "action scripts" intégrés au code Java ou  non, par l'intermédiaire de services ou encore à l'aide de l'interpréteur Beanshell. OFBiz offre également un environnement de script à base de XML (appelé mini-langage) qui recourt à la puissance du moteur d'entité pour effectuer beaucoup du travail de base de données avec peu de code. Ajoutez un éditeur XML et vous avez un environnement de programmation visuel pour des professionnels ne connaissant pas Java. Note du traducteur, XML n'est pas vraiment visuel. Mais les concepts sont bons. Voir notamment XUL (Mozilla-Firebird), XMAML (Microsoft) ou encore XUI.
  • Le code d'OFBiz vaudrait déjà son pesant d'or s'il n'était rien d'autre qu'un environnement de développement. Le fait qu'il soit disponible sous forme d'un PGI comprenant des modules comme l'ecommerce (vente en ligne), la gestion commerciale avec articles/acteur[fournisseurs-clients]/commandes[achat-vente], la gestion de point de vente (caisse enregistreuse) et le contrôle en temps réel du stock - tous codés impeccablement et conformément aux normes de codage de Java - ajoute immensément à sa valeur. En décidant des schémas de base de données pour ces modules, les architectes d'OFBiz n'ont pas réinventé la roue. Au lieu de cela ils ont fortement tiré partie d'un ouvrage du "gourou" des base de données, Len Silverston : Data Model Resource Book. Avoir 60 à 80% de l'application déjà pensée est une bonne manière d'augmenter la productivité ! Le schéma intial de la base de données utilisé, il a été adapté et augmenté depuis au contexte d'OFBiz, représente à lui seul certainement au moins 100 années/homme d'expérience !

    Production

Comme c'est un logiciel libre, OFBiz contribue à la productivité dans le déploiement (lors de l'hébergement par exemple) en évitant le besoin de spécialités coûteuses telles que les serveurs d'application (par exemple Weblogic ou Webshere) ou les bases de données. Ainsi Tomcat, configuré et utilisé de manière interne et transparente, contribue fortement à la valeur ajouté d'OFBiz, sans parler de la facilté de maintenance.

OFBiz élimine le besoin de ressources supplémentaires en base de données en mettant en application un système de cache sophistiqué qui maintient les données généralement utilisées en mémoire. Ce système de cache peut être employé dans un mode distribué, permettant à une seule base de données de servir plusieurs clients dans les meilleures conditions.

    Opportunité

Les coûts liés à l'opportunité sont ceux qui surviennent après le déploiement initial, quand vous voulez réagir à différents débouchés. Si vous pensez votre logiciel d'entreprise comme quelque chose de statique, alors vous n'exigez certainement pas assez de lui. C'est quand vous voulez améliorer/augmenter votre logiciel pour prendre pied dans un nouveau secteur que le fait que votre application soit basée sur une plateforme de développement, pas simplement codée de manière à accomplir un résultat, vous donne un grand avantage. Des améliorations peuvent être aisément faites et le fait qu'il y ait une large et active communauté derrière OFBiz vous garantit une forte probabilité pour que ce dont vous avez besoin ait déjà été envisagé.

    Le Génie et la lampe

OFBiz est un exemple parfait de ce qui peut se produire si on laisse carte blanche à un "génie" sans contrainte marketing. Les problèmes d'aujourd'hui sont résolus de la façon la plus efficace sans compromis avec un quelconque existant. Une communauté d'utilisateurs, pas plus contrainte, peut alors valider l'approche et soutenir sa croissance...

Libre traduction d'un article de Automations Group

 

Copyright (c) 2000-2006 Les Arts. Tous droits réservés.
Prévu pour 800x600, en police de taille moyenne. Compatible IE et Mozilla (Firefox, Netscape, ...)

04 67 51 19 38    Ecrire au webmaster    06 11 79 50 28