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.
3
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:
- consuma o SSO de ZenDesk: http://www.jongales.com/blog/2009/05/12/zendesk-remote-authentication-with-django/
- Consumir SSO de inúmeras redes sociais: django-social-auth ou django-allauth
- consuma LDAP: http://packages.python.org/django-auth-ldap/
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