2008. 7. 22.

J2EE의 EJB 개념

EJB는 윈도우의 COM/DCOM과 대비되는 기술로 대량 처리환경에서의 분산컴퓨팅을 원할하게 하기 위한 기술이다. 일반적으로 프리젠테이션 층(웹서버)을 담당하는 머신 A와 비지니스로직을 처리하는 머신 B 그리고 DB서버인 C머신으로 구성된다. A머신은 복수개가 될 수 있으며 유저입장에서 볼 때에는 웹 서버이지만, EJB기술적 관점에서 볼 때에는 EJB클라이언트라고 할 수 있다. 당연히 B는 EJB 서버가 된다.

WebBrower(user)
|
EJBClient(A)
|
EJBServer(B)
|
DBServer(C)

와 같은 형태가 될 것이다.

A는 EJB클라이언트이기 때문에 Remote Home Interface 및 Remote Interface를 작성한다.
B는 EJB서버이기 때문에 Session Bean을 작성한다.

세션 빈은 구축 대상 업무를 처리하는 비즈니스 로직이라 생각하면 된다.

리모트 인터페이스는 세션 빈을 원격에서 호출할 수 있도록 해주는 stub와도 같은 역할을 해주는 인터페이스이다. 이름이 원격 인터페이스임을 상기하라.

리모트 홈 인터페이스는 리모트 인터페이스의 실체를 생성하여 리턴해 준다. 리모트인터페이스를 만들어 준다고 이해하면 된다.

B의 서버에는 세션빈 이외에도 엔티티 빈이 존재한다.

엔티티 빈은 세션빈과 다르게 로컬환경에서 사용된다. 즉 B서버에만 있으며 A에서의 직접 호출이 불가능하다는 말이다. 따라서 세션빈에 의해 간접적으로 호출되게 된다. 엔티티빈은 일반적으로 DB상의 하나의 테이블과 일치되며, 이 테이블의 선택/갱신/입력/삭제에 관련한 작업을 수행하게 된다. 엔테티 빈은 세션빈의 리모트 인터페이스/리모트홈 인터페이스와 대배되는 로컬 인터페이스/로컬 홈 인터페이스를 보유하고 있다.

계속...

이 모든 정보를 ejb-jar.xml에 정해진 형식에 맞추어 기록해 놓는다.

댓글 없음: