FlowForce 서버를 사용하여 데이터 변환 작업을 자동화하세요

Altova는 FlowForce Server를 설계하여, 전용 고속 서버에서 수행되는 데이터 변환 작업을 위한 포괄적인 자동화, 관리 및 제어 기능을 제공합니다. FlowForce Server 베타 버전 3은 현재 MapForce Enterprise 및 Professional 에디션을 사용하는 사용자에게 베타 테스트 기간 동안 무료로 제공됩니다. FlowForce Server는 데이터 매핑 자동화 기능을 제공하며, 사용자가 웹 브라우저를 통해 원격으로 모니터링할 수 있는 상세한 활동 기록을 유지합니다. 아래 스크린샷은 단일 데이터 매핑에서 여러 입력 파일을 처리하기라는 블로그 게시글에서 설명한 MapForce 데이터 매핑 프로세스인 "CameraLogToGPX"를 실행 중인 FlowForce 서버의 로그를 보여줍니다. 이 매핑 방식은 와일드카드를 사용하여 여러 개의 입력 파일을 동시에 처리하도록 지정되었습니다.

FlowForce 서버에서는 이와 같은 작업을 설정하고 실행하며, 결과를 검토하는 데 몇 분밖에 걸리지 않습니다.

와일드카드 또는 핫 폴더? 와일드카드와 핫 폴더는 데이터 변환 워크플로우의 복잡성을 증가시키며, 이를 성공적으로 사용하려면 신중한 계획이 필요합니다. 잠시 시간을 내어 우리가 구현하고자 하는 시나리오를 좀 더 자세히 살펴보겠습니다. 우리는 자연 및 하이킹 가이드를 발행하는 회사의 IT 부서라고 가정해 보겠습니다. 우리는 사진작가들을 고용하며, 그들은 트레킹을 하면서 디지털 카메라의 GPS 추적 기능을 사용하여 경로를 기록합니다. 우리는 카메라의 GPS 로그 파일을 매핑 및 기타 처리를 위해 XML 기반의 .gpx 형식으로 변환하고자 합니다. 우리는 네트워크에 폴더를 생성하여 사진작가들이 GPS 로그 파일을 해당 폴더에 저장할 수 있도록 할 것입니다. 이 폴더는 FlowForce Server가 CameraLogToGPX 매핑의 입력으로 사용할 새로운 파일을 감시하는 "핫 폴더"가 될 것입니다. 우리는 각 입력 파일을 한 번만 처리하면 됩니다. 따라서 데이터 변환이 완료되면 입력 파일을 핫 폴더에서 제거할 수 있습니다. 또한 출력 파일을 별도의 폴더에 저장하고 싶습니다. 이는 다음과 같은 FlowForce Server 작업 단계를 제안합니다

  • "입력 파일이 새로 도착했는지 확인하려면, 지정된 폴더를 확인해 보세요."
  • 입력 파일에 대한 데이터 매핑을 수행하고, 결과 파일을 별도의 폴더에 저장하십시오
  • 입력 파일을 영구 보관할 수 있는 위치로 이동하세요

아래 그림은 워크플로우에 사용할 수 있는 폴더 구조를 보여줍니다. 이 구조를 통해 파일을 "핫 폴더"에 바로 넣어서 처리할 수 있습니다

"핫 폴더는 C:CameraGPShotFolder이며, 생성된 .gpx 파일은 C:CameraGPSoutputFiles에 저장됩니다. 데이터 매핑이 완료되면 입력 파일은 C:CameraGPScompletedInput 폴더로 이동됩니다.

