<ul>São Paulo, Maio, 2001 Hiperlógica, sites automáticos Av. Brig. Faria Lima, 628 cj. 61 São Paulo  •  SP  •  05426-000 (...
<ul>Zope </ul><ul>Ricardo Bánffy [email_address] </ul>
<ul>O que é Zope? </ul><ul><li>Web Server
Content Manager
Application Server
Open Source
Multi-Plataforma
Interoperável </li></ul>
<ul>Web Server </ul><ul><li>Zope tem servidores HTTP, FTP integrados
Funciona em conjunto com Apache e Squid (FastCGI e pCGI)
Controle de acesso integrado
Compatível com WebDAV </li></ul>
<ul>Content Manager </ul><ul><li>Gerenciador de conteúdo via web
Undos
Versioning
Integrado ao controle de acesso </li></ul>
<ul>Application Server </ul><ul><li>Múltiplas opções de programação </li></ul><ul><ul><li>DTML
Python
Perl
Java (futuramente) </li></ul></ul><ul><li>Incentiva e dá suporte à separação clara entre lógica e apresentação (ao contrár...
<ul>Application Server </ul><ul><li>Todo o ambiente é orientado a objetos: Desenvolvedor extende e especializa objetos que...
Praticamente todo o trabalho pode ser feito apenas com um browser </li></ul>
Upcoming SlideShare
Loading in …5
×

Zope

754 views
673 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
754
On SlideShare
0
From Embeds
0
Number of Embeds
48
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Zope

  1. 1. <ul>São Paulo, Maio, 2001 Hiperlógica, sites automáticos Av. Brig. Faria Lima, 628 cj. 61 São Paulo • SP • 05426-000 (55 11) 3816 7785 </ul><ul>www.hiper.com.br </ul>
  2. 2. <ul>Zope </ul><ul>Ricardo Bánffy [email_address] </ul>
  3. 3. <ul>O que é Zope? </ul><ul><li>Web Server
  4. 4. Content Manager
  5. 5. Application Server
  6. 6. Open Source
  7. 7. Multi-Plataforma
  8. 8. Interoperável </li></ul>
  9. 9. <ul>Web Server </ul><ul><li>Zope tem servidores HTTP, FTP integrados
  10. 10. Funciona em conjunto com Apache e Squid (FastCGI e pCGI)
  11. 11. Controle de acesso integrado
  12. 12. Compatível com WebDAV </li></ul>
  13. 13. <ul>Content Manager </ul><ul><li>Gerenciador de conteúdo via web
  14. 14. Undos
  15. 15. Versioning
  16. 16. Integrado ao controle de acesso </li></ul>
  17. 17. <ul>Application Server </ul><ul><li>Múltiplas opções de programação </li></ul><ul><ul><li>DTML
  18. 18. Python
  19. 19. Perl
  20. 20. Java (futuramente) </li></ul></ul><ul><li>Incentiva e dá suporte à separação clara entre lógica e apresentação (ao contrário de ASP, JSP, PHP, Perl...) </li></ul>
  21. 21. <ul>Application Server </ul><ul><li>Todo o ambiente é orientado a objetos: Desenvolvedor extende e especializa objetos que já existem no Zope ou cria novos, que podem também ser extendidos
  22. 22. Praticamente todo o trabalho pode ser feito apenas com um browser </li></ul>
  23. 23. <ul>Application Server </ul><ul><li>Vantagens únicas: </li></ul><ul><ul><li>Aquisição: mecanismo de “herança posicional”
  24. 24. Todos os objetos do Zope são automaticamente persistidos e versionados
  25. 25. Um programador pode fazer “Undo” da execução de um programa que alterou objetos no Zope
  26. 26. Persistência automática pode ser feita em file system, BDs relacionais, etc… </li></ul></ul>
  27. 27. <ul>Open Source </ul><ul><li>Zope é open-source: isso garante independência em relação ao fabricante e à plataforma
  28. 28. Bug-fixes mais rápidos
  29. 29. Evolução mais dinâmica – novos conceitos são incorporados mais rapidamente </li></ul>
  30. 30. <ul>Multi-plataforma </ul><ul><li>Zope roda em quase qualquer sistema operacional: </li></ul><ul><ul><li>Linux
  31. 31. Solaris
  32. 32. *BSD
  33. 33. IRIX
  34. 34. Windows 9x, NT, Me, 2000… </li></ul></ul>
  35. 35. <ul>DTML </ul><ul><li>Sintaxe simples <ul> <dtml-in funcionarios> <li><dtml-var nome></li> </dtml-in> </ul> </li></ul><ul><li>Incentivo à separação entre apresentação e lógica: “funcionarios” pode ser o resultado de uma query ou um método que retorna uma lista </li></ul>
  36. 36. <ul>DTML </ul><ul><li>Pouco mais de 20 tags: </li></ul><ul><ul><li>Var: pede aos objetos que se renderizem
  37. 37. If/elif/else: inserção/execução condicional
  38. 38. In: iteração
  39. 39. Try/except: tratamento de excessões
  40. 40. With, Let: manipulação do namespace
  41. 41. Call: invocação de método </li></ul></ul>
  42. 42. <ul>Aquisição Contextual </ul><ul><li>Benefício: Templates sensíveis ao contexto
  43. 43. Atributos (e métodos são adquiridos do contexto de invocação)
  44. 44. Ortogonal em relação à herança tradicional </li></ul>
  45. 45. <ul>Python </ul><ul><li>Linguagem de altíssimo nível (VHLL)
  46. 46. Byte-compilada e multi-plataforma como Java
  47. 47. Compilação automática (.py.pyc)
  48. 48. Herança múltipla e introspecção
  49. 49. Tratamento voluntário de excessões
  50. 50. Sintaxe simples e limpa
  51. 51. Integração com bibliotecas em código nativo sem perda de performance </li></ul>
  52. 52. <ul>BDs Relacionais </ul><ul><li>Objetos do tipo connection e query
  53. 53. Controle de caching e pooling automáticos
  54. 54. Conexão com Oracle, MySQL, PostgreSQL e ODBC </li></ul>
  55. 55. <ul>Integração </ul><ul><li>Aderência a padrões: </li></ul><ul><ul><li>FTP,
  56. 56. DAV,
  57. 57. XML-RPC,
  58. 58. SOAP </li></ul></ul>
  59. 59. <ul>Digressão </ul><ul><li>Cenário de processamento distribuído em que cliente Java manipula objetos em servidor Zope (exemplo contido no Zope Book) usando XML-RPC </li></ul>
  60. 60. <ul>Acessando com Java </ul><ul>try { XmlRpcClient server = new XmlRpcClient(&quot;http://www.zopezoo.org/&quot;); Vector employees = (Vector) server.execute(&quot;JanitorialDepartment.personnel&quot;); int num = employees.size(); for (int i = 0; i < num; i++) { Vector args = new Vector(employees.subList(i, i+1)); server.execute(&quot;fireEmployee&quot;, args); } } catch (XmlRpcException ex) { ex.printStackTrace(); } catch (IOException ioex) { ex.printStackTrace(); } </ul>
  61. 61. <ul>Acessando com Python </ul><ul>from xmlrpclib import Server server = Server('http://www.zopezoo.org/') for employeeID in server.JanitorialDepartment.personnel(): server.fireEmployee(employee) </ul>
  62. 62. <ul>Bons livros sobre Zope </ul><ul><li>Zope Book </li></ul><ul><ul><li>Disponível para download em http://www. zope .org/Members/ michel /ZB e em versão impressa em junho </li></ul></ul><ul><li>Zope Developer’s Guide </li></ul><ul><ul><li>Disponível para download em http://www. zope .org/Documentation/ZDG e futuramente em versão impressa </li></ul></ul>
  63. 63. <ul>Dúvidas? </ul>
  64. 64. <ul>Para saber mais </ul><ul>www.hiper.com.br www.zope.org www.digicool.com [email_address] Hiperlógica, sites automáticos Av. Brig. Faria Lima, 628 cj. 61 São Paulo • SP • 05426-000 (55 11) 3816 7785 www.hiper.com.br </ul>

×