21.12.2022 Views

python_para_desenvolvedores_2ed

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Processamento distribuído 273

# Cria um objeto local para acessar o objeto remoto

proxy = Pyro.core.getProxyForURI('PYROLOC://127.0.0.1/dist')

# Evoca um método do objeto remoto

print proxy.calc(1000)

Os métodos publicados através do PYRO não podem ser identificados por

introspecção pelo cliente.

Embora o PYRO resolva problemas de concorrência de comunicação com os

clientes que estão acessando o mesmo servidor (cada conexão roda em uma

thread separada), fica por conta do desenvolvedor (ou de outros frameworks

que a aplicação utilize) resolver questões de concorrência por outros recursos,

como arquivos ou conexões de banco de dados 83 , por exemplo. É possível

autenticar as conexões através da criação de objetos da classe Validator, que

podem verificar credenciais, endereços IP e outros itens.

83 Problemas de concorrência de conexões de banco de dados podem ser tratados de forma

transparente com a utilização de ORMs que implementam esta funcionalidade ou pelo

pacote DBUtils (http://www.webwareforpython.org/DBUtils), que faz parte do projeto

Webware for Python (http://www.webwareforpython.org/).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!