검색결과 리스트
C++에 해당되는 글 1건
- 2010/03/24 libSOPT 소개
글
본 프로젝트는 오랜 기간 다양한 분야에서 개발되어 온 공개 네트워크 라이브러리인 ACE를 사용하여 서버 프레임워크를 구성하는 것을 목표로
합니다. 서버 프레임워크는 다음과 같은 네 가지 사항을 고려하여 디자인 되었습니다.
- 중복되는 기능에 대한 반복 작업을 최소화한다.
- 핵심 기능의 모듈화를 통해 확장성은 증가시키고, 복잡도는 최소화한다.
- 프레임워크 이용자는 TCP통신과 같은 하위 계층은 작업은 신경쓰지 않고, 서비스 로직과 같은 보다 생산적인 일에 집중할수 있어야 한다.
- 검증된 라이브러리를 사용한다.
위와 같은 요구사항을 충족시키기 위해 사용된 ACE라이브러리는 동시 처리 방식의 많은 핵심 패턴들을 구현하고 있는 객체 지향 툴입니다.
특히 ACE는 고성능 실시간 통신 서비스와 어플리케이션을 개발하는 데 많은 기능을 제공합니다. 이것은 프로세스간 통신, 이벤트 다중 수신,
명시적 동적 링킹, 동시 처리 방식의 객체지향 네트워크 어플리케이션과 서비스의 개발을 단순하게 만들어 줍니다.
<ACE Framework. 출저: http://www.cs.wustl.edu/~schmidt/ACE-overview.html>
ACE의 장점을 요약하면 다음과 같습니다.
이식성의 증가.
일반적으로 네트워크 어플리케이션과 같이 운영체제와 밀접한 어플리케이션을 다른 운영체제로
이식하는 작업은 서로 비슷한 특성을 지닌 운영체제 위에서라도 많은 시간과 노력이 필요할수 있으며, 서로 상이한 특성한 지닌 운영체제 위에서라면
거의 불가능한 작업입니다. 하지만 ACE 컴포넌트들은 하나의 운영체제 위에서 동시처리방식의 네트워크 어플리케이션을 작성하기 쉽게 해주는것은
물론, 수많은 다른 운영체제로의 이식하는 작업을 손쉽게 해줍니다.
소프트웨어 품질의 증가.
ACE 컴포넌트는 통신 소프트웨어의 핵심 품질요소 즉, 융통성, 확장성, 재사용성, 모듈화 등을 향상시키기 위해 POSA2에서 제안하는
많은 핵심 패턴을 사용해서 디자인되었습니다.
효율과 예측력의 증가.
ACE는 넓은 분야의 어플리케이션과 QoS 요구를 지원하기 위해 조심스레 디자인되었습니다. 이런 요구에는 딜레이에 민감한 어플리케이션을
위한 낮은 지연, 대역폭에 민감한 어플리케이션을 위한 높은 성능, 실시간 어플리케이션을 위한 예측 능력 등이 있습니다.
ACE는 The ACE ORB(TAO)에서 사용된 재사용가능한 컴포넌트와 패턴들을 제공한다.
TAO는 실시간 시스템과 고성능에 최적화된 CORBA의 오픈소스 표준을 따르는 구현물입니다. 따라서 협력적인 미들웨어 솔루션을 제공할
목적으로 ACE와 TAO는 서로 궁합이 잘 맞도록 구현되어있습니다.
위와 같은 ACE를 기반으로 libSOPT는 서버 어플리케이션을 구축하기 위한 4개의 핵심 컴포넌트와, 이들을 통합하는 Server
컴포넌트(http://lyb1495.tistory.com/entry/libSOPTServer)로 구성되어
있습니다. 컴포넌트의 구성은 다음과 같습니다.
- 클라이언트의 연결 요청을 처리하는 Acceptor.
http://lyb1495.tistory.com/entry/libSOPTAcceptor - 클라이언트와 서버 사이의 통신을 위한 비동기(Asynchronous) 오퍼레이션 핸들러인 Stream_Handler.
http://lyb1495.tistory.com/entry/libSOPTStreamHandler - 클라이언트의 요청(Request)를 캡슐화하기 위한 Request_Handler.
http://lyb1495.tistory.com/entry/libSOPTRequestHandler - 클라이언트 요청(Request)를 Dispatch하기 위한 Executor.
http://lyb1495.tistory.com/entry/libSOPTExecutor
프레임워크는 의도적으로 미완성된 소프트웨어를 말합니다. libSOPT 역시 마찬가지 입니다. 범용적인 사용 목적을 위해 디자인된
libSOPT는 각각의 목적에 따라 커스터마이징이 가능하도록 설계된 소프트웨어로서, 커스터마이징하기 위한 인터페이스를 노출하고 이를 통해 목적에
부합하는 어플리케이션을 개발할 수 있도록 합니다. 따라서 본 프로젝트에서는 위의 4가지 핵심 컴포넌트를 먼저 개발하고 이것을 이용하면 얼마나
효율적이고, 적은 양의 코딩으로 고성능 서버 어플리케이션을 개발할수 있는지를 제시할 것입니다.
'외부활동 > WoC프로젝트' 카테고리의 다른 글
| libSOPT 소개 (0) | 2010/03/24 |
|---|


