Bonjour,
Je tente de comprendre le SOA depuis un moment. Mais il y a certains points qui restent obscurs.
1 - Jusqu'où peut s'étendre un service ?
Est ce que le CRM est un service ? Quand j'ai lu les différentes documentation, il semblait plus que chacun des processus contenu dans le CRM (par exemple, créer un client, passer une commande, etc...) étaient des services. Mais si c'est le cas, ça veut dire que chacun de ces processus peut être utilisé indépendamment des autres ? Je pourrais par exemple utiliser le service contenant "passer une commande" en le combinant avec un autre service que je n'ai pas codé et qui remplit le processus "créer un client" ?
J'espère que vous voyez où je bloque.
2 - Par ailleurs, je ne comprends pas pourquoi est ce que l'on se met à faire du SOA en amont alors qu'au niveau de la base de données, tout reste en monolithique ? Je me demande en fait pourquoi est ce que la base de données ne serait pas elle aussi éclatée ? S'il doit être possible de remplacer le service "créer un client", cela voudrait dire que les entities correspondants ne devraient plus exister et, par conséquent, les tables associées dans la base de données non ?
3 - Est ce que je ne suis pas en train de tourner autour de l'ESB ? Ou mon problème c'est la granularité d'un service ? Au secours !
4 - C'est la dernière... Quand vous créez un service : vous ne pouvez pas demander en paramètres des objets métiers qui vous sont propres. Vous devez passer par des messages n'est ce pas ? Est ce que l'interface de mes services doivent par exemple contenir des types simples (entier, string, etc...) ou dois je recevoir des messages de type XML et donc confirmer ma question 3 à savoir que qui dit SOA, dit ESB puisque c'est lui qui orchestre le tout ? Qui met de la colle entre les services ?
Merci à ceux qui liront !
Un grand merci à ceux qui répondront de la part de ceux qui liront et moi même !
En fait, merci tout le monde ;-) !
Partager