C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[10386] NetServer 엔터프라이즈 미들웨어 for delphi
엔서버 [enserver] 2163 읽음    2005-02-15 09:43
NetServer 엔터프라이즈 미들웨어 for delphi
http://enserver.co.kr
------------------------------------------------

NetServer가 엔터프라이즈 환경에서 최적화가 되었습니다.
내부적으로 1,000 명에 근접하는 클라이언트로 강력한 스트레스 테스트등 다양한 테스트를 거친 결과 안정적인 서버 성능을 보여 주었습니다.
극도의 스트레스 환경에서의 테스트이므로 현업에서는 서버의 사양과 OS만 허용하면 이보다 몇배의 클라이언트도 안정적으로 서비스가 가능합니다.

1. Scalability
많은 거래처들이 기존의 CS프로그램이나 로칼 프로그램으로 제작된 것을 멀티유저를 지원하는 미들웨어로 변경하고자 합니다. 그 과정에서 가장 힘든 부분이 기존의 코드를 어떻게 유지할 수 있느냐 하는 것입니다.
시중의 일부 미들웨어들은 Stateless방식을 사용함으로서 Long transaction에 문제가 있는 경우가 많습니다. 하지만 넷서버는 기존 CS와 동일한 Long transaction을 지원하고 최소한의 코드변경만으로도  기존 어플리케이션을 미들웨어용으로 변경할 수 있습니다. 또한 원하는 경우 Stateless 방식으로 제작하여 미들웨어의 부하를 줄일 수도 있습니다.

2. Easy Application Server Creation
시중의 미들웨어컴포넌트들은 대부분 어플리케이션서버의 제작에 엄청난 노력을 들여야 합니다. 가장 기본적으로 작동하는 어플리케이션 서버를 제작하는 것도 상당한 학습곡선이 필요하고 추가적으로 메시지기능이나 다른 기능을 넣으려면 실제로 기존에 만들어진 어플서버를 수정하지 않고 독립적으로 제작하려면 상당한 시간이 필요
합니다.
넷서버는 어플리케이션서버의 제작을 위해서 폼에 컴포넌트3개(DB기능이 필요없는 경우 2개)를 놓고 단 한줄의 코드로 어플리케이션서버의 제작이 가능합니다.
한 줄의 코드로 제작된 어플리케이션 서버는 DB관련 모든기능, 클라이언트대 클라이언트간의 메세징이 자동으로 지원됩니다. 물론 클라이언트 대 서버의 메시지는 서버에서 클라이언트로부터 받은 메시지를 처리해 주는 작업이 필요합니다.

3. Powerful messaging
많은 미들웨어는 클라이언트에서 서버에 메시지를 보내고 답변을 받는 부분은 지원하는 경우가 많지만 그외에 서버에서 클라이언트로, 클라이언트에서 다른 클라이언트로 메시지를 전송하는 기능은 부족합니다.
넷서버는 클라이언트의 요청여부에 불문하고 서버나 다른 클라이언트로부터 전송되는 메시지를 수신가능합니다.  서버에 시간이 오래 걸리는 작업을 요청하고 답변을 기다리면서 블러킹을 하는 도중에도 이들 메시지는 수신됩니다.
그리고 서버에서 클라이언트들에게 브로드캐스팅하는 메세지전송, 클라이언트에서 다른 클라이언트들에게 브로드캐스팅하는 메세지전송도 모두 구현이 되어 있으므로 한줄의 코드로서 이들 기능을 추가할 수 있습니다.
넷서버의 강력한 메시지전송기능은 미들웨어 어플리케이션의 제작뿐만 아니라  채팅, 스트리밍기능등 다양한 부문에서 사용이 가능합니다.(데이타베이스기능을 꺼 버리면 데이터베이스기능을 사용하지 않고 사용이 가능합니다.)
메세지전송을 위해서 별도의 포트를 사용하는 다른 미들웨어들과 달리 단 하나의 포트를 사용합니다.

4. Database Independent
넷서버의 어플리케이션서버는 데이터베이스에 독립적입니다. 실제로 사용하는 SQL만 동일하면 어플리케이션서버는 오라클,MYSQL,MS-SQL, ADO등의 데이터베이스 엔진에 종속되지 않습니다. 실제로 단 한줄의 코드 변경도 없이 어플리케이션 서버의 데이터베이스엔진을 BDE에서 ADO나 ODAC, DBISAM등의 다른 엔진으로 변경도 가능합니다.

5. Database Pooling
넷서버는 자바나 다른 미들웨어에서 지원하지 않는 고유의 데이터베이스풀링속성을 제공합니다.  트랜잭션이 자동 롤백되는 시간, 풀로부터 데이터베이스할당을 기다리는 타임아웃, 풀에서 가져온 데이터베이스를 최대한 보유할 수 있는 시간등 다양한 속성을 지원함으로서 보다  세밀한 데이터베이스풀기능을 제공합니다.

6. Socket Independent
넷서버는 Delphi Socket, Indy, ICS, DxSock, Synapse소켓을 공식적으로 지원합니다. 하지만 넷서버의 모든 기능은 소켓 독립적입니다.  소켓은 하나의 넷서버에 독립 된 부품이며 넷서버 내부의 어떤 기능도 특정소켓에 종속되지 않습니다. 관련된 소켓엔진을 변경하는 것으로 소켓이 변경되며 내부적인 기능상의 변경은 전혀 필요없습니다.

자체 스레드를 사용하지 않는 Delphi Socket이나 ICS를 위해서 넷서버내에서 스레드풀링을 포함한 각종 스레딩기능을 제공하며 자체스레드를 사용하는 소켓들도 패킷수신을 위한 스레드를 작업스레드로 사용할 수도 있고 별도로 넷서버자체적으로 제공하는 스레드기능을 사용할 수도 있습니다. 스레드의 선택은 넷서버의 property 하나의 변경으로 가능합니다.

7. Local Application
넷서버는 소켓을 사용하지 않고 직접 넷서버의 컴포넌트를 사용하여 로칼 어플리케이션을 제작하는 기능을 제공합니다.
넷서버는 CS프로그램이나 파라독스같은 로칼데이타베이스를 제작하는 초기단계에서부터 넷서버를 사용하는 것을 적극적으로 권장합니다.  이렇게 제작된 프로그램은 이후 미들웨어 기능만 분리해 내면 별도의 어플리케이션서버가 즉시 제작되며  쉽게 미들웨어의 클라이언트 프로그램으로 변경이 가능합니다.

8. Supporting Components
넷서버는 네트웍상에서 고유의 ID를 생성해 내는 UID컴포넌트, 특정 이름의 락을 걸어 클라이언트 전체가 락을 체크 가능한  Inter-Process 락기능등 다양한 지원컴포넌트를 제공합니다.

+ -

관련 글 리스트
10386 NetServer 엔터프라이즈 미들웨어 for delphi 엔서버 2163 2005/02/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.