Technologie
Une
technologie 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 trop simple retarde l'accomplissement et
créé des surcoéts en foréant les programmeurs à utiliser des environnements
peu familiers quand leur plate-forme ne peut s'adapter à la
téche demandée. Microsoft Access et Visual Basic en
sont de bons exemples.
La
puissance d'Apache OFBiz vient de l'utilisation de plusieurs dispositifs importants
de la norme J2EE, sans donner dans l'excés. C'est un framework trés ouvert. Si nécessaire, son architecture permet aux développeurs d' utiliser confortablement
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 englobe l'approche orientée
objet apparue il y a une décennie. OFBiz permet à ses services d'étre appelés depuis l'extérieur, par le Web (le seul concept
que la plupart des personnes retiennent de SOA, on parle aussi
de services Web) ou dans OFBiz méme depuis n'importe quel endroit du
programme. En plus du gestionnaire standard de services Java,
OFBiz a des gestionnaires spécialisés pour SOAP, la gestion
de flux ou encore d'autres langages. Il doit néanmoins étre étendu à l'aide d'AXIS2 ou CXF dans les cas complexes
L'Architecture
Orientée Evénement (EDA en anglais) Les services d'OFBiz peuvent étre déclenchés en fonction d'événements liés à d'autres services et méme sur la valeur de données (entités dans OFBiz). 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é.
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, voire notament son utilisation avec succés dans le logiciel Jira de la société Atlassian) 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 implémtentées dans OFBIz 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, dites "screen widgets", 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 rapports (fichiers PDF), des code-barres, etc.. Cela
n'interdit pas d'utiliser HTML directement si nécessaire gréce à Freemarker.
-
Scripting,
OFBiz à identifié le fait que de devoir coder des "action
scripts" au sein de classes 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 nombre 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 Groovy. 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 lié aux données avec peu de code et sans nécessité de compilation, ni de redémarrage du serveur. Ajoutez un éditeur
XML à complétion de code et vous avez un environnement de programmation pour professionnels ne connaissant pas Java.
-
Le
code d'OFBiz vaudrait déjé son pesant d'or (plus de 20 millions de dollars suivant Ohloh é ce jour, 2 mars 2012) 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 le commerce électronique, la gestion
commerciale avec articles, acteur (fournisseurs et 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 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 initial de la base de données utilisé, qui a été augmenté et adapté depuis au contexte d'OFBiz, représente
à lui seul certainement un nombre important d'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 Apache 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 et garantissant la cohérence dans un environnement clusterisé (en se basant sur Apache ActiveMQ)
Si nécessaire vous pouvez facilement étendre OFBiz en amont en utilisant Apache HTTPD (le serveur web le plus utilisé dans le monde) avec les module mod_proxy_ajp et mod_rewrite par exemple. Vous pouvez étendre les services web d'OFBiz en aval à l'aide d'Apache Axis2 ou d'Apache CXF. Et si vraiment vous avez besoin d'intégrer OFBiz au sein de votre architecture d'application vous pouvez vous tournez vers Apache ServiceMix, l'ESB de la fondation Apache, voire Apache Camel.
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'en n'exigez certainement pas assez. Quand
vous voulez améliorer/augmenter votre logiciel pour prendre pied dans
un nouveau secteur, 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 la communauté large et active
qui soutient OFBiz vous garantit une forte probabilité pour que
ce dont vous avez besoin ait déjé été envisagé.
De plus la garantie de pérenité est grande,
une telle communauté ne disparaét pas du jour au lendemain. La preuve: OFBiz existe déjé depuis plus d'une décennie et continue de croitre avec sa communauté...
|