본문 바로가기
C++ 200제/코딩 IT 정보

아크 GIS Server 용어 4개 (재순환, 풀링, 오브젝트, 격리화)

by vicddory 2018. 8. 6.

아크 GIS Server 용어 4개 (재순환, 풀링, 오브젝트, 격리화)


출처 : ESRI 기술 문서 (ESRI Technical Paper), 2004년 9월


Recycling (재순환)

오브젝트 풀에 있는 오브젝트가 새로운 오브젝트 인스턴스로 교체되는 프로세스. 재순환함으로써 사용되지 않는 오브젝트는 소멸되어 새로운 서버 오브젝트로 교체되고 오래된 서버 오브젝트에게 점유된 자원을 재생하게 됨.


풀링된 오브젝트가 사용 중이며 응용프로그램이 기록을 올바로 수행하지 않을 때에는 재순환은 좀 더 빈번하게 이루어져야 함. ArcGIS Server는 엄격한 의미에서의 오브젝트 인스턴스 공유를 시행하지는 않기에, 정확하게 공유하지 않는 응용프로그램을 생성하는 것은 꽤 수월함.

2222222

이러한 응용프로그램은 자신이 접촉하는 오브젝트를 손상하고 다른 사용자/응용프로그램이 실패하게 하거나 예측 불가 및 부정확한 결과를 초래하게 함. 재순환은 바로 새로운 오브젝트 인스턴스를 생성하는 방법임.


풀링되지 않는 환경에서 재순환은 별 의미가 없음 – 오브젝트 는 이들이 매번 사용될 때마다 이미 재순환되어 있음 


Object Pooling(오브젝트 풀링)

인스턴스 집합을 미리 생성하는 프로세스이며 이로써 인스턴스가 다수의 응용프로그램 세션 간에 공유되는 여건을 마련. 오브젝트를 풀링함으로써 잠재적 비용 소요가 많은 자원 초기화 및 확보 과정을 실제로 오브젝트가 수행하는 과정으로부터 분리하게 됨.


ArcGIS 서버 용어 4개


풀링된 오브젝트는 상태-비유지(stateless) 방식으로 사용됨. 풀링되지 않은 오브젝트는 각 응용 프로그램 세션 단위로 생성되고, 해제되었을 때 소멸함.


이 과정에서 간접비(오버헤드)를 유발하나 응용프로그램의 요건에 의해 필수적일 수 있음. 오브젝트를 변경(맵 레이어를 추가 또는 변경)시키는 응용프로그램은 반드시 풀링되지 않아야 함.


오브젝트 풀링은 읽 기전용 오브젝트에만 사용될 수 있음. 편집 응용프로그램은 풀링되지 않은 오브젝트를 필요로 함. 풀링되지 않은 오브젝트에서 비롯된 간접비(오버헤드)는 해당 오브젝트를 초 기화하는데 소요되는 자원(파일, 데이터베이스 접속, 메모리 등)의 양에 비례하게 됨 


Server Object (서버 오브젝트)

간결한 짜임의 ArcObjects 컴포넌트로써 맵 또는 로케이터와 같은 GIS 자원을 관리하고 처리를 수행.


서버 오브젝트는 특정한 수행을 위한 프로그래밍 모델을 간결화하고, 실질적인 실행을 담당하는 미세한 짜임의(fine-grained) ArcObjects 컴포넌트를 은닉하려는 높은 수준의 오브젝트임.


서버 오브젝트에는 SOAP 인터페이스가 있어서 서버 오브젝트를 인터넷 상에서 사용이 가능한 웹 서비스 형태로 드러내 놓을 수 있음이 가능함.


아크 GIS Server 용어 4개


ArcObjects 컴포넌트는 미세한 짜임의 오브젝트임. 이들은 응용프로그램에서도 접근할 수 있지만 GIS 서버 수준 또는 웹 서버 수준에서는 좀 더 복잡한 응용프로그램을 요구함.


서버 오 브젝트는 사용자에 의해서 작성 또는 제3자에 의해 제공되거나 ESRI로부터 공급됨. ArcGIS Server 9.0 버전에서는 2개 오브젝트 유형이 제공됨:


MapServer 및 GeocodeServer. 커스텀 서버 오브젝트를 사용할 경우, 성능에 대한 판단이 상당히 예측하기 어려워지는데 이는 응용프로그램의 복잡도에 따라 다양해지는 플랫폼의 유연성에서 기인함 


Server Object Isolation (서버 오브젝트 격리화)

서버 오브젝트가 다른 서버 오브젝트와 프로세스를 공유할 것인지를 정의. 높은 수준의 격리화를 갖는 서버 오브젝트는 전용 프로세스를 실행하는 반면, 낮은 수준의 격리화를 갖는 서버 오브젝트는 같은 유형의 서버 오브젝트와 프로세스를 공유함.


“프로세스”는 윈도우 운체제 용어이며 작업관리자에서 보는 바와 같이 그 의미는 단일 프로그램/작업을 뜻함. SOC는 기본적으로 하나 또는 그 이상의 여러 서버 오브젝트가 실행되는 단일 프로세스임. 높은 격리화 상태에서 SOC는 단지 하나의 서버 오브젝트만을 실행.


이는 쓰레드 안정적이지 않은 프로그램에서만 사용되어야 함. 높은 격리화 수준의 서버 오브젝 트를 실행하는 데에는 많은 서버 자원이 소요됨


아크 GIS Server 용어 4개 (재순환, 풀링, 오브젝트, 격리화)

댓글