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

Post on 03-Apr-2015

108 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Zope1

www

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

top related