우리는 SOA WCF 시스템에 데이터 액세스 서비스를 가지고 있습니다. 이 서비스는 "시스템 전체"데이터베이스 테이블에서 CRUD (작성, 업데이트, 삭제) 작업을 담당하며 쿼리에 대한이 데이터의 소스이기도합니다. 시스템에서 DAS의 명령하에 테이블에 액세스하려는 다른 서비스는 가져 오거나 수정하기 위해 DAS로 이동해야합니다. 우리는 Entity Framework를 사용하고이 DAS에 대해 자체 POCO 상태 추적 시스템을 구축했습니다.WCF SOA : CRUD 데이터 액세스 서비스 ... 왜 귀찮은가요?
우리는 데이터베이스에 단일 서비스에 속하는 다른 테이블을 가지고 있으며, 비즈니스 정보가 충돌하고 다시 시작되거나 기록되는 경우 액세스 할 수있는 상태 정보와 같이 자신의 용도로만 데이터를 저장합니다. 우리는 하나 이상의 테이블이 하나 이상의 서비스에 의해 접근 될 수 없다는 규칙을 가지고 있습니다. 그래서 여러 서비스에 필요한 데이터는 DAS에서 끝납니다.
진실은 왜 데이터 액세스 서비스가 테이블에 직접 액세스하는 것과 반대되는 좋은 아이디어인지 전혀 이해하지 못했습니다. 데이터베이스 업데이트 (한 번에 하나의 POCOS 만 가능)의 POCO 그래프를 되돌릴 수 없기 때문에 우리의 DAS는 트랜잭션이 아니며 DAS가 실제로 데이터를 필요로하는 다른 서비스의 클라이언트이기도합니다 그것으로부터 ... 순환 의존성.
왜 DAS를 사용합니까? SOA와 관련하여 DAS가 중요한 이유는 무엇입니까? 내가 여기서 무엇을 놓치고 있니? 통제의 단일 지점?
모든 테이블이 DAS의 일부가 아니며 일부 서비스가 자체 "개인"테이블을 가지고있는 SOA 설계 결함입니까?
이 환영에 대한 토론입니다.
왜 WCF 데이터 서비스를 사용하는 대신 자체 서비스를 롤업합니까?그것은 당신에게 당신의 서비스가 부족하다고 말하는 몇 가지 특징을 제공합니다. 이미 EF 모델을 가지고 있다면 구현하는 데 극도의 노력이 들지 않습니다. –