2022년 1월 29일 토요일

What is EJB Session in SAP PO Management Console?

Management Console 모니터링을 하던 중 EJB Session은 항상 수치가 0인 상태로 있는 것을 보게 되었는데 해당 세션은 어떤 연계방식의 인터페이스와 PO어떤기능으로 인해 영향을 받는지 궁금해져서 사이트나 서비스 등을 찾아보긴 했지만 결국에 못찾았습니다.

하지만 항상 그렇듯 이런 궁금증을 찾는 과정중 PO의 새로운걸 알게 되니 좋은것 같습니다.
PO의 자바프록시를 생성 및 개발을 하다보면 EJB라는 용어를 보게 되는데

EJB란?

한때는 금융권 프로젝트에서 꽃같은 존재? 라고 들려왔던적 있던 기술? 방식? 이였던것 같은데요.
EJB(Enterprise Java Beans)은 자바 엔터프라이즈급 분산 구성요소 애플리케이션을 구축하는 프로세스를 단순화하는 서버측 아키텍처라고 하며 자바기반인 PI/PO의 어댑터모듈, 자바프록시 등과 밀접한 관련이 있어 보입니다. 
 
EJB프레임워크를 사용하여 개발한 엔터프라이즈 빈은 자바의 분산 응용프로그램을 빌드에 사용한다고 하는데요.
하나의 응용프로그램이 아닌 여러 응용프로그램 서버, 클러스터링에 배포되는 거라고 하는데 겉보기에는 단일 응용프로그램으로 보일수도 있다고 해요. 예를 들어 하나의 자바프록시 프로그램을 개발 후 디폴로이 할때 여러 PO서버에 배포되는데 정작 실행할때는 단일 프로그램에서 실행하는것처럼 보이는것과 같은 의미일까요?

엔터프라이즈 빈에는 세션, 엔티티 및 메시지 기반의 세가지 유형이 있다고 하느데요. PO의 Service Interface의 인터페이스 패턴이나 자바프록시 개발시 어노테이션에서 볼수 있는 유형들이 있는것 같습니다.

엔터프라이즈 빈의 유형들

Enterprise
Session Bean
Stateless: 단일 메소드 호출에 대한 비즈니스 프로세스를 위한것?
Stateful: 메소드 요청 또는 트랜잭션에 대한 비즈니스 프로세스에 대한 설계관련?
Message Driven: 다른 세션과 유사하지만 차이점은 메시지 전송 후 Message Driven Ben을 호출 그리고 조회할수 없다는거?
Entity Bean
Bean Managed Persistence
Container Managed Persistence

SAP PI/PO에서는 보통 Session Bean을 사용하여 Adapter Module, Java Proxy등의 개발할때 사용된다고  합니다.

자바프록시와 EJB세션과의 관계

Proxy라는 건 통합엔진이 있는 JAVA나 ABAP과 같은 애플리케이션 연결을 위해 SAP에서 제공하는 기능이라고 합니다.
자바프록시를 개발할때면 아래와 같이 어노테이션 구문을 볼수 있는데
@SessionHandlingDT(enableSession = false)
@Stateless
이렇게 기본적으로 생성이 되는데 Session Bean과는 다르게 상태유지?를 하지 않는Stateless는 엑세스속도나 서버리소스 사용량 감소에 대한 특징이 있다고 하며 많은 수의 클라이언트를 지원하는 데 더 적은 리소스가 필요하기 때문에 더 나은 성능을 제공해줄수 있
다고 합니다. 어떻게 보면 인터페이스에 적합한 세션유형으로 보이네요.

Stateful 세션빈은 메소드 호출 중에 특정 클라이언트에 대한 데이터와 연관되고 포함되어있는 경우? 사용하라고 하는데 솔직히 모르겠습니다.

자바프록시를 개발할때 Service Interface의 Interface Pattern중 기본으로 Stateless로 그외 Stateful, TU&C/C가 있고 자바프록시는 Stateless로 지정하여 생성하는데 이후에 소스에서 어노테이션을 @Stateful로 변경시 아래와 같이 경고 문구가 나옵니다.
"EJB모듈의 @WebService 주석은 Stateless 또는 싱글톤 세션 Bean서만 사용할수 있습니다." 

'만약 자바프록시 개발시 Stateful로 설정하면 EJB Session과 관련이 있을까?' 이런부분이 궁금하긴 했는데 다음에 자바프록시 개발할일이 생기면 한번 테스트해봐야겠네요.

아무튼 현재도 EJB Session의 수치는 0에서 변하는 모습은 없습니다.

참고사이트: 

댓글 없음:

댓글 쓰기