{"id":367,"date":"2008-01-16T22:08:06","date_gmt":"2008-01-16T21:08:06","guid":{"rendered":"http:\/\/www.ziserman.com\/blog\/2008\/01\/16\/architecture-macro-dun-service-web\/"},"modified":"2008-01-16T22:08:06","modified_gmt":"2008-01-16T21:08:06","slug":"architecture-macro-dun-service-web","status":"publish","type":"post","link":"https:\/\/www.ziserman.com\/blog\/2008\/01\/16\/architecture-macro-dun-service-web\/","title":{"rendered":"Architecture (macro) d&rsquo;un service Web"},"content":{"rendered":"<p>(re)Passons aux choses s\u00e9rieuses !<\/p>\n<p>Donc la question, c&rsquo;est quelle est la fa\u00e7on d&rsquo;organiser un service web&#8230; comme un site marchand par exemple.<\/p>\n<p>En particulier, comment traiter le coeur du service, c&rsquo;est \u00e0 dire les bases de donn\u00e9es ?<\/p>\n<p>Habituellement, on s\u00e9pare le service web en \u00ab\u00a0deux parties\u00a0\u00bb :<\/p>\n<ul>\n<li>Le front-office : c&rsquo;est la partie visible par les clients du service. Pour un service e-commerce, c&rsquo;est le site marchand lui-m\u00eame.<\/li>\n<li>Le back office : c&rsquo;est donc tout le reste. En fait, le back office regroupe beaucoup de modules (suivant la taille des projets) : CRM, emailing, outils de tracking (business intelligence), lien vers le syst\u00e8me logistique, &#8230;<\/li>\n<\/ul>\n<p>Chaque partie \u00e0 besoin de bases de donn\u00e9es pour travailler.<\/p>\n<p>Comment faire ?<\/p>\n<ul>\n<li>Faire une seule base, et brancher tous les modules sur cette base centrale ?<\/li>\n<li>Mettre une base par module, et d\u00e9velopper des logiciels de synchronisation, pour que les donn\u00e9es des diff\u00e9rents modules soient coh\u00e9rentes ?<\/li>\n<\/ul>\n<p>En fait, il n&rsquo;y a pas de r\u00e9ponse syst\u00e9matique, et il faut prendre en compte beaucoup de param\u00e8tres :<\/p>\n<ul>\n<li>En r\u00e8gle g\u00e9n\u00e9ral, <strong>il vaut mieux que le front office ai sa propre base de donn\u00e9es<\/strong>, que cette base de donn\u00e9es soit exclusive pour le front donc. L&rsquo;id\u00e9e, c&rsquo;est que <strong>rien ne doit impacter le front office, qui est le moteur business<\/strong>.<\/li>\n<li>On d\u00e9veloppe rarement les modules \u00ab\u00a0\u00e0 partir de rien\u00a0\u00bb : on utilise un \u00ab\u00a0framework\u00a0\u00bb pour le front, un module type Sugar CRM pour le CRM, &#8230; Or, ces modules ont leurs propres bases de donn\u00e9es.<\/li>\n<li>Un autre param\u00e8tre est le nombre d&rsquo;Internautes utilisant le Front. A partir d&rsquo;un certain volume, on n&rsquo;a plus le choix, il faut une base sp\u00e9cifique pour le Front.<\/li>\n<li>Le prix bien s\u00fbr, prix des licences logicielles et prix des d\u00e9veloppements.<\/li>\n<li>En particulier, si on a plusieurs bases de donn\u00e9es, la synchronisation entre ces bases devient le point cl\u00e9. Il faut d\u00e9velopper des modules de synchronisation, avec des strat\u00e9gies (quand doit on synchroniser, sur quels \u00e9v\u00e8nements). Il faut \u00e9galement penser aux \u00e9volutions : les bases de donn\u00e9es sont faites pour \u00e9voluer. Il faut des modules de synchro pour g\u00e9rer les versions des bases.<\/li>\n<\/ul>\n<p>Dans tous les cas, <strong>il faut penser cette architecture des bases de donn\u00e9es avec soin, c&rsquo;est l&rsquo;\u00e9pine dorsale de tout le syst\u00e8me<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(re)Passons aux choses s\u00e9rieuses ! Donc la question, c&rsquo;est quelle est la fa\u00e7on d&rsquo;organiser un service web&#8230; comme un site marchand par exemple. En particulier, comment traiter le coeur du service, c&rsquo;est \u00e0 dire les bases de donn\u00e9es ? Habituellement, on s\u00e9pare le service web en \u00ab\u00a0deux parties\u00a0\u00bb : Le front-office : c&rsquo;est la partie [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[2,5],"tags":[371,372],"class_list":["post-367","post","type-post","status-publish","format-standard","hentry","category-e-commerce","category-software","tag-e-commerce","tag-software"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Architecture (macro) d&#039;un service Web - Ziserman.com<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.ziserman.com\/blog\/2008\/01\/16\/architecture-macro-dun-service-web\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Architecture (macro) d&#039;un service Web - Ziserman.com\" \/>\n<meta property=\"og:description\" content=\"(re)Passons aux choses s\u00e9rieuses ! Donc la question, c&rsquo;est quelle est la fa\u00e7on d&rsquo;organiser un service web&#8230; comme un site marchand par exemple. En particulier, comment traiter le coeur du service, c&rsquo;est \u00e0 dire les bases de donn\u00e9es ? Habituellement, on s\u00e9pare le service web en \u00ab\u00a0deux parties\u00a0\u00bb : Le front-office : c&rsquo;est la partie [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.ziserman.com\/blog\/2008\/01\/16\/architecture-macro-dun-service-web\/\" \/>\n<meta property=\"og:site_name\" content=\"Ziserman.com\" \/>\n<meta property=\"article:published_time\" content=\"2008-01-16T21:08:06+00:00\" \/>\n<meta name=\"author\" content=\"Fran\u00e7ois\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ziserman\" \/>\n<meta name=\"twitter:site\" content=\"@ziserman\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fran\u00e7ois\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/01\\\/16\\\/architecture-macro-dun-service-web\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/01\\\/16\\\/architecture-macro-dun-service-web\\\/\"},\"author\":{\"name\":\"Fran\u00e7ois\",\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/#\\\/schema\\\/person\\\/f9bae013e59005579f4b86f162f89c72\"},\"headline\":\"Architecture (macro) d&rsquo;un service Web\",\"datePublished\":\"2008-01-16T21:08:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/01\\\/16\\\/architecture-macro-dun-service-web\\\/\"},\"wordCount\":413,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/#\\\/schema\\\/person\\\/f9bae013e59005579f4b86f162f89c72\"},\"keywords\":[\"e-commerce\",\"Software\"],\"articleSection\":[\"e-commerce\",\"Software\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/01\\\/16\\\/architecture-macro-dun-service-web\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/01\\\/16\\\/architecture-macro-dun-service-web\\\/\",\"url\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/01\\\/16\\\/architecture-macro-dun-service-web\\\/\",\"name\":\"Architecture (macro) d'un service Web - Ziserman.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/#website\"},\"datePublished\":\"2008-01-16T21:08:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/01\\\/16\\\/architecture-macro-dun-service-web\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/01\\\/16\\\/architecture-macro-dun-service-web\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/01\\\/16\\\/architecture-macro-dun-service-web\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Architecture (macro) d&rsquo;un service Web\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/\",\"name\":\"BLOG E-COMMERCE\",\"description\":\"Fran\u00e7ois Ziserman : entrepreneur, IA et \u00e9b\u00e9nisterie\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/#\\\/schema\\\/person\\\/f9bae013e59005579f4b86f162f89c72\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/#\\\/schema\\\/person\\\/f9bae013e59005579f4b86f162f89c72\",\"name\":\"Fran\u00e7ois\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ba23809fd4de9b5f86f21715fd23efa8331e766f2929dc11d3ae98539ba237b4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ba23809fd4de9b5f86f21715fd23efa8331e766f2929dc11d3ae98539ba237b4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ba23809fd4de9b5f86f21715fd23efa8331e766f2929dc11d3ae98539ba237b4?s=96&d=mm&r=g\",\"caption\":\"Fran\u00e7ois\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ba23809fd4de9b5f86f21715fd23efa8331e766f2929dc11d3ae98539ba237b4?s=96&d=mm&r=g\"},\"url\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Architecture (macro) d'un service Web - Ziserman.com","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.ziserman.com\/blog\/2008\/01\/16\/architecture-macro-dun-service-web\/","og_locale":"fr_FR","og_type":"article","og_title":"Architecture (macro) d'un service Web - Ziserman.com","og_description":"(re)Passons aux choses s\u00e9rieuses ! Donc la question, c&rsquo;est quelle est la fa\u00e7on d&rsquo;organiser un service web&#8230; comme un site marchand par exemple. En particulier, comment traiter le coeur du service, c&rsquo;est \u00e0 dire les bases de donn\u00e9es ? Habituellement, on s\u00e9pare le service web en \u00ab\u00a0deux parties\u00a0\u00bb : Le front-office : c&rsquo;est la partie [&hellip;]","og_url":"https:\/\/www.ziserman.com\/blog\/2008\/01\/16\/architecture-macro-dun-service-web\/","og_site_name":"Ziserman.com","article_published_time":"2008-01-16T21:08:06+00:00","author":"Fran\u00e7ois","twitter_card":"summary_large_image","twitter_creator":"@ziserman","twitter_site":"@ziserman","twitter_misc":{"\u00c9crit par":"Fran\u00e7ois","Dur\u00e9e de lecture estim\u00e9e":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ziserman.com\/blog\/2008\/01\/16\/architecture-macro-dun-service-web\/#article","isPartOf":{"@id":"https:\/\/www.ziserman.com\/blog\/2008\/01\/16\/architecture-macro-dun-service-web\/"},"author":{"name":"Fran\u00e7ois","@id":"https:\/\/www.ziserman.com\/blog\/#\/schema\/person\/f9bae013e59005579f4b86f162f89c72"},"headline":"Architecture (macro) d&rsquo;un service Web","datePublished":"2008-01-16T21:08:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.ziserman.com\/blog\/2008\/01\/16\/architecture-macro-dun-service-web\/"},"wordCount":413,"commentCount":2,"publisher":{"@id":"https:\/\/www.ziserman.com\/blog\/#\/schema\/person\/f9bae013e59005579f4b86f162f89c72"},"keywords":["e-commerce","Software"],"articleSection":["e-commerce","Software"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.ziserman.com\/blog\/2008\/01\/16\/architecture-macro-dun-service-web\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.ziserman.com\/blog\/2008\/01\/16\/architecture-macro-dun-service-web\/","url":"https:\/\/www.ziserman.com\/blog\/2008\/01\/16\/architecture-macro-dun-service-web\/","name":"Architecture (macro) d'un service Web - Ziserman.com","isPartOf":{"@id":"https:\/\/www.ziserman.com\/blog\/#website"},"datePublished":"2008-01-16T21:08:06+00:00","breadcrumb":{"@id":"https:\/\/www.ziserman.com\/blog\/2008\/01\/16\/architecture-macro-dun-service-web\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.ziserman.com\/blog\/2008\/01\/16\/architecture-macro-dun-service-web\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.ziserman.com\/blog\/2008\/01\/16\/architecture-macro-dun-service-web\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.ziserman.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Architecture (macro) d&rsquo;un service Web"}]},{"@type":"WebSite","@id":"https:\/\/www.ziserman.com\/blog\/#website","url":"https:\/\/www.ziserman.com\/blog\/","name":"BLOG E-COMMERCE","description":"Fran\u00e7ois Ziserman : entrepreneur, IA et \u00e9b\u00e9nisterie","publisher":{"@id":"https:\/\/www.ziserman.com\/blog\/#\/schema\/person\/f9bae013e59005579f4b86f162f89c72"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.ziserman.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/www.ziserman.com\/blog\/#\/schema\/person\/f9bae013e59005579f4b86f162f89c72","name":"Fran\u00e7ois","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/ba23809fd4de9b5f86f21715fd23efa8331e766f2929dc11d3ae98539ba237b4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ba23809fd4de9b5f86f21715fd23efa8331e766f2929dc11d3ae98539ba237b4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ba23809fd4de9b5f86f21715fd23efa8331e766f2929dc11d3ae98539ba237b4?s=96&d=mm&r=g","caption":"Fran\u00e7ois"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/ba23809fd4de9b5f86f21715fd23efa8331e766f2929dc11d3ae98539ba237b4?s=96&d=mm&r=g"},"url":"https:\/\/www.ziserman.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/posts\/367","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/comments?post=367"}],"version-history":[{"count":0,"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/posts\/367\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/media?parent=367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/categories?post=367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/tags?post=367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}