2013-09-05 2 views
0

저는 웹 서비스와 Spring을 처음 접했습니다. 이 서비스를 사용웹 메서드, 서비스 계층 또는 DAO 계층에서 서비스 응답을 만드시겠습니까?

@WebMethod(operationName = "docSearch") 
    public ServiceResponse docSearch(@WebParam(name = "docNum") String docNum) { 
     //TODO lots of TODOs here: 
     docService = getDocService(); 
     ServiceResponse serviceResponse = docService.docSearchService(docNum); 
     return serviceResponse; 
    } 

:

@Transactional 
    public ServiceResponse docSearchService(ServiceRequest serviceRequest, String docNum) { 
     //TODO lots of TODOs here: 
     ServiceResponse serviceResponse = new ServiceResponse(); 
     serviceResponse = docDao.docSearchDAO(serviceRequest, docNum); 
     return serviceResponse; 
    } 

하고 해당 DAO은 다음과 같습니다

public ServiceResponse docSearchDAO(ServiceRequest serviceRequest, String docNum) {    

     Session session = sessionFactory.getCurrentSession(); 
     List<doc> temp = session.createCriteria(Doc.class) 
       .add(Restrictions.eq("id", docNum)) 
       .list(); 

     if (temp != null && temp.size() > 0) { 

      serviceResponse.setDescription("Service response successfully implemented);   
      return serviceResponse; 
     } else { 
      serviceResponse.setDescription("Service response was not successfully implemented); 
      return serviceResponse; 
     } 

     } 

내가 채울 수있는 가장 좋은 방법이 무엇인지 궁금이 같은 웹 서비스 방법을 웹 메소드, 서비스 계층 또는 DAO 계층의이 ServiceResponse 객체에서?

답변

2

나는 귀하의 웹 방법으로 말할 것입니다. 웹 서비스는 서비스 계층을 호출하기위한 인터페이스 여야합니다. 들어오는 요청을 서비스 계층이 이해할 수있는 것으로 변환해야하며 결과를 웹 서비스가 보낼 수있는 것으로 변환해야합니다.

서비스는 일반적으로 응용 프로그램의 재사용 가능한 부분이며 웹 서비스와 웹 응용 프로그램 (컨트롤러 포함)간에 재사용하거나 일괄 처리 삽입을 통해 처리 할 수 ​​있습니다. 기본적으로 비즈니스 로직을 포함하는 서비스를 호출하는 모든 것이 서비스에 대한 인터페이스 레이어입니다.

컨트롤러는 일반적으로 서비스 인터페이스를 통해 정의하는 응용 프로그램 동작에 대한 액세스를 제공합니다. 컨트롤러는 사용자 입력을 해석하여이를 뷰에 의해 사용자에게 표시되는 모델로 변환합니다. 스프링은 매우 추상적 인 방법으로 컨트롤러를 구현하므로 다양한 컨트롤러를 만들 수 있습니다. Reference Guide

나를 위해 이것은 서비스 계층과 인터페이스하는 응용 프로그램의 모든 부분에 적용됩니다. 기본적으로 서비스 레이어가 이해할 수있는 것으로부터 /로 변형됩니다. 여기에 a blog이 재미있는 정보에 링크되어 있습니다 (더 넓은 아키텍처 수준에서).

링크 :

  1. Spring Reference Guide
  2. Clean Architecture
+0

감사에 대한 명확한 설명과 링크에 대한 많은. 나는 당신의 권고를 확실히 볼 것입니다! – lamostreta