Spring architecture
고객의 높은 퀄리티 요구로 인한
테스트중요도 증가 에 따른
테스트 용이성, 개발기간단축, 유지보수비용감소, 일관된 플랫폼 도입,
----------------------------------------------------------------------------------
배경
AOP WebService의 안정화,
MVC Framework의 대중화 (Struts, Webwork)
ORM Framework의 안정화(Ibatis, Hibernate)
Web 2.0의 출현(RIA-Ajax, Flex)
엔터프라이즈 자바빈즈(Enterprise JavaBeans; EJB)는 기업환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델이다. 즉, EJB는 애플리케이션의 업무 로직을 가지고 있는 서버 애플리케이션이다. EJB 사양은Java EE의 자바 API 중 하나로, 주로 웹 시스템에서 JSP는 화면 로직을 처리하고, EJB는 업무 로직을 처리하는 역할을 한다.
----------------------------------------------------------------------------------
<<<<Classic EJB Architecture>>>>
UI Tier : J2EE Server(Web Container(Servlet, Web Classes, Business))
<-RMI(Remote Non-Web Client)->
Middle Tier : J2EE(EJB Container(Session EJB))
EIS Tier : DBMS, Legacy System
특징 : RMI를 통한 Web-EJB통신
장점
1. 정형화된 Service Layer
2. EJB서비스제공(선언적 Transaction 등)
3. Business Object를 여러서버에 분산
4. 익숙한 환경
단점
실행속도 느림
개발속도 느림
OO(Object Oriented)의 제한된 구현
테스트어려움(EJB Container에서만 테스트 가능)
----------------------------------------------------------------------------------
<<<<Local EJB Architecture>>>>
SingleJVM(J2EE Server(Web Container(Servlet/WebClasses/Business), EJB Container(SessionEJB)))
특징 WEB Container와 EJB Container의 연결은 Local EJB Invocation에 의존
장점
1. 분산환경을 제외한 모든 RemoteEJB아키텍쳐의 강점
2. RemoteException처리필요없음
단점
1. 분산환경불가(remote)
2. 테스트어려움(EJB Container에서만 가능)
3. 복잡
----------------------------------------------------------------------------------
<<<<Non EJB Architecture>>>
J2EE Server(Web Container(Servlet/WebClasses/Business))-DBMS
장점
1. Servlet engine에서 서비스가능 - 싸고 쉬운관리
2. 쉬운 배포
단점
1. Remote분산환경불가
2. 표준화불가
3. BusinessLayer불명확
4. EJB기능불가(선언적Transaction관리없음)
5. 미리제공하는 기능없음
6. 일관성부재
----------------------------------------------------------------------------------
<<<<Lightweight Container Architecture>>>>
J2EE Server(Web Container-SingleJVM(MVCframework(Business-O/RMappingLayer-DB)))
장점
1.간단하고 강력함
2.수평확장가능
3. 쉬움, 설정도 쉬움
4. AOP지원(EJB의 Transaction관리가능)
5. Servlet Engine에서 실행가능(+어플리케이션이식성좋음)
6. POJO(테스트좋음)
7. 완전한 OOP
단점
1. remote분산환경불가(웹서비스로해결가능)
2. 표준없음
3. EJB개발자들이 잘 모름
테스트중요도 증가 에 따른
테스트 용이성, 개발기간단축, 유지보수비용감소, 일관된 플랫폼 도입,
----------------------------------------------------------------------------------
배경
AOP WebService의 안정화,
MVC Framework의 대중화 (Struts, Webwork)
ORM Framework의 안정화(Ibatis, Hibernate)
Web 2.0의 출현(RIA-Ajax, Flex)
엔터프라이즈 자바빈즈(Enterprise JavaBeans; EJB)는 기업환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델이다. 즉, EJB는 애플리케이션의 업무 로직을 가지고 있는 서버 애플리케이션이다. EJB 사양은Java EE의 자바 API 중 하나로, 주로 웹 시스템에서 JSP는 화면 로직을 처리하고, EJB는 업무 로직을 처리하는 역할을 한다.
----------------------------------------------------------------------------------
<<<<Classic EJB Architecture>>>>
UI Tier : J2EE Server(Web Container(Servlet, Web Classes, Business))
<-RMI(Remote Non-Web Client)->
Middle Tier : J2EE(EJB Container(Session EJB))
EIS Tier : DBMS, Legacy System
특징 : RMI를 통한 Web-EJB통신
장점
1. 정형화된 Service Layer
2. EJB서비스제공(선언적 Transaction 등)
3. Business Object를 여러서버에 분산
4. 익숙한 환경
단점
실행속도 느림
개발속도 느림
OO(Object Oriented)의 제한된 구현
테스트어려움(EJB Container에서만 테스트 가능)
----------------------------------------------------------------------------------
<<<<Local EJB Architecture>>>>
SingleJVM(J2EE Server(Web Container(Servlet/WebClasses/Business), EJB Container(SessionEJB)))
특징 WEB Container와 EJB Container의 연결은 Local EJB Invocation에 의존
장점
1. 분산환경을 제외한 모든 RemoteEJB아키텍쳐의 강점
2. RemoteException처리필요없음
단점
1. 분산환경불가(remote)
2. 테스트어려움(EJB Container에서만 가능)
3. 복잡
----------------------------------------------------------------------------------
<<<<Non EJB Architecture>>>
J2EE Server(Web Container(Servlet/WebClasses/Business))-DBMS
장점
1. Servlet engine에서 서비스가능 - 싸고 쉬운관리
2. 쉬운 배포
단점
1. Remote분산환경불가
2. 표준화불가
3. BusinessLayer불명확
4. EJB기능불가(선언적Transaction관리없음)
5. 미리제공하는 기능없음
6. 일관성부재
----------------------------------------------------------------------------------
<<<<Lightweight Container Architecture>>>>
J2EE Server(Web Container-SingleJVM(MVCframework(Business-O/RMappingLayer-DB)))
장점
1.간단하고 강력함
2.수평확장가능
3. 쉬움, 설정도 쉬움
4. AOP지원(EJB의 Transaction관리가능)
5. Servlet Engine에서 실행가능(+어플리케이션이식성좋음)
6. POJO(테스트좋음)
7. 완전한 OOP
단점
1. remote분산환경불가(웹서비스로해결가능)
2. 표준없음
3. EJB개발자들이 잘 모름
댓글
댓글 쓰기