Implementar uma SOA em Django usando aipo

quero implementar uma aplicação web com um design SOA. Estou a pensar em usar aipo em conjunto com o Django para fazer isto. Mas tenho algumas perguntas:

    Este é o caminho certo para implementar um projeto de SOA para Django Assumindo que este é o caminho a seguir, como é que eu conseguiria a autenticação no âmbito do Django. Gostaria, especificamente, que a autenticação fosse dissociada de um padrão produtor e consumidor. Dessa forma, uma api de descanso (ou qualquer coisa para isso) pode ser usado para produzir as credenciais de autenticação, e um consumidor (dentro do Django framework) pode ser usado para ler e agir sobre as credenciais.
Mais uma vez, devo fazer o acima com aipo em Django?

Author: Barry Steyn, 2012-04-29

2 answers

Uma fila de mensagens (como rabbitmq intermediado por aipo) é uma maneira perfeitamente fina de lidar com a comunicação entre componentes SOA. Além disso, se você precisa de comunicação em tempo real sem compartilhar bancos de dados entre Serviços, o descanso é basicamente feito para isso. Existem várias opções para implementar serviços de descanso em cima do Django, com Tastypie e Django-Rest-Framework sendo opções populares.

Quanto a passar a autenticação entre componentes, o Django tem várias opções para presente. Ao contrário da opinião popular, o Django authentication framework é extremamente flexível, suportando a autorização/autenticação contra qualquer coisa que você possa escrever uma infra-estrutura para. Ver https://docs.djangoproject.com/en/dev/topics/auth/#writing-an-authentication-backend para documentação sobre isto.

Já existem inúmeros exemplos disto:

Quanto à publicação de auth, existem menos opções, mas estas incluem:

Eu sugiro fortemente usar um pacote de fornecedores já construído e testado sobre rolar o seu próprio. Implementar SSO é enganosamente complicado.
 9
Author: GDorn, 2013-12-12 04:07:55
O Django não foi feito para a SOA. No caso da autenticação, o Django tem uma estrutura de autenticação bem definida que lhe permitirá facilmente reutilizá-la através da Web, API, etc. De um modo geral, Se você quer a flexibilidade para definir sua própria arquitetura, Django provavelmente não é para você. Talvez queiras considerar algo mais minimalista como ... web.py.
 4
Author: Michael Mior, 2012-04-29 00:30:25