Soluções        Serviços          Atendimento       Governo        Consultoria T.I      Treinamento

Software


Zope
Desenvolvedor Zope Corporation
Plataforma multiplataforma
Versão estável 3.3.1 (14 de janeiro de 2007)
Gênero(s) servidor de aplicação
Licença Zope Public License
Página oficial www.zope.org
Portal das Tecnologias de informação

Zope é um servidor de aplicações web de código aberto escrito na linguagem Python. Seu nome significa "Z Object Publishing Environment" (em português, "Ambiente de Publicação de Objetos Z"). Muitas tarefas de administração de um servidor Zope podem ser realizadas através de uma interface web. Os objetos que o Zope publica na Web são escritos em linguagem Python, e tipicamente armazenados num banco de dados orientado a objetos, o ZODB, que é integrado ao sistema. Objetos básicos tais como documentos, imagens e modelos de páginas podem ser criados ou modificados via web. Objetos especializados, tais como wikis, blogs, e galerias de fotos estão disponíveis como componentes adicionais (chamados products), e existe uma comunidade pujante de pequenas empresas criando aplicações web como produtos.

Índice

  • 1 História
  • 2 Características técnicas
  • 3 Zope 3 / BlueBream
  • 4 Zope Page Templates
  • 5 Ver também
  • 6 Ligações externas

História

O que hoje se conhece como Zope surgiu em 1998, quando a empresa Digital Creations (atual Zope Corporation) abriu o fonte de seus principais produtos sob uma licença de código aberto. A decisão foi influenciada por Hadar Pedhazur, principal investidor da empresa. A combinação de Bobo e Principia foi renomeada para Zope naquela época. Esta decisão transformou a Digital Creations numa empresa de serviços, e proporcionou muito mais visibilidade e interesse em torno do Zope do que o Principia jamais teve.

Características técnicas

Um sítio em Zope é formado por objetos em um banco de dados em vez de arquivos, como é comum em muitos outros servidores de aplicação web. Esta abordagem permite alavancar as vantagens do paradigma de objetos, como encapsulamento. Zope associa URLs a objetos utilizando a hierarquia de partes (composição); os métodos são considerados como partes dos objetos. Por exemplo, http://www.zope.org/Products/visual é uma forma de acessar app.Products.visual.

O Zope inclui o Zope Object Database (ZODB), que persiste transparentemente objetos Python de forma transacional. A transparência está no fato de que os desenvolvedores raramente precisam escrever código para ler ou salvar os objetos no ZODB de forma explícita.

Uma característica particularmente inovadora do Zope é o uso em larga escala de aquisição. Aquisição é uma técnica paralela à herança de classes, através da qual objetos 'herdam' comportamentos de seu contexto na hierarquia de composição, além da hierarquia de classes. Isto possibilita novas formas de organizar a aplicação, muito adequadas ao paradigma da web onde os sites são organizados em pastas e sub-pastas, ou seções e sub-seções. Um uso frequente de aquisição é a organização dos componentes visuais das páginas de forma que elementos comuns possam ser adquiridos de um repositório central, sem se perder a possibilidade de substituir qualquer elemento por uma versão local mais adequada ao contexto. Por outro lado, o modo como a aquisição é implementada no Zope 2 também e visto como uma fonte de erros, produzindo comportamentos inesperados em alguns casos. O uso de aquisição foi bastante reduzido no Zope 3.

O Zope fornece dois mecanismos para a criação de modelos de páginas: Dynamic Template Markup Language (DTML: Linguagem Dinâmica de Marcação de Modelos), e Zope Page Templates (ZPT: Modelos de Páginas Zope). O DTML é uma linguagem de marcação que permite implementar lógica simples em modelos, através de laços, condicionais e inserção de variáveis. No entanto, o DTML apresenta alguns problemas comuns às linguagens deste tipo: os modelos não podem ser verificados por validadores HTML, e a inclusão indiscriminada de lógica nos modelos resulta em código pouco legível e difícil de manter.

