Bonjour,
je souhaiterais lancer un débat sur les cas d'utilisations favorisant l'usage d'une base de données embarquée (H2, Berkeyley DB JE, Derby) et ceux favorisant les BD exclusivement client/serveur (Oracle,Postgres,Mysql)?
Personnellement:
je pense que l'usage d'une base embarquée simplifie énormément le déploiement de l'application, améliore son évolutivité et sa robustesse, et surtout permet d'avoir des performances bien meilleures étant donné le shunt client/serveur...
...après, Il est clair que même dans des SOA où l'usage client/serveur est déporté entre les services métiers, il reste possible que derrière chaque service soit cablé un sous-systême composé de clients de différentes natures alimentant une même base de données :
Exemple: admettons qu'un sous-systême soit composé :
* D'un client indépendant développé en C pour insérer massivement et rapidement des données à partir de fichiers déposés toutes les 30s dans un répertoire FTP;
* d'un serveur métier EJB servant un conteneur de servlet pour diffuser ou modifier des données de la BD à l'aide d'un intranet;
* un web service qui expose les services des EJB sessions au bus de services.
On voit clairement que dans ce cas, l'usage d'une base de données embarquée devient moins triviale.
Attention!! je vois déja venir ceux qui vont me dire oui mais dans ton exemple l'architecture de ton système est déja pourrie à la base...certe! mais mettre en place une SOA consiste dans un premier temps à interfaçer l'existant (même s'il est vraiment crade!) pour faire la liaison aux bus de services, et après on peut tailler dans le lard...
Voilà, j'attend vos retours d'expériences : DB Embedded killer or not?
Partager