NTAS
  제품 개요
    기능
    지원환경
    적용범위
    Download

NTAS Server
    분산클러스터링
    Fail Over
    Load Blancing
    DB트랜잭션/리소스관리
    Business 코드 재사용
    통합 Thread 관리/재사용
    보안기능
    NTAS 프로토콜 지원

NTAS Client
    M & M
    PSDT
    Message Tester

EMC
  Networker 7.x

    주요 특징
    전문화된 옵션들
    세부 특징과 장점
   
  AutoStart 5.x
    LAAM 특징
    서버이중화 구조
    Legato wanCluster
    for EMC SRDF
    시스템 요구 사항
   

 
 
 

분산 클러스터링 지원으로 성능/안정성 향상

NTAS의 기본구조는 Domain, Connection, Session, Distribution등의 특수한 논리적 구조가 존재합니다. 이러한 논리적 구조는 물리적 구조로 구성이 가능하며 여러 대가 하나의 기능을 수행하기도 합니다. 서버가 일부 다운되더라도 다른 서버를 재 시작 할 필요가 없습니다. 서비스를 하는 도중에도 문제가 발생한 서버만을 교체하면 됩니다. 서버를 증설하기 위하여 서버를 재 시작 할 필요가 없습니다. 증설할 서버의 세팅을 하고 연결만으로 서버의 재 시작 없이 계속적인 서비스를 할 수 있는 부하분산/고가용성의 클러스터링 시스템입니다.
NTAS SYSTEM은 TCP/IP기반에 NTAS PROTOCOL을 사용하며, 4가지의 논리적 구조의 특징은 다음과 같습니다.

Distribution
모든 서버의 실시간 정보를 유지하면서 Client 접속에 따른 Connection의 Load Balancing과 전체 서버의 Monitoring을 위한 서버 시스템

Connection
클라이언트가 직접 연결하는 서버 시스템
이 시스템은 클라이언트의 접속과 Business를 처리할 수 있는 서버 시스템

Domain
Connection이 2개 이상이 되면 각각 Connection을 서로 엮어서 정보를 관리하며 Connection과 같이 Business를 처리할 수 있다. 이는 Connection과 Domain에 적절하게 Business를 분리함으로써 Business처리성능 향상을 높일 수 있다.

Session
클라이언트 Session별 데이터관리 및 시스템간의 통합 정보관리를 위한 시스템
이시스템에는 개발자가 Business를 추가함으로써 타 시스템의 세션 통합을 유지할 수 있다.
 

Fail Over

NTAS의 기본구조는 Domain, Connection, Session, Distribution등의 특수한 논리적 구조가 존재합니다. 이러한 논리적 구조는 물리적 구조로 구성이 가능하며 여러대가 하나의 기능을 수행하기도 합니다. 이러한 논리적 구조에 기초하여 Soft Ware/Network/Hard Ware등의 장애로 인해 서버가 서비스를 하지 못하는 상황에는 시스템 구성에 의해서 서비스 가능한 시스템으로 자동으로 제어를 넘겨주는 형태의 fail over를 수행하며 지속적이고 안정적인 서비스를 제공합니다.

Load Balancing

발생 가능한 부하는 3가지로 예측할 수 있습니다.

CLIENT의 접속 자체의 부하
Connection을 물리구조로 분산함으로써 부하 조절이 가능합니다.
Connection은 2가지 접속 방식을 지원합니다.
  - Multiplexing 방식
  - One Thread One Socket 방식
Multiplexing 방식은 하나의 Thread가 여러개의 Socket이벤트를 처리할 수 있는 기법을 말합니다. 따라서 하나의 Connection 에서 많은 수의 Client 접속을 처리할 수 있는 방식을 말합니다.
One Thread One Socket 방식은 하나의 Thread가 하나의 Socket을 관리하는 방식을 말합니다. 이는 일반 기업용 어플리케이션을 개발할 때 주로 사용하며, 용량이 큰 메시지 데이터를 주고 받을때 적합합니다. Multiplexing은 많은 사용자가 접근을 할 수 있으며, 주로 적은 양의 메시지를 주고 받을 때 적합합니다. 이 두가지 특성을 고려하여 업무에 맞게 적절하게 설정을 하면 됩니다.


CLIENT의 요청에 의한 서버측 비즈니스 처리에 발생되는 부하
NTAS SYSTEM은 4가지 논리구조를 갖습니다.(Domain, Connection, Session, Distribution) 이 중에서 일반적인 비즈니스는 Connection과 Domain에서 처리 합니다. 따라서 Connection과, Domain을 분산배치하고, Connection과 Domain에 서비스 등록을 조절함으로써 부하를 조절할 수 있습니다.

