2012-04-29 3 views
3

SOA 디자인으로 웹 애플리케이션을 구현하고 싶습니다. 장고와 함께 셀러리를 사용하여이 작업을 수행 할 생각입니다. 그러나 나는 몇 가지 질문이 있습니다셀로리를 사용하여 Django에서 SOA 구현하기

  1. 이 내가 장고 프레임 워크 내에서 인증을 수행 할 방법이 갈 수있는 방법이라고 가정하면 장고
  2. 을위한 SOA 디자인을 구현하기 위해 이동하는 올바른 방법입니다. 특히 인증을 생산자 및 소비자 패턴과 분리해야합니다. 그런 식으로, REST API (또는 그와 관련된 모든 것)를 사용하여 인증 자격 증명을 생성하고 소비자 (Django 프레임 워크 내)를 사용하여 자격 증명을 읽고 이에 따라 행동 할 수 있습니다.

다시 말하지만 Dagango에서 Celery를 사용해야합니까?

+0

루비 커뮤니티 (레일스)는 SOA를 구축하고 사용하는 데 더 능숙합니다. Ruby와 Rails로 _Service-Oriented design이라는 책을 얻었습니다.이 책은 Rails에서 SOA 패러다임을 구현하는 방법을 밝힙니다. Python을 Rails보다 조금 더 좋아하기 때문에 Django를 사용하여 동일한 작업을 수행하고 싶습니다. 그래서이 책에서 언급 한 개념이 장고로 번역되는지 알아볼 것입니다.나는 여기서 다시보고 할 것이다. 그러나 밀기 만하면 레일스를 사용하게 될 것입니다. (필자도 꽤 멋진 언어라고 생각합니다.) –

답변

4

장고는 실제로 SOA 용으로 제작되지 않았습니다. 인증의 경우 Django는 웹, API 등에서 쉽게 재사용 할 수 있도록 잘 정의 된 인증 프레임 워크를 가지고 있습니다.

일반적으로 자신 만의 아키텍처를 정의 할 수있는 융통성을 원한다면 Django는 아마 isn이 아닙니다. 너를 위해서. web.py과 같이 좀 더 미니멀 한 것을 고려하고 싶을 수도 있습니다.

+1

Django에는 자체 인증 모듈이 내장되어 있지만 DJango에서 샐러리를 사용할 수 있다면 SOA 접근 방식을 사용하여 이러한 프로세스를 분리 할 수없는 이유는 무엇입니까? –

+2

확실히 할 수 있지만 이런 식으로 문제에 접근하려는 경우 프레임 워크를 많이 사용하지는 않습니다. 그렇다면 더 가벼운 프레임 워크가 더 적합 해 보입니다. –

9

메시지 대기열 (예 : 셀 룰리로 rabbitmq 중개)은 SOA 구성 요소 간의 통신을 완벽하게 처리하는 좋은 방법입니다. 또한 서비스간에 데이터베이스를 공유하지 않고 실시간 통신이 필요한 경우 REST가 기본적으로 만들어집니다. Django 위에 REST 서비스를 구현하기위한 몇 가지 옵션이있다. Tastypie와 Django-Rest-Framework는 대중적인 선택이다.

구성 요소간에 인증을 전달할 때 장고에는 여러 가지 옵션이 있습니다. 대중적인 의견과는 반대로 Django 인증 프레임 워크는 매우 유연하며 백엔드를 작성할 수있는 모든 것에 대한 인증/인증을 지원합니다. 자세한 내용은 https://docs.djangoproject.com/en/dev/topics/auth/#writing-an-authentication-backend을 참조하십시오.

이 수많은 예는 이미 있습니다

로 : django-social-auth 또는 django-allauth

  • LDAP를 소비 승인을 게시하는 경우 더 적은 옵션이 있지만 다음이 포함됩니다.

    난 강력하게 이미 구축하고 자신의 압연을 통해 테스트 바이더 패키지를 사용하는 것이 좋습니다. SSO 구현은 기이하게 까다 롭습니다.