원본 문서 : http://www.twain.org/docs/TWAIN_2_1_Spec.pdf
Chapter 2. Technical Overview - TWAIN User Interface

응용 프로그램이 TWAIN을 이용하여 데이터를 취득할 때, 응용 프로그램을 사용하는 사람을 기준으로 바라보는 취득하기 위한 절차는 다음과 같은 세가지 측면으로 볼 수 있습니다.

Figure 2-2 Data Acquisition Process

The Application

사용자에게는 원하는 데이터를 취득하기 위해, 적절한 장치를 선택할 수 있어야 합니다. 또한 데이터 전송 준비가 완료되었을 때 그 에 맞는 신호를 받기 원합니다. 이러한 요구 사항들을 충족하기 위해 TWAIN에서는 File 메뉴와 같은 곳에 반드시 두가지 옵션을 넣도록 권고 하고 있습니다.

  • Select Source - Source 선택 : 장치를 선택하기 위한 기능
  • Acquire - 데이터 획득 : 데이터 전송 처리를 시작.

The Source Manager

사용자가 Select Source의 옵션을 선택 할 때, 응용 프로그램에서는 Source Manager에게 Select Source 대화상자를 띄우도록 요청하게 됩니다. 여기서는 현재 선택가능한 모든 장비들을 나열하고 사용자가 원하는 장비를 선택 표시될 수 있도록 합니다. 필요하면, 응용 프로그램에서 이 사용자 인터페이스를 자신의 버전에 맞게 별도 제작도 가능합니다.

The Source

모든 TWAIN 호환 Source에서는 독자적인 장비 별로 사용자 인터페이스를 제공합니다. 응용 프로그램 사용자는 Acquire 옵션을 선택할 때, Source에서 제공되는 인터페이스를 보여주게 됩니다. 물론 필요하면, 응용 프로그램에서 자신의 버전에 맞게 별도 제작도 가능합니다.

728x90

원본 문서 : http://www.twain.org/docs/TWAIN_2_1_Spec.pdf
Chapter 2. Technical Overview - TWAIN Architecture

TWAIN에서는 전체적으로 세가지 소프트웨어 구성요소들 통해 만들어진 데이터를 전송합니다. 응용프로그램, Source Manager, Source 이렇게 세가지가 그 중요 구성요소입니다.

이 구성요소들은 TWAIN의 아키텍처를 사용하여 서로 커뮤니케이션을 수행합니다. TWAIN 아키텍처는 ekdmarhk rkxdl 총 4가지 레이어로 되어 있습니다.

  • Application
  • Protocol
  • Acquisition
  • Device

TWAIN 소프트웨어 구성요소들이 각 계층에 어떻게 배치되는지를 아래의 그림처럼 나타낼 수 있습니다. 각 레이어는 각 섹션별로 설명을 할 예정입니다.

Application

사용자의 소프트웨어 응용프로그램 자체가 실행되는 부분이 바로 이 계층입니다.

TWAIN 에서는 사용자 인터페이스에 대한 가이드라인을 제공합니다. TWAIN기능들을 사용자들이 어떻게 접근해야 하는지 특정 Source를 어떻게 선택하는지와 같은 방법들을 응용 프로그램 개발자들에게 제시하게 됩니다.

TWAIN에서는 응용 프로그램을 어떻게 구현하는지는 전혀 고려되어있지 않습니다. 단지 응용 프로그램에서 사용하게 될 각종 응용 프로그램 내부 간의 통신 스키마에 대해 쉽게 접근 할 수 있도록 도와주는 것입니다.

Protocol.

Protocol 이란 일종의 "언어"로써 TWAIN에서 사용되는 각종 문법 같은 것으로 생각하면 됩니다. 데이터 송수신에 필요한 정확한 명령들과 통신 규약들을 정해 놓은 것입니다.

Protocol 계층에는 다음과 같은 내용이 포함되어 있습니다.

  • 응용 프로그램과 TWAIN 간에 인터페이스를 제공하는 응용 프로그램 소프트웨어의 일부분.
  • TWAIN에서 제공하는 TWAIN Source Manager
  • Source Manager에서 명령을 받고, 데이터와 결과 코드를 돌려주는 Source 장비에 포함된 소프트웨어

Protocol 계층에 대한 더 자세한 내용들은 "Communication Between the Element of TWAIN" ( Page 2-5 ) 를 참조하세요.

Acquisition

Acquisition(취득) 장치는 물리적(스캐너 혹은 디지털 카메라 같은)일 수도 있고, 논리적(이미지 데이터베이스 같은)일 수도 있습니다. 이 계층에서 가장 중요한 위치에서 Source 라고 불리는 취득 동작을 제어하는 소프트웨어 요소들로 되어 있습니다.

Source에서는 응용 프로그램에게 데이터를 전송합니다. Source와 응용 프로그램 상에서 합의를 본 형식과 전송 방법을 사용하여 전송하게 됩니다.

Source는 항상 Source 장치들을 제어하기 위한 내장된 사용자 인터페이스들을 제공합니다. 물론 필요한 경우에 응용 프로그램에서 이들 기능들을 추가적으로 덧붙여 자신만의 사용자 인터페이스를 제공할 수 있습니다.

Device

이 부분은 전통적인 저 수준의 장지 드라이버 레벨을 의미합니다. 여기서는 장치 별로 제공되는 H/W 레벨의 명령과 지시들을 전달하는 것으로 각 제조사 별로 제공된 드라이버에 특화되어 있습니다. 응용 프로그램에서는 단지 TWAIN을 사용을 하면 되고 , 이 장치 드라이버를 별도로 탑재하지 않아도 됩니다. 이 부분은 모두 Source에서 담당하게 됩니다.

TWAIN에서는 Device 계층에 대한 모든 사항들이 고려되어 있지는 않습니다. 단지 Source에서 응용 프로그램이 직접 Device 계층을 접근하지 않도록 숨겨놓았습니다. Source는 TWAIN 동작과 Source의 사용자 인터페이스 사이에서 조율을 하게 됩니다. 이를 통해 사용자가 직접 장비에 접근하지 않고도 원하는 기능을 수행할 수 있도록 내부적으로 적절한 명령들을 내리게 되는 것입니다.

NOTE : Protocol 계층은 응용 프로그램 과 Source들 사이에서 정확한 통신을 할 수 있도록 사려깊으며 엄격하게 정의되어 있습니다. 이 문서안의 정보들은 Protocol 과 Acquisition 계층에 대해 주안점을 두고 작성되었습니다.

728x90

+ Recent posts

728x90