더북(TheBook)

3.3.1 무상태성 빈을 지닌 퍼사드

기능은 연관되어 있지만 별개의 빈으로 나뉘어진 3개의 EJB CustomerService, LoanService, AccountService가 있다고 합시다(코드 3-2).

코드 3-2 퍼사드의 하위 시스템에 해당하는 세 EJB

package com.devchronicles.facade;
 
import javax.ejb.Stateless;
 
@Stateless
public class CustomerService {
public long getCustomer(int sessionID) {
    // 로그인한 고객 ID를 조회합니다.
    return 100005L;
}
public boolean checkId(long x) {
    // 고객 ID가 올바른지 체크합니다.
    return true;
}
}
 
package com.devchronicles.facade;
 
import javax.ejb.Stateless;
 
@Stateless
public class LoanService {
public boolean checkCreditRating(long id, double amount) {
    // 고객의 신용 등급이 해당 금액을 대출할 수 있는지 체크합니다.
    return true;
}
}
 
package com.devchronicles.facade;
 
import javax.ejb.Stateless;
 
@Stateless
public class AccountService {
public boolean getLoan(double amount) {
    // 계좌 잔액이 충분한지 확인합니다.
    return true;
}
public boolean setCustomerBalance(long id, double amount) {
    // 계좌 잔액을 업데이트합니다.
    return true;
}
}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.