ZPT é uma tecnologia que ataca estes problemas. Modelos ZPT são formadas por XML ou HTML válido, nas quais toda a codificação é feita através de atributos dentro das etiquetas já existentes nestas linguagens. Tais atributos utilizam um espaço de nomes especial, denominado tal: Template Attribute Language (Linguagem de Atributos para Modelos), e assim são compatíveis com as especificações do W3C e com as principais ferramentas de edição de HTML. ZPT proporciona apenas um conjunto limitado de recursos, estimulando os programadores a implementar a lógica em scripts Python à parte, que são apenas invocados (e não incluídos) nos modelos. ZPT também fornece suporte à internacionalização e localização de aplicativos web, propiciando a substituição de mensagens por versões previamente traduzidas em múltiplas línguas.

O Zope 2 fornece a infraestrutura para gerenciadores de conteúdo como Plone, Silva (CMS) e Nuxeo CPS, bem como grandes portais desenvolvidos pela Zope Corp.

Zope 3 / BlueBream


Uma nova versão do Zope, o Zope 3, vem sendo desenvolvida desde 2001. Embora o Zope 2 tenha comprovado seu valor como framework para o desenvolvimento de aplicações web, ele não está livre de problemas. Por exemplo, criar um novo produto para estender o Zope envolve o reuso de muito código "mágico" que simplesmente precisa estar lá, e a lógica do domínio da aplicação é inevitavelmente "contaminada" pela lógica da própria infraestrutura. O Zope 3 é uma recriação total do sistema, com ampla participação da comunidade de desenvolvedores que se especializou na plataforma. O objetivo é resolver estes problemas sem perder as vantagens que deram ao Zope sua atual popularidade. O Zope 3 é baseado numa arquitetura de componentes, que visa facilitar por um lado o uso de componentes externos dentro do Zope, e por outro lado o uso de componentes isolados do Zope em projetos que não necessitam de toda a infraestrutura do servidor de aplicações. A primeira versão de produção, chamada Zope X3, foi lançada em 6 de novembro de 2004.

Zope Page Templates

Os Modelos de Páginas Zope (Zope Page Templates) são documentos XHTML propdiamente ditos, o que significa que podem ser visualizados e editados utilizando-se editores HTML ou ferramentas compatíveis com XHTML (uma grande vantagem comparada com outras linguagens de modelo usadas para aplicações web). Os modelos (templates) também podem ser verificados para a conformidade XHTML, para que possam ser razoavelmente seguros de que irão se expandir automaticamente em XHTML adequado.

No entanto, esses modelos de páginas não se destinam a serem processados como são. Em vez disso, são marcados com elementos e atributos adicionais nos espaços de nomes XML especiais (ver abaixo). Esta informação adicional é usada para descrever como o modelo de página deverá vir a ser processado.

A seguir estão alguns exemplos básicos. Para incluir condicionalmente um elemento específico, como um elemento div, basta adicionar o atributo tal:condition para o elemento da seguinte forma:

<div tal:condition="...">
  ...
</div>

Para controlar o que aparece dentro de um elemento, use o atributo tal:content como este:

<h1><span tal:content="..."/></h1>
...

Finalmente, para introduzir ou substituir valores de atributos use o atributo tal:attributes da seguinte forma: o poder do Python poderá também ser utilizado para alterar dinamicamente a href durante a execução.

<a href="" tal:attributes="href python:'http://algumaurl.com/%s'%algumobjeto">...</a>

Esta é uma explicação muito superficial de Modelos de Páginas Zope. Seu comportamento é quase completamente descrito por uma linguagem de modelos, determinados em espicificações TAL, TALES, e METAL:

  • Template Attribute Language (TAL),
  • Template Attribute Language Expression Syntax (TALES),
  • Macro Expression Template Attribute Language (METAL).

Ver também

  • Zope CMF
  • Plone
  • Sistema de gerenciamento de conteúdo

Ligações externas

  • Sítio central da comunidade Zope
  • Comunidade Zope brasileira
Obtida de "http://pt.wikipedia.org/w/index.php?title=Zope&oldid=27467270"

