Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

29
Zope : environnement professionnel Steve Giraud Pentila 02/11/2004

Transcript of Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

Page 1: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

Zope : environnement professionnel

Steve Giraud

Pentila

02/11/2004

Page 2: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

Zope : Environnement professionnel

• CV de Zope

• Lettre de motivation

• Entretien

• Mise en concurrence

Page 3: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

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

Page 4: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

CV de Zope

• Stages– OTAN

– SGI

– Ministère de l’intérieur

– Ministère de l’éducation

– ENT Universitaire (Savoie,Bristol, ENS Lyon …)

Page 5: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

CV de Zope

• Expérience professionnelle– Cap Gemini– Unilog– Atos Origin– Ingeniweb– Pentila– Logilab– Pilot system– …

Page 6: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

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.

Page 7: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

Lettre de motivation

• Qualité de l’OO• Logiciel libre• Réutilisabilité• Scalabilité• Alternative

Page 8: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

Entretien

• Comment réagiriez vous si vous étiez confronté à un usage intensif ?

Vous avez 1 heure …

Page 9: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

Problématique

• Compromis en fonction des priorités du client entre :– Performance– Évolutivité– Disponibilité– Sécurité (ici intégrité des données)– Coût

Page 10: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

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)

Page 11: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

Performance : Clusturiser

• Principe de clusturisation– Augmenter le nombre de serveurs pour une

même responsabilité

• 3 niveaux de clusturisation– Présentation– Traitement– Donnée

Page 12: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

Et Zope dans tout ça

• ZEO : Zope Entreprise Object

Page 13: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

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

Page 14: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

Et Zope dans tout ça ?

• Cache– Support ICP (Internet

Cache Protocol)

– RAM Cache Manager

– HTTP Cache Manager

– Cache Storage ZODB

Page 15: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

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

Page 16: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

Et Zope dans tout ça

• LoadBalancing– Squid + ICP– ZEO : Zope

Entreprise Object– Mountable Storage

Page 17: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

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

Page 18: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

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

Page 19: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

Et Zope dans tout ça

• Evolutivité– Squid + ICP– ZEO– Mise en place de

réplication des données

– SAN

Page 20: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

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

Page 21: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

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

Page 22: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

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. )

Page 23: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

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

Page 24: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

Coût

• Principe– Faire au moins cher

• Possibilité d’économie– Licence logiciel– Hardware vs Software

• Importance de l’évolutivité !

Page 25: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

Et Zope dans tout ça …

• Coût

• Logiciel libre (Squid, Zope, SGBD, Linux …)

• Squid vs Switch layer 4

Page 26: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

Finalement

Zope1

www

Zope2 Zope n

Page 27: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

Mise en concurrence

• SUN Java J2EE

• Microsoft C# .NET

• GNU Python Zope 2 et 3

Page 28: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

Zope 3 en quelques mots

• Architecture par composant

• Interopérabilité avec J2EE et .NET via CORBA et Jython

• Internationnalisation

Page 29: Zope : environnement professionnel Steve Giraud Pentila 02/11/2004.

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