Download presentation
Presentation is loading. Please wait.
1
(Network Transaction Application Server)
Client First Better than the Best NTAS (Network Transaction Application Server) We Deliver Agility Reliability Intelligence BLUE copyrightⓒ2001~2010 AriSystemBlue.co.ltd., All Rights Reserved. Sales Dept./ General Manager DongHyuk, Shin Mobile: 9F, Sanjung B/D 15-16, Yeouido-dong, Yeongdeungpo-gu, Seoul, Korea Tel : Fax :
2
Table of Contents Table of Contents Content Page NTAS란? 3 NTAS란? - 기능
NTAS Structure NTAS Feature NTAS의 적용 NTAS 지원환경 3 5 11 13 21 24
3
NTAS (Network Transaction Application Server)
1. NTAS는 분산 Clustering을 기반으로 설계되어 있으며 , Client/Server Middleware 및 WAS 로 분류 2. 서버는 이(異) 기종의 다양한 플렛폼에서 분산되어 운용되고 있으며, 클라이언트는 언어에 제약이 없으며 다양한 언어의 동기 및 비동기 통신 라이브러리를 제공함 3. NTAS는 Network Transaction Application Server의 약자로 Network 기반(TCP/IP, Http)의 Server side System 개발에 필요한 통합 Application Server를 의미. 프로토콜 설계부터 테스트/운용에 필요한 다양한 GUI툴 제공 4. WAS, Distribution Clustering Middleware 등의 Server Side 제품과 개발/테스트 및 유지보수를 위한 Tool 등을 제공하는 통합 Application 제품 군( 群) 5. 부하분산/ 高 가용성 Clustering System, 성능/안정성/생산성/ 이(異) 기종, 이(異) 언어의 통합 제품
4
1. NTAS란? NTAS? Feature? Network Transaction Application Server
Clustering-based Transaction Middleware + Web Server Feature? Multi Platform, Multi Language Load Balancing Reliable Clustering Service Clustering Based Synchronized Architecture Flexibility Resource Management Efficient System Management Enhanced Developing Environment
5
1. NTAS란? - 기능 1.분산 클러스터링 지원으로 성능/안정성 향상 2.Fail Over 3.Load Balancing
4.데이터베이스 트랜잭션 및 리소스 관리 5.분산구조에 관계없이 Business 코드 재사용 6.통합Thread 관리에 의한 Thread 재사용 7.보안기능 8.자체 프로토콜 지원 9.PSDT( Protocol Specification Definition Tool )지원 10.모니터링/통합관리 시스템 제공 11.메시지 테스터 제공
6
1. NTAS란? - 기능 기능별 설명 1.분산 클러스터링 지원으로 성능/안정성 향상
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를 추가함으로써 타 시스템의 세션 통합을 유지할 수 있습니다.
7
1. NTAS란? - 기능 기능별 설명 2.Fail Over
NTAS의 기본구조는 Domain, Connection, Session, Distribution등의 특수한 논리적 구조가 존재합니다. 이러한 논리적 구조는 물리적 구조로 구성이 가능하며 여러 대가 하나의 기능을 수행하기도 합니다. 이러한 논리적 구조에 기초하여 Soft Ware/Network/Hard Ware등의 장애로 인해 서버가 서비스를 하지 못하는 상황에는 시스템 구성에 의해서 서비스 가능한 시스템으로 자동으로 제어를 넘겨주는 형태의 fail over를 수행하며 지속적이고 안정적인 서비스를 제공합니다. 3.Load Balancing (발생 가능한 부하는 3가지로 예측할 수 있습니다.) 1) CLIENT의 접속 자체의 부하 Connection을 물리구조로 분산함으로써 부하 조절이 가능합니다. Connection은 2가지 접속 방식을 지원합니다. - Multiplexing 방식 - One Thread One Socket 방식 Multiplexing 방식은 하나의 Thread가 여러개의 Socket이벤트를 처리할 수 있는 기법을 말합니다. 따라서 하나의 Connection 에서 많은 수의 Client 접속을 처리할 수 있는 방식을 말합니다. One Thread One Socket 방식은 하나의 Thread가 하나의 Socket을 관리하는 방식을 말합니다. 이는 일반 기업용 어플리케이션을 개발할 때 주로 사용하며, 용량이 큰 메시지 데이터를 주고 받을때 적합합니다. Multiplexing은 많은 사용자가 접근을 할 수 있으며, 주로 적은 양의 메시지를 주고 받을 때 적합합니다. 이 두가지 특성을 고려하여 업무에 맞게 적절하게 설정을 하면 됩니다. 2) CLIENT의 요청에 의한 서버측 비즈니스 처리에 발생되는 부하 NTAS SYSTEM은 4가지 논리구조를 갖습니다.(Domain, Connection, Session, Distribution) 이 중에서 일반적인 비즈니스는 Connection과 Domain에서 처리 합니다. 따라서 Connection과, Domain을 분산배치하고, Connection과 Domain에 서비스 등록을 조절함으로써 부하를 조절할 수 있습니다.
8
1. NTAS란? - 기능 기능별 설명 3) 비즈니스 처리에 사용되는 Database의 부하
DATABASE에 부하가 예측될 경우에는 일차적으로는 데이터를 분산배치를 고려하여 Two Phase Commit을 응용하여 부하를 분산 할 수 있습니다. 4.데이터베이스 트랜잭션 및 리소스 관리 둘 이상의 동종 또는 이기종 시스템 상에 존재하는 데이터베이스의 2 Phase Commit을 지원하여 데이터 무결성을 보장함으로써 분산 트랜잭션을 완벽하게 처리합니다. 이러한 트랜잭션 처리는 NTAS에서 자동으로 처리가 되며, 개발자가 특별한 처리로직을 구현할 필요없이 오직 비즈니스에만 전념할 수 있도록 되어 있습니다. 이러한 기능(Two Phase Commit)은 개발자 입장에서 하나의 데이터베이스를 바라보고 Business로직을 구현하게 되면 NTAS의 시스템 속성에 의해서 자동으로 처리가 됩니다. 개발자가 데이터베이스 프로그램을 구현하는 도중에 데이터 베이스 리소스에 대한 적절한 리소스 처리를 하지 못했을 경우에는 그 증상이 바로 나타나지 않을 수 있으며, 지속적인 버그로 남을 수 있습니다. NTAS의 데이터베이스 리소스 관리기능은 성능 및 안정성과 개발자의 오류를 원천적으로 차단하는 기능을 제공합니다. - Two Phase Commit 지원 - Database Pooling 지원 - 리소스 관리기능 5.분산구조에 관계없이 Business 코드 재사용 NTAS MIDDLE WARE SYSTEM의 특징 중 중요한 한가지는 분산클러스터링을 지원하며 어떠한 분산구조로 배치가 되더라도 개발되어진 코드는 수정 없이 재사용이 됩니다. 이는 초기에 작은 시스템에서 시작하여 차후에 시스템 사용자가 많아질때 시스템 증설과 구조변경만으로 코드 변경 없이 성능을 높일 수 있다는 장점이 있습니다.
9
1. NTAS란? - 기능 기능별 설명 6.통합 Thread 관리에 의한 Thread 재사용
NTAS는 하나의 프로세스만 존재하고 모든 처리는 스레드 풀에서 할당되는 스레드로 처리되는 구조로 설계되어 있다. 클라이언트에서 발생되는 Business요청 처리와 자체의 로직처리를 위하여 스레드가 동작하게 되는데 이 스레드의 수를 조절하여 시스템을 최적의 환경이 되도록 관리합니다. 또한 모든 스레드는 시스템이 초기화가 될 때 미리 생성을 해 놓고 필요 시에 나누어 사용하므로 스레드 재사용을 높여 성능을 최대화 시킵니다. 7.보안기능 NTAS는 설치이후의 모든 서버의 관리는 Management 관리 콘솔로 제어합니다. NTAS는 사용자를 관리하고, 콘솔상에서 시스템을 제어할 수 있는 역할을 구분한다. 사용자 별 제어할 수 있는 역할을 할당하여 시스템을 관리하도록 합니다. 1) 시스템 관리 역할 개발자에게 할당되는 역할이며, 개발된 리소스 및 파일 등을 올리거나 다운로드 및 삭제 등을 할 수 있으며, 개발된 모듈을 서비스 가 능하도록 등록하며 NTAS의 시스템의 속성을 제어하고 서버를 시작/종료 할 수 있는 역할을 합니다. 2) 사용자 관리 역할 사용자를 등록하거나 역할을 할당하는 역할을 합니다. 3) 모니터링 역할 모니터링 시스템으로 NTAS서버들을 모니터링을 할 수 있는 역할을 합니다.
10
1. NTAS란? - 기능 기능별 설명 8.자체 프로토콜 지원
NTAS SYSTEM은 자체의 프로토콜을 지원합니다. 이 프로토콜을 NTAS PROTOCOL이라고 명명합니다. NTAS PROTOCOL은 언어에 관계없이 모든 플랫폼과 프로그래밍 언어에 관계없이 메시지 통신을 할 수 있는 구조로 되어 있습니다. 메시지 통신에 사용되는 데이터 타입은 모든 형태의 원시타입(bool, 정수, 실수 등등)와 사용자 정의 클래스을 지원합니다. 개발자는 개발할 때 메시지 통신에 대해서는 객체에 값을 넣고 빼는 형태만 구현하면 되고, 이후에 네트워크를 통해 메시지 전달되는 내용은 신경을 쓰지 않아도 됩니다. 개발자는 객체를 바라보고 개발을 하게 되면 내부적으로는 Byte스트림으로 변경이 되어 전송이 되고, 받는 쪽에서는 객체로 변환되어서 역시 객체를 바라보고 작업을 하게 됩니다. 따라서 개발자의 개발방식은 네트웍의 데이터 송수신에 신경을 쓰지 않고 개발을 할 수가 있으므로 높은 개발생산성을 유지할 수 있습니다. 또한 객체변환 과정은 Reflection 패턴이 아니고 자체의 객체변환 방법이기 때문에 속도가 무척 빠릅니다.
11
Client Domain Management Front End Load Balancing
2. NTAS의 Structure (1/2) Heavy Business Logic Client Domain Management Domain Name Service Front End Load Balancing Monitoring Service Distribution Web Server Business Domain Http Web Service Servlet 2.5 JSP 2.1 Connection Session Management Service Session Management Fail Over Client Connection Light Business Logic
12
2. NTAS의 Structure (2/2) CLIENT SIDE (NTAS, Web Browser)
JDBC Monitoring /ManagementTool BusinessDatabase Business Domain Processing Request & Response Session Information DistributionDNS 3 Session ManagementService 1 Connection Service Web Service Connection Info Request & Response 2 4 Connect Return Result CLIENT SIDE (NTAS, Web Browser)
13
3. NTAS의 Feature (1/3) Client Support Load Balancing
MIDP(J2ME)/ BREW / WIPI 등의 Mobile Client 지원 VC++ / VB / Delphi GCC 등, 거의 모든 Language/Platform 지원 Load Balancing Client Connection 분산 Client 요청에 의한 Server측 Business logic 처리 분산 Business처리에 사용되는 DB의 분산, Session 처리분산 Reliable Clustering Service 여러 Server가 하나의 논리적인 기능을 수행 S/W, N/W, H/W 장애에 대한 Fail Over Location Transparency
14
3. NTAS의 Feature (2/3) Architecture Flexibility Resource Management
다양한 이(異) 기종 간 Server구성 가능 분산 DB, 분산 Transaction 지원 (2PC) Server 확장 시에도 Downtime 없음 Resource Management Database Connection Pool Thread Pool Efficient System Management 중앙 집중 Monitoring 지원 ; Memory, Thread 사용량 . DB의 상태, Service에 접속되어 있는 client 수 Server의 관리 Console 지원 ; 사용자 관리 , System 관리
15
Enhanced Developing Environment
3. NTAS의 Feature (3/3) Enhanced Developing Environment { Protocol Transparency } 메시지 통신시 플랫폼, 언어와 독립적 구조 자동 Marshaling, Un-marshaling 통해 개발자의 View를 객체로 통일 TCP/IP기반의 NTAS프로토콜 인 NTP사용 빠른 Marshaling 속도(java object stream에 비해 3~5배 빠름) { PSDT Tool의 제공 (Protocol Specification Definition Tool) } 프로토콜의 통합관리 프로토콜 관련 코드 및 코드 자동화 도구 문서 작업 자동화 { 메시지 테스터 제공 (Message Tester) } Client와 Server의 병렬 개발 서버간의 통신에 대한 시각적인 확인
16
3. NTAS의 Feature 참고화면(1/5) Monitoring / 통합관리화면
NTAS SYSTEM은 분산 클러스터링을 기본으로 설계가 되어 있습니다. 따라서 1대의 서버에서 서비스 할 때 보다는 사용자가 많아서 많은 서버의 분산구조에서 더 큰 성능을 발휘합니다. 사용자가 많아서 서버가 많아질 경우 실제 이들을 일일이 관리 하기에는 한계가 있기 때문에 NTAS SYSTEM은 다음과 같은 기능을 지원합니다. 모니터링 NTAS SYSTEM의 모든서버의 상태를 한눈에 확인 할 수 있습니다. 예를 들면, 메모리, 스레드의 사용량, Heap 메모리 상태, DB POOL및 DB의 상태, Connection Server 당 접속되어 있는 Client 수 등등을 그래프 및 수치등으로 일목요연하게 모니터링 할수 있습니다. 통합관리 서비스 등록, Deploy, 서버의 속성변경, 서버 시작/종료 등을 제어할 수 있는 기능입니다.
17
3. NTAS의 Feature 참고화면(2/5) PSDT( Protocol Specification Definition Tool ) 화면 PSDT는 NTAS SYSTEM에서 사용되는 NTAS PROTOCOL을 기반으로 메시지정의/메시지소스생성/문서생성등을 통해 NTAS를 활용하여 어플리케이션을 개발할 때 프로토콜에 관련된 모든 작업을 지원 및 관리하는 툴입니다. 응용분야에 따라서 확장 가능성이 아주 큰 툴입니다. 가. 프로토콜을 통합관리 - 유지관리향상 나. 프로토콜 관련코드의 자동 생성 - 개발 생산성 향상 - 개발자의 코드 실수로 인한 오류 최소화 - 각종 플랫폼/ 프로그램 언어에 관계없이 코드를 생산할 수 있습니다.(JAVA, C/C++ 등등) 다. 문서 작업 자동화 - 현재는 excel 문서를 생성해 내지만, 사용자 정의 에 의해서 xml을 지원하는 모든 문서를 생성해 낼 수 있습니다. 라. 사용자 정의 기능 강화 - jsp 를 다룰 수 있다면 사용자가 직접 코드를 자동 생성해 낼 수 있습니다.
18
3. NTAS의 Feature 참고화면(3/5) Message Test 화면
SYSTEM에서 SERVER SIDE어플리케이션을 개발하게 되면 개발된 서버 어플리케이션의 기능을 서비스 받기 위한 클라이언트가 개발되는 것은 당연하다고 가정합니다. 그러나 개발은 서버와 클라이언트가 거의 동시에 병렬적으로 개발되어지기 때문에 서버의 기능 테스트를 위해 클라이언트가 만들어 지기를 기다린다는 것은 개발업무를 원활하게 하지 못하는 요소가 될 수 있습니다. 그렇지 않고 서버의 기능을 테스트하기 위해 일일이 코드를 작성하여 테스트를 할 수도 있습니다만, 이 또한 번거롭습니다. '메시지 테스터'는 이러한 문제를 해소하기 위해 사용되는 툴입니다. 단말기 어플리케이션이 없어도 서버를 테스트를 할 수 있습니다. - 단말기 개발 전 단계에서 미리 서버측 어플리케이션 개발이 가능합니다. 서버간의 통신을 테스트 할 수 있습니다. - 단말기가 Connection에 접속하듯이 테스트 가능 - Connection, Domain, Session 시스템 서버간의 통신을 눈으로 확인이 가능합니다.
19
3. NTAS의 Feature 참고화면(4/5) NTAS Packager
20
3. NTAS의 Feature 참고화면(5/5) Web Packager
21
4. NTAS 적용 기능별 구분 업무별 구분 기업의 전사적 업무 동종 혹은 이 기종간의 Multi Node 환경
대규모의 사용자의 접근 처리 대량 온라인 트랜잭션 처리 Web 과 C/S 의 클러스터링 통합환경 기능별 구분 Web / C/S Application 서버 모바일 컨텐츠 서버 P2P형태의 어플리케이션 서버 채팅 서버 / 증권 트레이딩 서버 / 게임 서버 기타 온라인 상태에서의 비즈니스를 구현하는 서버 업무별 구분
22
Session Management Service
4. NTAS 적용 은행업무 예시 은행업무 예시 계좌 이체, 입출금 매우 중요한 트랜잭션 Bank Database (MS-SQL) Bank Database (Oracle) Business Domain Distribution Session Management Service 중요한 트랜잭션 서비스 길고 무거운 비즈니스 프로세스 복수개의 데이타베이스 사용 고가용성의 필요 Connection Service Web Service Client : 예금 입출금/이체 사용자
23
Session Management Service
4. NTAS 적용 게임서버의 예시 게임 서버의 예시 게임정보관리 커넥션 대비 작은 서버 Business Domain 게임유저 세션 관리 Session Management Service Distribution 커넥션 포인트 채팅문장 In/Out Connection Service 아주 많은 수의 커넥션 짧고 단순한 logic Web Service Game User
24
5. NTAS 지원환경 NTAS 지원환경 항 목 내 용 설 명 Platform Server Client 개발언어 Server
항 목 내 용 설 명 Platform Server Java VM 설치 가능한 모든 OS (거의 모든 시스템에 가능함) Client 모든 OS (거의 모든 시스템에 가능함) 개발언어 Server Java Java, C/C++ 및 4GL(Visual C/C++, Visual Basic, Delphi …etc.) 등 거의 모든 언어지원 Client DBMS JDBC를 지원하는 모든 RDBMS (Oracle, Informix, Sybase, DB2, Mysql, PostgreSQL …etc.)
Similar presentations