2013-03-23 3 views
0

Я хочу использовать архитектуру SOA для своего следующего проекта. Кроме того, я хочу использовать службы данных WCF для уровня доступа к данным. Например, пользователь хочет получить документы на определенную дату. Мы называем службы WCF (Service Layer), чтобы получить документыСлужбы данных SOA и WCF

public ActionResult GetDocumentByDate(DateTime date) 
{ 
    var request = // here create request object; 
    var documentsDto = _documentService.GetDocument(request); 
    ... 
} 

В службе WCF мы называем Bussines слоя (BL):

public class DocumentService:IDocumentService 
{ 
    public IEnumerable<DocumentDto> GetDocumentsByDate(DocumentsByDateRequest request) 
    { 
      // call GetDocumentsByDate from DocumentLogic 
    } 
} 

public class DocumentLogic 
{ 
    public IEnumerable<Document> GetDocumentsByDate(DateTime date) 
    { 
     // call DAL 
    } 
} 

Я хочу использовать WCF службы данных для получения данных. Я не работал с этой техникой.

Следует ли скрывать службы данных WCF за уровнем обслуживания или они должны быть доступны, только SL осуществляет доступ к данным через службы данных WCF?

В этом случае внешний мир будет показан службами WCF и службами данных WCF.
В соответствии с примером, где лучше делать валидацию?

И, наконец, общий вопрос, каково ваше впечатление от служб передачи данных WCF?

ответ

1

Мое мнение таково, что DataServices - это крутая технология, но я думаю, что скрывать их от пользователей - плохая идея. На самом деле вы на самом деле не скрываете службу, вы просто не вызываете явно. Если вы хотите использовать dataservices, вы можете просто вызвать службу из вашего asp .net-кода. Если вы хотите, вы можете управлять и ограничивать свои данные (объекты), используя определенные методы в службе данных. Как я думаю, вы используете EF :)

Я думаю, что лучшее место для проверки - это ваш код asp .net (прежде чем вы создадите запрос, конечно).

Смежные вопросы