MAIS INFORMAÇÕES DO SETOR DE SOFTWARE

E-learning


O e-learning, ou ensino eletrónico, corresponde a um modelo de ensino não presencial suportado  [ ... ]


Gerenciamento de nível de serviços

Gerenciamento de nível de serviços é uma disciplina de gestão responsável pelo processo gerenci [ ... ]


Teoria da informação

article thumbnail

A Teoria da informação ou Teoria matemática da comunicação é um ramo da teoria da probabilidad [ ... ]


Steve Ballmer

article thumbnail

Steve Ballmer Nome completo Steven Anthony Ballmer Nascimento 24 de Março [ ... ]


Model-view-controller (MVC)

article thumbnail


Um diagrama simples exemplificando a relação entre Model, View e Controller. As linhas sól [ ... ]


Software livre nos governos

Nos últimos anos a questão do software livre nos governos está na ordem do dia. Alguns governos c [ ... ]


Linux

article thumbnail


Linux
Tux, a mascote do Linux Modelo: Software Livre Família do SO: bas [ ... ]


Microsoft Forefront

Microsoft Forefront Desenvolvedor Microsoft Plataforma Microsoft Windows La [ ... ]


Seis Sigma

article thumbnail

Símbolo comumente usado do Seis Sigma
Seis Sigma ou Six Sigma (em inglês) é um conjunto [ ... ]


Otimização em engenharia de software

A Otimização em engenharia de software é uma recente área de pesquisa que trata da aplicação [ ... ]


Firewall

article thumbnail

Firewall separando redes LAN e WAN A Wikipédia possui o portal:
Portal das tecno [ ... ]


Cibernética

Cibernética é uma tentativa de compreender a comunicação e o controle de máquinas, seres vivo [ ... ]


SOA - Arquitetura orientada a Serviços

article thumbnail

Service-Oriented Architecture (SOA), pode ser traduzido como arquitetura orientada a serviços, e é [ ... ]


Rede social

article thumbnail


Rede social Uma rede social é uma estrutura social composta por pessoas ou organizaçõ [ ... ]


Teoria de sistemas

A teoria de sistemas estuda, de modo interdisciplinar, a organização abstrata de fenômenos, indep [ ... ]


Matriz de Interações (ou Matriz CRUD)

article thumbnail

A Matriz de Interações (ou Matriz CRUD) é utilizada, no processo de desenvolvimento de sistemas [ ... ]


Gestão de riscos em TI

A Gestão de riscos (termo também conhecido como Risk Management) é um processo/disciplina util [ ... ]


EAD - Educação a distância

Tele-educação, Educação a Distância ou Ensino a Distância (EaD) [nota 1] é a modalidade de en [ ... ]


Algoritmos

article thumbnail

Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, cada uma das q [ ... ]


ITILv3

A versão 3 da biblioteca ITIL foi lançada mundialmente em maio de 2007 como uma atualização comp [ ... ]


Tecnologia da informação

article thumbnail

Mapa com os gastos em TI em todo o planeta Tecnologia da Informação (TI) É a área de  [ ... ]


Melhoria de Processos do Software Brasileiro

O MPS.BR ou Melhoria de Processos do Software Brasileiro é simultaneamente um movimento para a melh [ ... ]


Web design

article thumbnail

Exemplo de um layout simples. O web design pode ser visto como uma extensão da prática  [ ... ]


Plone

article thumbnail

Plone

Screenshot da instalação padrão Desenvolvedor Alan Runyan, Alexander L [ ... ]


Tecnologia educacional

article thumbnail

A Wikipédia possui o portal:
Portal de educação As Tecnologias educacionais são [ ... ]


Zend Framework

article thumbnail

Zend Framework Logotipo do Zend Framework Desenvolvedor Zend Tech [ ... ]


Processo de desenvolvimento de software

Um processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, c [ ... ]


Ferramenta CASE

Ferramentas CASE (do inglês Computer-Aided Software Engineering) é uma classificação que abran [ ... ]


PDA - Personal digital assistant

article thumbnail


