Desenvolvimento web com Python, Zope e Plone

Preview:

DESCRIPTION

Desenvolvimento web com Python, Zope e Plone

Citation preview

Desenvolvimento web com

Jacson Tiola

Apresentação

Jacson Tiola Membro Efetivo da Associação Python Brasil Desenvolvedor Certificado Zope e Plone

Experiências DoctumTec Incubadora Virtual – FAPESP Flux Softwares Senado Federal ­ Interlegis

O que é Python?

Python é uma linguagem fácil e agradável de ser utilizada.

É uma linguagem interpretada. Não há pré­declaração de variáveis, e os tipos das variáveis 

são determinados dinamicamente. O controle de bloco é feito apenas por identação; não há 

delimitadores do tipo BEGIN e END ou { e }. Oferece tipos de alto nível: strings, listas, tuplas, dicionários, 

arquivos, classes. É orientada a objetos; aliás, em Python, tudo é um objeto. 

Atualmente sendo usada por Google, NASA, Distros Linux e em outros grandes projetos.

Google App Engine

O que é Zope?● Z Object Publishing Environment ● Zope é um servidor de aplicações web, que permite a criações de aplicações WEB baseadas em componentes.

● Ambiente de Desenvolvimento e Gerenciamento de Aplicações para a Web

● Open Source aos moldes da GPL● Escrito em Python

● Uma linguagem 100% orientada a objetos● Possui alguns módulos em C

● Possui o seu próprio banco de dados, o ZODB

O Zope

Banco de Dados ZODB

Banco de dados Orientado a Objetos Data.fs Sem linguagem de consultas padrão Indexa objetos que podem ser pesquisados por 

funções do Zope Indexa metadados

Métodos para implementar BD relacionais.

Mais Zope

Conceitos do Zope ZMI, eficiente para gerência mas não para 

desenvolvimento Zope Page Templates(ZPT) Tools Python Script Extenal Methods

Funcionalidades do Zope

● Servidor Web Zserver (aos moldes do Apache)● Servidor de FTP● Servidor CGI● Ambiente de desenvolvimento 100% via Web● Ambiente de desenvolvimento 100% Orientado 

a Objetos

O que é o Plone?

Plone é um Content Management System(CMS) ou Sistema Gerenciador de Conteúdo (SGS) de código livre e aberto baseado nas melhores práticas e padrões web.

Ele permite que usuários façam a gestão de  conteúdo de um site web, intranet ou portal  sem se preocupar com detalhes técnicos a  respeito da mídia web, navegadores ou  clientes remotos.

O que é Plone?

● Um CMS (Content Management System) completo e flexível

● I18n ­ Internacionalizado● 100% baseado em software livre:

● CMF (Content Management Framework)● Zope (servidor de aplicações)● Python (linguagem de scripting OO)

● Arquitetura PZP (Python, Zope, Plone)

O que o Plone oferece?

Uma solução para criação de portais de conteúdo e  serviços, intranet e sites web de maneira fácil e  produtiva.

Tipos de dados pré­definidos.

Mecanismo de indexação, busca livre e pré­  configurada.

Mecanismo de Workflow.

Editores web “amigáveis” para gestores de  conteúdo que não conhecem HTML.

Plone

Benefícios Imediato do Plone

● Fácil aprendizado para o usuário final● Foco no conteúdo, não na tecnologia● Foco em um layout e designs coerentes● Facilita o trabalho colaborativo● Níveis de interação

● Definidos pelos papéis de usuários● Administrador● Revisor● Membro● Autenticado● Anônimo

Herança do Zope

● ZODB: banco de dados transacional orientado a objetos● undo: desfazer modificações no site

● Segurança● permissionamento a nível de métodos (funções)● permissões associadas a perfis de usuário

● Aquisição contextual● templates sensíveis ao contexto

Arquitetura PZP

Tipos de Dados do Plone

● Documentos (HTML, ResT)● Imagens● Notícias● Eventos● Links● Arquivo● Personalizados (Archetypes)

Archetypes Desenvolvido em UML

ArgoUML Poseidon

ArchGenXML gera o código do Archetypes Usado para desenvolvimento de novos tipos e 

produtos para Plone.

Workflow Padrão do PloneCada tipo de item está associado a um ou mais workflows

Adicionando Produtos

Produtos Fácil instalação Feitos em python Devem estar no diretório Products Comportam parte lógica e apresentação Podem ser auto instaláveis

Milhares de produtos disponíveis: Blog, fórum, enquete, storage, webmail, 

gerenciamento de projeto, etc...

Desenvolver ou Evoluir

● Encare o Plone com o ponto de partida para um processo evolutivo:● Portal pronto no dia 1● Sua missão: evoluir o portal

● Ajuda a educar os usuários● O que esperar de um SGC● Como pensar a organização do conteúdo● Como alimentar e atualizar o site

Como aprender? 

Treinamentos em empresas:  Simples Consultoria, Paradigma, Flux Softwares. 

Comunidade:  Zope­pt, Pythonbrasil no yahoogroups

Documentação em português:  Tchezope.org

Documentação e produtos:  Plone.org

Como colaborar e participar?

Você pode colaborar com o desenvolvimento do sistema. 

Você pode traduzir produtos criados.  Com isso você contribui para a evolução do 

mesmo e ganha experiência e reconhecimento. Evento anual PyconBrasil

Este ano vai ser no Rio de Janeiro 18, 19 e 20 de setembro

http://pyconbrasil.com.br/

Oportunidades no Brasil

Seção especial de oportunidades: http://www.pythonbrasil.com.br/moin.cgi/OportunidadesDeEmprego

Ultimas oportunidades postadas 3 vagas Interlegis – 02/06/2008 3 vagas R&S Consultoria – 28/05/2008 2 vagas Inspira Tecnologia ­  26/05/2008  2 vagas Weimar Consultoria ­23/05/2008

Oportunidades no mundo

Seção de “Jobs” http://www.python.org/community/jobs/

Diversas outras empresas internacionais oferecem vagas para trabalhar a remotamente

Quem usa Plone no Brasil www.serpro.gov.br

www.embrapa.gov.br

www.interlegis.gov.br 

Cerca 100 Câmaras municipais www.camara.gov.br

www.abin.gov.br

www.idgnow.com.br

www.brasil.gov.br

www.presidencia.gov.br

Quem usa Plone no Brasil

www.inclusaodigital.gov.br

www.mds.gov.br

www.fomezero.gov.br

www.portalgoverno.gov.br

www.pcworld.uol.com.br

www.dnit.gov.br 

Incubadora Virtual ­ FAPESP

Cerca de 400 projetos

IDG Now

Brasil.gov

DCC ­ UFMG

Carta Capital

Quem usa Plone no mundo

https://www.cia.gov/ http://www.novell.com/ http://discovermagazine.com/ Nasa ­ http://nasascience.nasa.gov/ Otan ­ http://www.nato.int/ Governo da Nova Zelândia http://plone.org/about/sites

Central Intelligence Agency ­ USA

NASA

Discover Magazine

Referências Zope

www.zope.org

Plone www.plone.org

Comunidade PZP Brasil www.tchezope.org

Associação Python Brasil http://associacao.pythonbrasil.org/

Python Brasil http://www.pythonbrasil.com.br/ 

Agradecimentos!

www.tiolatec.objectis.net

Jacson Tiolajacsontiola@gmail.com

Para mais informações, contatos,download da palestra e outros acesse:

Parceria:

www.fluxsoftwares.com