290 likes | 453 Views
Zope : environnement professionnel. Steve Giraud Pentila 02/11/2004. Zope : Environnement professionnel. CV de Zope Lettre de motivation Entretien Mise en concurrence. CV de Zope. Etat civil Né en 1996 à Digital Creation Fils de Jim Fulton Formation Programmation OO Base de donnée
E N D
Zope : environnement professionnel Steve Giraud Pentila 02/11/2004
Zope : Environnement professionnel • CV de Zope • Lettre de motivation • Entretien • Mise en concurrence
CV de Zope • Etat civil • Né en 1996 à Digital Creation • Fils de Jim Fulton • Formation • Programmation OO • Base de donnée • Transaction • Sécurité • Divers Langage de template
CV de Zope • Stages • OTAN • SGI • Ministère de l’intérieur • Ministère de l’éducation • ENT Universitaire (Savoie,Bristol, ENS Lyon …)
CV de Zope • Expérience professionnelle • Cap Gemini • Unilog • Atos Origin • Ingeniweb • Pentila • Logilab • Pilot system • …
CV de Zope • Recommandation • "Parmi tous les projets Open Source chez Cap Gemini Ernst & Young en France, la plus grande partie est basée sur Zope", dit Mickael Remond, responsable de l'Open Source chez Cap Gemini Ernst & Young.
Lettre de motivation • Qualité de l’OO • Logiciel libre • Réutilisabilité • Scalabilité • Alternative
Entretien • Comment réagiriez vous si vous étiez confronté à un usage intensif ? Vous avez 1 heure …
Problématique • Compromis en fonction des priorités du client entre : • Performance • Évolutivité • Disponibilité • Sécurité (ici intégrité des données) • Coût
Performance : Distribuer les responsabilités • Principe de distribution • Séparer les responsabilités sur différents serveurs • Architecture n-tiers • Présentation web • Traitement • Donnée • Gérer au mieux le type de matériel (ex. SMP)
Performance : Clusturiser • Principe de clusturisation • Augmenter le nombre de serveurs pour une même responsabilité • 3 niveaux de clusturisation • Présentation • Traitement • Donnée
Et Zope dans tout ça • ZEO : Zope Entreprise Object
Performance : cache • Système de cache • Stocker pour éviter le calcul et/ou le transfert • 3 niveaux de cache : • Cache de donnée • Cache applicatif • Cache externe
Et Zope dans tout ça ? • Cache • Support ICP (Internet Cache Protocol) • RAM Cache Manager • HTTP Cache Manager • Cache Storage ZODB
Performance : Équilibrer les charges • Principe d’équilibrage • Répartir les charges sur les serveurs d’un même niveau en fonction de leur disponibilité • Plusieurs tactiques d’équilibrage • En fonction de variable • En fonction de poids • Round robin • ICP
Et Zope dans tout ça • LoadBalancing • Squid + ICP • ZEO : Zope Entreprise Object • Mountable Storage
Performance : Niveau application • Optimisez en dernier mais optimisez • Profilez avant d’optimiser • Limitez le nombre de requête au serveur de traitement (éléments statiques…) • Poids des éléments • CSS
Evolutivité • Principe • Augmenter simplement les capacités du système • Des règles • Le nombre de couches doit pouvoir être augmenté • Le nombre de composants de chaque couche doit pouvoir être augmenté • Chaque composant doit pouvoir être remplacé • Important : Les composants d’une même couche doivent s’ignorer
Et Zope dans tout ça • Evolutivité • Squid + ICP • ZEO • Mise en place de réplication des données • SAN
Disponibilité • Principe • Le service doit être disponible en permanence • Des règles • Aucun point de failure unique • Les composants doivent être tous de bonne qualité • Les composants d’une couche doivent gérer la failure d’un composant de la couche inférieure
Et Zope dans tout ça • Intérêt d’ICP + Squid • Nécessité de ZEO + Réplicats readonly • Nécessité de Mountable storage • Problème : ZEO Main Solution matériel
Sécurité des données • Principe • L’intégrité des données doit être assuré même lors d’usage simultané important • Utiliser des systèmes transactionnels ACID • Atomicité (toutes les actions sont réalisées ou aucune ne l'est ) • Consistance (les transformations apportées par une transaction préservent certains invariants : consistant avant consistant après) • Isolation (les effets d'une transaction ne sont visibles de l'extérieur que si elle peut être totalement exécutée) • Durabilité (une fois une transaction validée, quoiqu'il puisse arriver, ses effets deviennent permanents et visibles de l'extérieur.)
Et Zope dans tout ça • ZODB système transactionnel ACID • get_transaction.commit() • ZEO : Idem avec plusieurs serveurs • Choisir le bon type de storage • Fichier (FileStorage) • Arborescence de fichiers (DirectoryStorage) • Base de données • Adaptable Persistence Engine • Système de fichiers ReiserFS par exemple : • Journalisation, • Rapidité d’accès car il est basé sur les btree pour accéder aux données, • Robustesse, • Capacité de gérer de grosses volumétries (en nombre de fichier et en taille de fichier
Coût • Principe • Faire au moins cher • Possibilité d’économie • Licence logiciel • Hardware vs Software • Importance de l’évolutivité !
Et Zope dans tout ça … • Coût • Logiciel libre (Squid, Zope, SGBD, Linux …) • Squid vs Switch layer 4
Finalement www Zope1 Zope2 Zope n
Mise en concurrence • SUN Java J2EE • Microsoft C# .NET • GNU Python Zope 2 et 3
Zope 3 en quelques mots • Architecture par composant • Interopérabilité avec J2EE et .NET via CORBA et Jython • Internationnalisation
Intérêt de Zope dans votre CV • Serveur d’application / Middleware / Infrastructure • Base de donnée objet • Langage de template • Sécurité • Workflow • Gestion de contenu • CSS et XHTML • Système transactionnel • Architecture par composant(Zope 3) • Connaissance alternative