비즈니스 처리에 사용되는 Database의 부하
DATABASE에 부하가 예측될 경우에는 일차적으로는 데이터를 분산배치를 고려하여 Two Phase Commit을 응용하여 부하를 분산할 수 있다.

데이터베이스 트랜잭션 및 리소스 관리

둘 이상의 동종 또는 이기종 시스템 상에 존재하는 데이터베이스의 2 Phase Commit을 지원하여 데이터 무결성을 보장함으로써 분산 트랜잭션을 완벽하게 처리합니다. 이러한 트랜잭션 처리는 NTAS에서 자동으로 처리가 되며, 개발자가 특별한 처리로직을 구현할 필요없이 오직 비즈니스에만 전념할 수 있도록 되어 있습니다.
이러한 기능(Two Phase Commit)은 개발자 입장에서 하나의 데이터베이스를 바라보고 Business로직을 구현하게 되면 NTAS의 시스템 속성에 의해서 자동으로 처리가 된다.
개발자가 데이터베이스 프로그램을 구현하는 도중에 데이터 베이스 리소스에 대한 적절한 리소스 처리를 하지 못했을 경우에는 그 증상이 바로 나타나지 않을수 있으며, 지속적인 버그로 남을 수 있다. NTAS의 데이터베이스 리소스 관리기능은 성능 및 안정성과 개발자의 오류를 원천적으로 차단하는 기능을 제공합니다.
- Two Phase Commit 지원
- Database Pooling 지원
- 리소스 관리기능

분산구조에 관계없이 Business 코드 재사용

NTAS MIDDLE WARE SYSTEM의 특징 중 중요한 한가지는 분산클러스터링을 지원하며 어떠한 분산구조로 배치가 되더라도 개발되어진 코드는 수정없이 재사용이 된다. 이는 초기에 작은 시스템에서 시작하여 차후에 시스템 사용자가 많아질때 시스템 증설과 구조변경만으로 코드 변경없이 성능을 높일 수 있다는 장점이 있다.

통합 Thread 관리에 의한 Thread 재사용

NTAS는 하나의 프로세스만 존재하고 모든 처리는 스레드 풀에서 할당되는 스레드로 처리되는 구조로 설계되어 있다. 클라이언트에서 발생되는 Business요청 처리와 자체의 로직처리를 위하여 스레드가 동작하게 되는데 이 스레드의 수를 조절하여 시스템을 최적의 환경이 되도록 관리합니다. 또한 모든 스레드는 시스템이 초기화가 될 때 미리 생성을 해 놓고 필요 시에 나누어 사용하므로 스레드 재사용을 높여 성능을 최대화 시킵니다.

보안기능

NTAS는 설치이후의 모든 서버의 관리는 Management 관리 콘솔로 제어한다.
NTAS는 사용자를 관리하고, 콘솔상에서 시스템을 제어할 수 있는 역할을 구분한다. 사용자별 제어할 수 있는 역할을 할당하여 시스템을 관리하도록 한다.

시스템 관리 역할
개발자에게 할당되는 역할이며, 개발된 리소스 및 파일 등을 올리거나 다운로드 및 삭제 등을 할 수 있으며, 개발된 모듈을 서비스 가능하도록 등록하며 NTAS의 시스템의 속성을 제어하고 서버를 시작/종료 할 수 있는 역할

사용자 관리 역할
사용자를 등록하거나 역할을 할당하는 역할

모니터링 역할
모니터링 시스템으로 NTAS서버들을 모니터링을 할 수 있는 역할

자체 프로토콜 지원

NTAS SYSTEM은 자체의 프로토콜을 지원합니다. 이 프로토콜을 NTAS PROTOCOL이라고 명명합니다.
NTAS PROTOCOL은 언어에 관계없이 모든 플랫폼과 프로그래밍 언어에 관계없이 메시지 통신을 할 수 있는 구조로 되어 있습니다.
메시지 통신에 사용되는 데이터 타입은 모든 형태의 원시타입(bool, 정수, 실수 등등)와 사용자 정의 클래스을 지원합니다. 개발자는 개발할 때 메시지 통신에 대해서는 객체에 값을 넣고 빼는 형태만 구현하면 되고, 이후에 네트워크를 통해 메시지 전달되는 내용은 신경을 쓰지 않아도 된다. 개발자는 객체를 바라보고 개발을 하게 되면 내부적으로는 Byte스트림으로 변경이 되어 전송이 되고, 받는 쪽에서는 객체로 변환되어서 역시 객체를 바라보고 작업을 하게 됩니다. 따라서 개발자의 개발방식은 네트웍의 데이터 송수신에 신경을 쓰지않고 개발을 할 수가 있으므로 높은 개발생산성을 유지할 수 있습니다. 또한 객체변환 과정은 Reflection 패턴이 아니고 자체의 객체변환 방법이기 때문에 속도가 무척 빠릅니다.