PalmOne LifeDrive Personal digital assistants (PDAs ou handhelds), assistente pessoal di [ ... ]


Licenças Microsoft

Microsoft Product Activation O Microsoft Product Activation (MPA, em português, traduz. literal.:  [ ... ]


Administração de dados

Administração de dados é a função responsável por desenvolver e administrar de modo central [ ... ]


Nanomedicina

Nanomedicina é a denominação dada à junção da medicina e da nanotecnologia. Em suma a nanomedi [ ... ]


Desenvolvimento web

article thumbnail

Desenvolvimento web é o termo utilizado para descrever o desenvolvimento de sítios, na Internet  [ ... ]


Microsoft

article thumbnail

Microsoft Microsoft Corporation Logotipo da Microsoft Slogan “We i [ ... ]


Outsourcing em gestão

O outsourcing em gestão é uma ferramenta administrativa em que o terceririzado realiza a ativida [ ... ]


CMMI

O CMMI (Capability Maturity Model Integration) é um modelo de referência que contém práticas (Ge [ ... ]


Lista de softwares Públicos

em 11/11/2011LISTA DE SOFTARES PÚBLICOSSoftware Público Brasileiro InVesalius  (542 [ ... ]


IBM Rational Unified Process

O RUP, abreviação de Rational Unified Process (ou Processo Unificado Racional), é um processo pro [ ... ]


Governança em T.I (Governança corporativa)

Governança corporativa (português brasileiro) ou governo das sociedades ou das empresas (portuguê [ ... ]


Gestão de riscos em segurança

O gerenciamento de riscos em segurança é a essência da segurança corporativa, que atua no sent [ ... ]


Framework

Um framework, ou arcabouço, em desenvolvimento de software, é uma abstração que une códigos c [ ... ]


C♯

article thumbnail


C♯ Paradigma Orientação a objetos
estruturado
imperativo Surgido em 2001  [ ... ]


Sistemas complexos

Um sistema é dito ser um sistema complexo quando suas propriedades não são uma consequência natu [ ... ]


ITIL

Information Technology Infrastructure Library (ITIL) é um conjunto de boas práticas a serem aplica [ ... ]


ERP

Sistemas Integrados de Gestão Empresarial (SIGE ou SIG), em inglês Enterprise Resource Planning (E [ ... ]


Windows Server 2008 R2

article thumbnail

O Windows Server 2008 R2 é um sistema operacional de servidor, produzido pela Microsoft. Foi libe [ ... ]


Antivírus

article thumbnail

Os antivírus são programas de computador concebidos para prevenir, detectar e eliminar vírus de [ ... ]


Software como serviço

Software como serviço, do inglês Software as a service, é uma forma de distribuição e comerci [ ... ]


Rede de computadores

article thumbnail

A Wikipédia possui o portal:
Portal das tecnologias de informação Uma rede de comp [ ... ]


Matriz de interações

article thumbnail

A Matriz de Interações (ou Matriz CRUD) é utilizada, no processo de desenvolvimento de sistemas [ ... ]


Artigos Relacionados

Pluriverso - Inteligência em Tecnologia

Pluriverso - Inteligência em Tecnologia


Ed.Centro Sul, 2°Andar, SCIA, Qd. 14, Conj. 07, Lt 1, S. Ind.
CEP: 71.250-135, Brasília-DF.  
Como Chegar
| Atendimento  


+55 (61) 4141.5555

Serviços

Desenvolvimento de Software
Oursourcing de T.I
Consultoria em Tecnologia
Licitação com o Governo

Produtos

ERP, CRM, Colaboração
Cloud Computing

Soluções
Soluções em Outsourcing de Tecnologia
Integração de Software
Avaliação de nível tecnológico
Cálculo de custos de T.I
Softwares customizados


Porque escolher a Pluriverso

Blog Corporativo
Blog do Software

Conheça a Pluriverso
quem somos
verticais de atuação
portifólio
casos de sucesso

Atendimento
contatos
sala de imprensa
como chegar
Trabalhe conosco

desenvolvimento de software