zope : environnement professionnel steve giraud pentila 02/11/2004

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

Upload: internet

Post on 03-Apr-2015

108 views

Category:

Documents


2 download

TRANSCRIPT

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