ドメイン駆動設計とRESTの両方をサービス指向アーキテクチャに適用しようとしているプロジェクトに取り組んでいます。100%REST準拠について心配する必要はありません。リソース指向のHTTP API(〜RichardsonのREST成熟度モデルのレベル2)を構築しようとしていると言った方が良いでしょう。それでも、RPCスタイルのHTTPリクエストの使用は避けようとしています。つまり、例えば、POST
do を使用するのではなく、RFC2616に従ってHTTP動詞を実装しようとしますIsPostalAddressValid(...)
。
ただし、これに重点を置くことは、ドメイン駆動設計を適用しようとする試みを犠牲にしているようです。だけではGET
、POST
、PUT
、DELETE
およびその他のいくつかのほとんど使用されない方法で、私たちは汚いサービスを構築する傾向があり、そして汚いサービスは、貧血のドメインモデルを持っている傾向があります。
POST
:データを受信し、検証し、データにダンプします。GET
:データを取得して返します。実際のビジネスロジックはありません。また、サービス間でメッセージ(イベント)を使用しますが、ビジネスロジックのほとんどは最終的にその周りに構築されるように思われます。
RESTとDDDは何らかのレベルで緊張していますか?(または、ここで何かを誤解していますか?他の何か間違っているのでしょうか?)RPCスタイルのHTTP呼び出しを回避しながら、サービス指向アーキテクチャで強力なドメインモデルを構築することは可能ですか?