r501 - in trunk/src/site: resources/schemes rst
Author: jcouteau Date: 2010-11-23 12:04:58 +0100 (Tue, 23 Nov 2010) New Revision: 501 Url: http://nuiton.org/repositories/revision/wikitty/501 Log: Improve index and feature pages Modified: trunk/src/site/resources/schemes/multiServerDeployment.png trunk/src/site/resources/schemes/multiServerDeployment.svg trunk/src/site/resources/schemes/swingDeployment.png trunk/src/site/resources/schemes/swingDeployment.svg trunk/src/site/resources/schemes/webDeployment.png trunk/src/site/resources/schemes/webDeployment.svg trunk/src/site/rst/features.rst trunk/src/site/rst/index.rst Modified: trunk/src/site/resources/schemes/multiServerDeployment.png =================================================================== (Binary files differ) Modified: trunk/src/site/resources/schemes/multiServerDeployment.svg =================================================================== --- trunk/src/site/resources/schemes/multiServerDeployment.svg 2010-11-23 10:38:36 UTC (rev 500) +++ trunk/src/site/resources/schemes/multiServerDeployment.svg 2010-11-23 11:04:58 UTC (rev 501) @@ -15,7 +15,10 @@ id="svg2" version="1.1" inkscape:version="0.48.0 r9654" - sodipodi:docname="multiServerDeployment.svg"> + sodipodi:docname="multiServerDeployment.svg" + inkscape:export-filename="/home/couteau/workspace/nuiton/wikitty/trunk/src/site/resources/schemes/multiServerDeployment.png" + inkscape:export-xdpi="36" + inkscape:export-ydpi="36"> <defs id="defs4"> <linearGradient @@ -491,8 +494,8 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.7" - inkscape:cx="438.77185" - inkscape:cy="765.76318" + inkscape:cx="516.43557" + inkscape:cy="839.84582" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" @@ -983,31 +986,31 @@ x="394.35074" y="78.076469">Écriture</tspan></text> <path - style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:2,2;stroke-dashoffset:0" + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:4,4;stroke-dashoffset:0" d="m 474.7717,133.12337 0,184.35284 -12.12183,0 c 0,0 -58.41553,10.84193 -58.41553,-87.14286 C 418.16222,88.942654 312.94873,74.961012 312.61683,134.75243" id="path4633" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" /> <path - style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:2,2;stroke-dashoffset:0" + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:4,4;stroke-dashoffset:0" d="m 312.58929,135.21932 -0.26786,259.82143 0,35.17858 0,0.80357" id="path5143" inkscape:connector-curvature="0" /> <path - style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:2,2;stroke-dashoffset:0" + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:4,4;stroke-dashoffset:0" d="m 339.64286,429.1479 0,-106.78572 c 0,0 12.5,0 57.14285,0 44.64286,0 103.57143,0.35714 103.57143,0.35714 l 0,169.64286 132.85715,0 0,-1.07143" id="path5145" inkscape:connector-curvature="0" /> <path - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="m 315.21413,425.36687 -2.98199,5.16495 -2.84586,-4.92918" + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 315.57585,423.78358 -3.28755,7.5519 -3.13746,-7.20717" id="path5147" inkscape:connector-curvature="0" /> <path inkscape:connector-curvature="0" id="path5149" - d="m 628.66329,489.47614 5.23815,2.85144 -4.85621,2.96866" - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + d="m 627.60257,489.55184 6.22317,2.77726 -5.76941,2.89144" + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> <path style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" d="m 687.31678,123.43656 -7.31279,7.77189 -5.98519,-7.24614" @@ -1030,14 +1033,29 @@ x="605.71423" y="78.076469">Lecture</tspan></text> <path - style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:2,2;stroke-dashoffset:0" + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:4,4;stroke-dashoffset:0" d="m 680,133.07647 0,293.57143 0,1.42857" id="path5161" inkscape:connector-curvature="0" /> <path - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="m 682.93594,422.72741 -3.02469,5.14006 -2.80492,-4.95259" + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 684.52673,421.27221 -4.54442,8.28075 -4.21424,-7.97872" id="path5163" inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + style="font-size:18.30511665px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" + x="354.65747" + y="341.03125" + id="text3902" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3904" + x="354.65747" + y="341.03125">Notification</tspan><tspan + sodipodi:role="line" + x="354.65747" + y="363.91266" + id="tspan3906">d'écriture</tspan></text> </g> </svg> Modified: trunk/src/site/resources/schemes/swingDeployment.png =================================================================== (Binary files differ) Modified: trunk/src/site/resources/schemes/swingDeployment.svg =================================================================== --- trunk/src/site/resources/schemes/swingDeployment.svg 2010-11-23 10:38:36 UTC (rev 500) +++ trunk/src/site/resources/schemes/swingDeployment.svg 2010-11-23 11:04:58 UTC (rev 501) @@ -15,7 +15,10 @@ id="svg2" version="1.1" inkscape:version="0.48.0 r9654" - sodipodi:docname="Nouveau document 1"> + sodipodi:docname="swingDeployment.svg" + inkscape:export-filename="/home/couteau/workspace/nuiton/wikitty/trunk/src/site/resources/schemes/swingDeployment.png" + inkscape:export-xdpi="36.400406" + inkscape:export-ydpi="36.400406"> <defs id="defs4"> <linearGradient @@ -386,9 +389,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="0.7" - inkscape:cx="286.99019" - inkscape:cy="745.5533" + inkscape:zoom="0.98994949" + inkscape:cx="460.38705" + inkscape:cy="696.12427" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" @@ -722,19 +725,19 @@ inkscape:connector-curvature="0" sodipodi:nodetypes="ccsc" /> <path - style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:12,12;stroke-dashoffset:0" - d="m 347.14286,315.21933 c 0,0 62.14286,20 62.85714,-55.71429 0.61255,-64.93036 52.67857,-50.35714 52.67857,-50.35714 l 0.35715,0.17857" + style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:12, 12;stroke-dashoffset:0" + d="m 347.14286,315.21933 c 0,0 59.58322,20.70921 59.28571,-16.78572 C 406.10321,257.42854 461.25,258.07647 461.25,258.07647" id="path4202" inkscape:connector-curvature="0" - sodipodi:nodetypes="cscc" /> + sodipodi:nodetypes="csc" /> <path style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" d="m 236.88077,126.80991 -5.55584,7.32361 -8.33376,-7.07107" id="path4204" inkscape:connector-curvature="0" /> <path - style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" - d="m 451.96429,200.04075 9.04408,8.46525 -8.23585,8.23585" + style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 451.96429,249.6836 9.04408,8.46525 -8.23585,8.23585" id="path4206" inkscape:connector-curvature="0" /> <path @@ -757,13 +760,13 @@ style="font-size:18.23114014px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" id="text4221" sodipodi:linespacing="125%" - y="439.90421" - x="180.67862" - transform="matrix(0.89523334,-0.44559764,0.44559764,0.89523334,0,0)"><tspan + y="364.32532" + x="301.94595" + transform="matrix(0.98889701,-0.14860251,0.14860251,0.98889701,0,0)"><tspan sodipodi:role="line" id="tspan4223" - x="180.67862" - y="439.90421">XMPP</tspan></text> + x="301.94595" + y="364.32532">XMPP</tspan></text> <text xml:space="preserve" style="font-size:23.03198624px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" Modified: trunk/src/site/resources/schemes/webDeployment.png =================================================================== (Binary files differ) Modified: trunk/src/site/resources/schemes/webDeployment.svg =================================================================== --- trunk/src/site/resources/schemes/webDeployment.svg 2010-11-23 10:38:36 UTC (rev 500) +++ trunk/src/site/resources/schemes/webDeployment.svg 2010-11-23 11:04:58 UTC (rev 501) @@ -15,10 +15,10 @@ id="svg2" version="1.1" inkscape:version="0.48.0 r9654" - sodipodi:docname="swingDeployment.svg" - inkscape:export-filename="/home/couteau/Bureau/swingDeployment.png" - inkscape:export-xdpi="36.400406" - inkscape:export-ydpi="36.400406"> + sodipodi:docname="webDeployment.svg" + inkscape:export-filename="/home/couteau/workspace/nuiton/wikitty/trunk/src/site/resources/schemes/webDeployment.png" + inkscape:export-xdpi="54.703491" + inkscape:export-ydpi="54.703491"> <defs id="defs4"> <linearGradient @@ -389,9 +389,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="0.49497475" - inkscape:cx="338.52953" - inkscape:cy="788.21759" + inkscape:zoom="0.35" + inkscape:cx="212.28621" + inkscape:cy="379.2373" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" @@ -418,26 +418,6 @@ id="layer1"> <rect style="fill:#ffe680;stroke:#000000;stroke-opacity:1" - id="rect2985" - width="251.42856" - height="51.428547" - x="96.984749" - y="135.21933" - rx="91.428566" - ry="0" /> - <text - xml:space="preserve" - style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;" - x="141.18346" - y="174.23892" - id="text2987" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan2989" - x="141.18346" - y="174.23892">Serveur</tspan></text> - <rect - style="fill:#ffe680;stroke:#000000;stroke-opacity:1" id="rect2985-4" width="251.42856" height="51.428547" @@ -640,17 +620,17 @@ inkscape:connector-curvature="0" /> <path style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" - d="m 218.02959,134.69059 -5.43744,-9.41792" + d="m 218.02959,186.69059 -5.43744,-9.41792" id="path4214" inkscape:connector-curvature="0" /> <path style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" - d="m 217.82955,134.66353 0,-49.371211 0,-2.399112" + d="m 217.82955,186.66353 0,-49.37121 0,-2.39911" id="path4217" inkscape:connector-curvature="0" /> <path style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" - d="m 218.08209,133.90591 4.7597,-8.24403" + d="m 218.08209,185.90591 4.7597,-8.24403" id="path4219" inkscape:connector-curvature="0" /> </g> Modified: trunk/src/site/rst/features.rst =================================================================== --- trunk/src/site/rst/features.rst 2010-11-23 10:38:36 UTC (rev 500) +++ trunk/src/site/rst/features.rst 2010-11-23 11:04:58 UTC (rev 501) @@ -29,26 +29,50 @@ Indexation/Recherche/Facettes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Wikitty est un système qui indexe les données et permet de les rechercher en -fournissant les réponses facetisées. +Wikitty est un système qui, en plus de stocker les données, les indexe et permet +de les rechercher en fournissant les réponses facetisées. Ainsi, vous pouvez +réduire le nombre de requêtes nécessaires à l'affichage d'un écran complexe. +Typiquement, la majorité des sites de e-commerce affiche des résultats de +recherche facettisés, il est donc potentiellement possible d'afficher la +page de résultats avec une seule requête. + Securité ~~~~~~~~ Wikitty fournit un système de gestion des droits en lecture et en écriture pour -les entitées qui va jusqu'à l'entité elle-même, permettant ainsi de limiter -l'accès à certains objet d'un type a certains utilisateurs. +les entitées. Vous pouvez aller jusqu'à limiter l'accès à certains objet d'un +type à certains utilisateurs. Vous pouvez également accorder des droits +différents à certains champs des objets. +Prenons par example un objet Employe. +Cet objet peut avoir des champs de type salaire,... qui ne sont modifiables que +par les memebres du service RH, mais visibles par l'employé, alors que les +champs adresse par example sont modifiables par l'employé et les membres du +service RH. + Transactions ~~~~~~~~~~~~ +Wikitty fournit un système de transactions qui embarque une base locale H2 et un +index SolR. A la lecture des données, il recherche dans la base locale puis dans +la base de donnée s'il ne trouve pas la donnée. Lorsqu'il écrit une donnée, il +l'écrit dans la base locale. Au commit de la transaction, toutes les opérations +sont envoyées à la base de donnée Wikitty, si un problème survient (mauvais +droits, ...), la transaction n'est pas enregistrée. Pour les recherches, une +fusion est opérée entre les résultats sur la base locale et ceux sur la +base Wikitty. + Notifications ~~~~~~~~~~~~~ Wikitty fournit un système de notifications basé sur les évènements, permettant -à un client de savoir qu'un objet a été modifié en abse par un autre client par +à un client de savoir qu'un objet a été modifié en base par un autre client par exemple et ainsi rafraichir la vue de l'application. +Il est possible de dissocier les évènements envoyés par d'autres clients de +ceux que l'on a créés afin de différencier le traitement si nécessaire. + Cache ~~~~~ @@ -56,6 +80,10 @@ les clients et le serveur,... garantissant toujours la cohérence des données tout en réduisant les temps de réponse et les accès réseau/disque,... +Si le cache reçoit des notifications d'objets modifiés en base, il les +enlèves de sa base, à la prochaine requête sur cet objet, il ira le chercher +dans la base. + Migration ~~~~~~~~~ @@ -74,12 +102,17 @@ exporter des données au format CSV tout en gérant les problèmes de données modifiées, version des données,... +Le format CSV est spécifique à Wikitty et non modifiable, mais il permet +l'insertion de jeux de tests, par exemple, sans passer par des imports/exports +métiers couteux en développement et en tests. + Réplication ~~~~~~~~~~~ Wikitty fournit un service de réplication qui permet de disposer d'un serveur maître, responsable de la cohérence des données. et de serveurs esclaves. Cela -permet de disposer de plusieurs clients et ainsi répartir la charge. +permet de disposer de plusieurs serveurs et ainsi répartir la charge entre ces +derniers. Label ~~~~~ Modified: trunk/src/site/rst/index.rst =================================================================== --- trunk/src/site/rst/index.rst 2010-11-23 10:38:36 UTC (rev 500) +++ trunk/src/site/rst/index.rst 2010-11-23 11:04:58 UTC (rev 501) @@ -64,24 +64,24 @@ Wikitty présente plusieurs avantages au développeur : - **Modularité** : Vous pouvez choisir d'utiliser, toutes les fonctionnalités -proposées, aucune, certaines, uniquement par configuration. Les modules peuvent -être rajoutés au fur et à mesure de l'évolution de votre application. Vous -pouvez ainsi commencer par une application simple et rajouter -des services avec le temps, comme le cache, la sécurité, la réplication, ... + proposées, aucune, certaines, uniquement par configuration. Les modules + peuvent être rajoutés au fur et à mesure de l'évolution de votre application. + Vous pouvez ainsi commencer par une application simple et rajouter + des services avec le temps, comme le cache, la sécurité, la réplication, ... - **Modèle métier simple à modifier** : Wikitty gère tout seul les changements -dans le modèle métier de votre application. Vous n'avez plus à vous soucier des -migrations de données,... De plus, les données sont migrées à la lecture, -réduisant ainsi le temps de migration des données au démarrage de votre -application. Et si vous souhaitez effectuer une migration complexe, vous pouvez -toujours surcharger la migration automatique de Wikitty et ainsi rester -complètement maître des données. + dans le modèle métier de votre application. Vous n'avez plus à vous soucier + des migrations de données,... De plus, les données sont migrées à la lecture, + réduisant ainsi le temps de migration des données au démarrage de votre + application. Et si vous souhaitez effectuer une migration complexe, vous + pouvez toujours surcharger la migration automatique de Wikitty et ainsi rester + complètement maître des données. - ** Génération des objets métier**:Vous n'avez pas à vous soucier de comment -faire pour que les objets métiers soient gérés par Wikitty, ils sont générés à -partir du modèle UML métier de l'application. + faire pour que les objets métiers soient gérés par Wikitty, ils sont générés à + partir du modèle UML métier de l'application. - **Héritage multiple**: Wikitty permet une chose qui n'est habituellement pas -possible d'effectuer en Java : l'héritage multiple entre les objets métier. Vous -n'avez ainsi plus de limitation dans la modélisation de votre métier et pouvez -le représenter tel qu'il est. + possible d'effectuer en Java : l'héritage multiple entre les objets métier. + Vous n'avez ainsi plus de limitation dans la modélisation de votre métier et + pouvez le représenter tel qu'il est. Les fonctionnalités ------------------- @@ -122,19 +122,36 @@ Déploiements types ------------------ -Web -~~~ +Web - Application Swing monoposte +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Dans le cas d'un déploiement web ou d'une application cliente mono-poste, les +services métiers appelent directement le +serveur Wikitty. Ce dernier peut comprendre les couches de sécurité, cache et +notification suivant les besoins. + .. image:: schemes/webDeployment.png -Application Swing -~~~~~~~~~~~~~~~~~ +Application Swing multiposte +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Dans le cas d'une application Swing multiposte, les services métiers utilisent +un client Wikitty qui possèdent les couches de sécurité, cache et notification. +Le client envoie les modifications et les requêtes à un serveur Wikitty qui +possède lui aussi les couches de sécurité, cache et notification. Lorsqu'une +modification est apportée sur le serveur Wikitty, tous les clients sont notifiés +et peuvent mettre à jour ou pas les écrans. + .. image:: schemes/swingDeployment.png Multi serveur ~~~~~~~~~~~~~ +Dans le cas d'un déploiement multi-serveur, les écritures et lectures passent +par un serveur esclave, les écritures sont déléguées au serveur maître puis +réeffectuées sur les serveurs esclaves. Les lectures sont effectuées sur le +serveur esclave. + .. image:: schemes/multiServerDeployment.png
participants (1)
-
jcouteau@users.nuiton.org