Your SlideShare is downloading. ×
0
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Zope zen
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Zope zen

668

Published on

una vecchia presentazione preparata per il webbit 2003

una vecchia presentazione preparata per il webbit 2003

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
668
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1.  ZopeZen                                                                       Maurizio Delmonte, Giuseppe Masili, Paolo Dina                                 m.delmonte@kware.it il web? Un oggetto... Anonimo Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  2. Che cosè Zope? Zope  è  una  piattaforma  che  permette  a  sviluppatori con differenti livelli di competenza  di costruire applicazioni web.  Una  applicazione  web  è  un  programma  per  computer  che  viene  eseguito  dagli  utenti  utilizzando  un  qualsiasi  browser  web  tipo:  Mozilla, Galeon, Opera, Ms Internet Explorer... Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  3.  Il web è un oggetto Il web è un comparto dellinformatica piuttosto  giovane, perciò poco  teorizzato  rispetto ad altri   (es. DBMS, Linguaggi di programmazione, etc.) Per questo, ogni  application server  offre un suo  modello di sviluppo e gestione.  Prerogativa  di  Zope  è  quella  di  trasformare  il  web in una gerarchia di oggetti. Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  4. Orientamento agli oggetti  Per  utilizzare  Zope  al  meglio,  è  necessario  digerire il concetto di Object Oriented.  Lorientamento  agli  oggetti  è  un  modello  di  sviluppo  del  software  che  viene  utilizzato  in  molti linguaggi di programmazione(C++, Java,  Python, ed altri). In  Zope  non  ci  si  limita  ad  utilizzare  un  linguaggio di sviluppo OO: il web stesso è OO. Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  5. Z­Object Publishing Environment  In Zope il concetto di file, di dato si perde: al  centro di tutto ci sono gli oggetti. In  un  sistema  orientato  agli  oggetti  (come  Zope),  le  applicazioni  vengono  plasmate  attraverso gli oggetti.  In  estrema  sintesi,  un  oggetto  è  un  "contenitore"  di  dati  e  di  metodi  (logica  di  controllo). Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  6. Applicazione NON orientata agli oggetti In una  normale  applicazione  non  orientata agli  oggetti, si possono distinguere due parti: Codice.  Ad  esempio,  in  una  classica  applicazione web basata su CGI potete avere  una parte logica sotto forma di script Perl. Dati.  Potreste  avere  le  informazioni  relative  agli  impiegati  memorizzate  in  una  base  di  dati gestita da MySQL o Oracle, su cui opera  il vostro codice. Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  7. Applicazione orientata agli oggetti  Ci sarà una ed una sola cosa:  Oggetti. Gli oggetti sono collezioni di codice  e di dati assemblati assieme.  Per  esempio  potreste  avere  un  oggetto  che  rappresenta  un  impiegato.  Al  suo  interno  avreste  i  dati  sullimpiegato  (nome,  cognome,  telefono,  ...),  e  anche  la  "logica"  (il  codice)  in  grado di manipolare questi dati. Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  8. Perciò:  In  una  applicazione  non  OO,  i  dati  sono  separati dal codice.  In  una  applicazione  OO  invece  sia  i  dati  che  il  codice sono immagazzinati in uno o più oggetti.  Gli  oggetti  possono  modellare  praticamente  ogni situazione possibile:  in Zope ogni cosa è un oggetto! Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  9. Attributi  I  dati  relativi  ad  un  oggetto  sono  definiti  dai  suoi attributi.  Ad esempio, considerando loggetto "impiegato",  dei  possibili  attributi  sono  "first_name"  e  "last_name",  rispettivamente  una  serie  di  caratteri  che  ne  rappresentano  il  nome  e  il  cognome. Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  10. Metodi  Linsieme  di  azioni  che  un  oggetto  può  compiere è definita dai suoi metodi.  Per  esempio,  un  metodo  "getFirstName"  può  restituire  il  valore  dellattributo  "first_name"  delloggetto, mentre il metodo "setFirstName"  può  modificare  il  valore  dellattributo  "first_name". Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  11. Classi  Una  classe  definisce  il  comportamento  di  un  oggetto e ne rappresenta il costruttore.  E  una  cosa  piuttosto  normale  trovare  alcuni  oggetti in un sistema che sono essenzialmente  simili  ad  altri,  salvo  per  il  valore  dei  loro  attributi. Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  12. Esempio:  Potete  avere  molti  oggetti  di  tipo  "impiegato"  nel  vostro  sistema,  ognuno  dei  quali  con  gli  attributi "first_name" e "last_name".  Lunica  differenza  è  il  valore  contenuto  allinterno degli attributi.  Lattributo "first_name" di un oggetto può essere  "Fred", mentre un altro può contenere "Jim".  Questi oggetti sono membri della stessa classe.  Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  13. Istanze    Gli oggetti che vengono costruiti da una classe  sono chiamati  istanze  della classe o, più spesso,  semplicemente istanze.  Per esempio, la "cartella"  Test  ha un attributo  id il  cui  valore  è  Test,  mentre  unaltra  "cartella"  può  avere  lattributo  id  impostato  a  Test2  ma  entrambe sono istanze della classe "cartella" e si  comporteranno allo stesso modo. Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  14. Zope: ogni cosa è un oggetto    Tutti  gli  oggetti  con  cui  avete  a  che  fare  utilizzando  linterfaccia  di  amministrazione  di  Zope sono istanze di classi specifiche.  Generalmente le classi che costruiscono questi  oggetti sono definite tramite  Prodotti  di Zope,  plug­in  creati  dagli  sviluppatori  di  Zope,  dai  membri della comunità o da voi stessi.   Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  15. Zope: il Web è un oggetto!  http://localhost:8080/Project/Doc?index=2 Project.Doc(index=2) Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  16. Ereditarietà secondo Zope Lereditarietà  permette  di  costruire  nuovi  oggetti basati su oggetti già esistenti. Zope  trasporta  questo concetto su web grazie a:  Aquisizione, Attraversamento, REQUEST. Uno  z­object  “implementa”  proprietà  e  metodi  propri,  oltre  a  quelli  che  eredita  dal  suo  contesto ... Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  17. Acquisizione Uno  z­object  “acquisisce”  (vede)  un  altro  z­ object,  se  è  allinterno  della  stessa  gerarchia  di  Folder. Acquisizione ≃ Fattorizzazione algebrica es.: un insieme di righe uguali in script diversi  può essere  inglobato  in un solo script posto nel  minimo Folder­padre  di tutti gli altri script, che  potranno richiamarlo a piacere. Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  18. Attraversamento (URL traverse) Uno  z­object  vede  un  altro  z­object,  se  è  acquisibile tramite il path descritto dalla URL. es.: C1, C2: cartelle di pari livello; A, B: figli rispettivi di C1 e C2; http://server/C1/A        (A non acquisisce B) http://server/C1/C2/A (A acquisisce B per  http://server/C2/C1/A attraversamento) Nb: lacquisizione ha precedenza sullattraversamento Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  19. REQUESTREQUEST  è  loggetto  contenente  tutte  le informazioni  che  il  browser  passa  al  server(variabili di sessione, form, cookies, etc.).lo  z­object  pubblicato  eredita  da REQUEST, per cui lavorare con variabili di sessione, form, etc. è praticamente trasparente alloggetto.Nb:  verificate  cosa  si  ottiene  scrivendo  in  un DTML method: <dtml­var REQUEST> Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  20. Dove posso reperire informazioni? http://www.zope.org http://www.zope.it http://www.plone.org http://www.python.org http://www.python.it   http://lists.zope.org irc.debian.org 6667 #zope #zope­it #plone Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  21. In particolare Zope.it: Questo  sito  nasce  con  unidea:  mettere  a  disposizione  esperienze  e  nozioni  dei  tanti  sviluppatori italiani in Zope. Zope.it sfrutta la potenza del CMF.  Al Webbit 2003 ci sarà il primo Sprint Zope.it  nel quale CMF sarà potenziato da Plone. Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 
  22.                 Grazie per lattenzione :­) Zope  Maurizio Delmonte  Giuseppe Masili  Paolo Dina  m.delmonte@kware.it giuseppe@linux.it paolo@PHP3.it Z o p e A P P L I C A Z I O N I    W E B    S E M P L I C I    E    P O T E N T I 

×