** 서버에 매핑 배포하기** MapForce Beta는 FlowForce Server의 구성 요소로, MapForce와 동일하게 작동하며, 매핑 파일을 FlowForce Server에 배포하는 기능을 추가합니다. 기존 데이터 매핑은 배포를 위해 특별한 준비가 거의 또는 전혀 필요하지 않습니다. 우리가 고려해야 할 유일한 것은 입력 및 출력 파일의 파일 이름입니다. FlowForce Server에 처리할 새로운 파일이 핫 폴더에 도착하면, 입력 파일 이름을 작업 매개변수로 제공하도록 지시할 것입니다. 기존 매핑에서는 입력 구성 요소에 와일드카드 파일 이름을 사용했는데, 이는 더 이상 필요하지 않습니다. 또한 FlowForce가 출력 파일의 위치를 지정하도록 설정하고 싶습니다. MapForce Beta에서 매핑을 열고, 입력 구성 요소에서 파일 이름을 제거한 다음, 출력 파일에 폴더 경로 제거 함수를 추가하여 FlowForce Server가 목적지를 설정할 수 있도록 합니다. 아래 스크린샷은 매핑에서 새 파일 이름 정의를 보여줍니다.

맵포스 베타 대화 상자에서 매핑을 배포할 때, 매핑 작업을 정의하는 FlowForce 서버 작업 정의 창을 웹 브라우저에서 즉시 열어 작업 설정을 완료할 수 있습니다.

FlowForce 서버에서 작업 정의하기 아래 스크린샷은 FlowForce 서버 작업 속성 창에 정의된 전체 작업 단계를 보여줍니다

작업 트리거는 창 하단에 정의됩니다. FlowForce 서버는 30초마다 지정된 폴더(핫 폴더)를 확인합니다. 내용이 변경되면 FlowForce 서버는 작업 단계를 실행합니다. 각 실행 단계는 배포된 MapForce 매핑, 시스템 단계 또는 다른 FlowForce 서버 작업일 수 있습니다. 핫 폴더에 새로 들어오는 각 파일의 이름은 이라는 매개변수로 사용되며, 매핑 단계에서는 입력 파일 이름으로, 이동 단계에서는 이동할 파일 이름으로 사용됩니다. 매핑 단계의 "작업 디렉토리" 매개변수는 출력 파일이 저장될 위치를 정의합니다. FlowForce 서버는 또한 작업의 자동 실행 및 중지 시간을 설정하고, 사용자 권한 및 역할을 관리하며, 작업 실행 간의 최소 시간과 작업의 최대 동시 실행 인스턴스를 정의하는 큐 설정을 제공합니다. 저희 시나리오에서는 사진작가들의 메모리 카드에서 복사된 여러 파일이 묶음으로 들어올 가능성이 높습니다. 여러 작업을 동시에 실행하면 처리량을 크게 향상시킬 수 있습니다. 일반적으로 FlowForce 서버를 실행하는 시스템의 코어 또는 CPU 수와 일치하는 정도로 동시 실행 작업을 설정하는 것이 좋습니다.

작업 로그 살펴보기

FlowForce Server가 작업을 실행할 때마다, 이 게시물 상단에 있는 그림에 표시된 로그 뷰에 여섯 줄이 추가됩니다. 첫 번째 줄과 마지막 줄은 작업의 시작과 완료를 기록하며, 각 실행 단계는 자체적인 시작 및 완료 메시지를 생성합니다. "completed with status: 0"이라는 문구는 해당 단계가 오류 없이 성공적으로 완료되었음을 의미합니다.

각 실행 단계에 대한 자세한 보고서를 보려면 "더보기" 링크를 클릭할 수 있습니다. 아래 스크린샷은 MapForce 매핑 실행 단계에 대한 메시지를 보여줍니다

핫 폴더에 파일이 하나씩 들어갈 때마다, FlowForce Server는 개별 작업 인스턴스를 생성합니다. 여러 파일을 한 번에 넣어도 마찬가지입니다. 이를 통해 오류가 발생한 특정 입력 파일을 쉽게 추적할 수 있습니다. 예를 들어, 핫 폴더에 네 개의 파일을 넣었을 때, FlowForce Server는 네 개의 작업을 실행했으며, 출력 폴더의 내용은 다음과 같았습니다