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
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.
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.
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 !
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.
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é.
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
|