C#,Delphi,Oracle,MSSQL 개발자블로그

2-Tier와 3-Tier의 비교 본문

Programming/Oracle

2-Tier와 3-Tier의 비교

19760323 2017. 5. 19. 15:57

2-Tier와 3-Tier의 비교

 

2-Tier와 3-Tier를 분류하고자 하는 구분은 크게 H/W관점과 S/W 관점에서 나눌 수가 있다.

S/W 관점에서 보면, 1장에서 설명한 미들웨어 중에서 데이터베이스 미들웨어를 사용한 아키텍쳐를 '2-Tier' 라 하고, 그 외의 미들웨어를 사용하면 '3-Tier' 아키텍쳐라고 볼 수 있다.

 

ㅇ 2-Tier와 3-Tier의 설명

티어를 구분할 때, H/W 관점에서도 볼 수 있으나, 아래는 S/W 관점에서의 2-Tier와 3-Tier를 비교 설명한 것이다.

 

(1) 2-Tier

: 클라이언트 사이드에 프리젠테이션/비즈니스 로직을 작성하고, 서버 사이드에는 데이터베이스가 위치한다.

- 예: 4GL 툴(파워빌더, 비쥬얼 베이직, 델파이 등)에서 SqlNet(Oracle), I*Net(Informix) 드라이버를 이용하여, 직접적으로 데이터베이스 접근하여 시스템을 구축 함

 

 

                                                 [ Business Tier, Presentation Tier (1 Tier) - Database Tier(2 Tier) ]

 

(2) 3-Tier

: 클라이언트 사이드에 프리젠테이션 로직을 작성하고, 서버 사이드에 비즈니스 로직과 데이터베이스가 위치 함(여기에서 데이터 베이스와 어플리케이션 서버는 동일 또는 다른 머신에 존재할 수 있음)

- 예: 4GL 툴에서 직접 데이터베이스에 접근하지 않고, 미들웨어 클라이언트와 서버 모듈을 통해 데이터베이스를 접근 함. 비즈니스 로직서버측의 미들웨어 기반 위에 수행 되고 관리가 된다.

 

                                              [ Presentation Tier (1 Tier) - Business Tier(2 Tier) - Database Tier(3 Tier) ]

 

ㅇ 장단점 비교표

 

2-Tier

3-Tier

 

개발 편의성 측면

 

4GL 등을 사용하여 작성 용이 .

 

보통 프리젠테이션 로직(주로 4GL 개발) 비즈니스/데이터 접근 로직(주로 C/C++,COBOL 언어 사용) 별도로 작성하므로 2-Tier 비해 개발이 불편

 

 

확장성 측면

 

좋지 않음

 

이기종 H/W 증설 또는 이기종 데이터베이스가 구축되어도 데이터 정합성 보장할 있어 확장성이 뛰어남.

 

 

재사용성 측면

 

모든 로직이 클라이언트에 존재하고, 4GL 툴과 관련되므로 4GL 툴이 변경 시에 모든 로직을 재개발 하여야 .

 

 

 

 

동일한 비즈니스 로직을 필요로 하는 프리젠테이션 로직을 다양하게 구현할 있음. 비즈니스 로직을 모듈화하여 클라이언트/서버 환경과 웹환경에서 동시에 사용 가능함.

 

성능 측면

 

동시 사용자 수가 증가 함에 따라 성능이 급격히 저하

 

동시 사용자 수가 증가해도 일정한 응답속도와 처리량을 보장

 

 

자원 활용 측면

 

H/W 자원(CPU, 메모리 ) 데이터베이스 자원을 비효율적으로 사용

 

미들웨어에서 부하 분산, 큐잉 메커니즘을 통해 효율적으로 자원 활용

 

 

시스템 관리 측면

 

모니터링 관리가 용이하지 못함

 

처리되고 있는 어플리케이션 정보, 프로그램별 처리 건수 다양한 모니터링이 가능하여 관리 모니터링이 용이

 

 

Comments