[비디오 한글 요약] BDE to FireDAC

BDE에서 파이어닥으로 마이그레이션하는 영상의 내용들을 자막 형태로 번역 자료입니다. 영상과 함께 보시면서 참고하시기 바랍니다.

(0:00)
BDE 기반으로 파라독스(Paradox)의 테이블을 사용하는 주문 등록 시스템인 MastApp을 마이그레이션해보자.
Orders(주문), Customers(고객), Venders(공급자), Parts(부품) 테이블이 있다.
지난 이십년 동안 BDE 사용은 권장되지 않았다. 이제는 윈도우10 64비트를 지원하는 더 성능좋고 현대의 보안 표준을 준수하는 데이터 액세스 계층으로 마이그레이션이 절실하다.

(0:55)
Data Explorer 창에서는 데이터 액세스 계층에 사용될 수 있는 FireDAC과 dbExpress이 있다. BDE는 이미 오래 전에 중단되었으며, 윈도우10 등 이후의 새 운영체제, 유니코드 등에 대해 전혀 보장하지 않으며, 새 프로젝트에서 사용될 수 없도록 이 창에서도 제외된지 오래되었다. 

(1:30)
현재 FireDAC은 RAD스튜디오/델파이/C++빌더에 들어있으며 데이터 액세스를 일원화할 수 있는 가장 강력한 컴포넌트이다. 또한 델파이에는 reFind라는 유틸리티가 들어있어서, 델파이 폼과 코드에 있는 BDE를 FireDAC으로 마이그레이션해주기 때문에 특별한 수고를 들이지 않고 데이터 액세스 계층에서 BDE를 제거할 수 있다. 

(1:55)
지금부터 델파이2007과 BDE를 델파이 10.4과 FireDAC으로 마이그레이션 해보자. DocWiki에는 ‘Migrating BDE Application to BDE’ 도움말이 있다. 여기에서 BDE Application Migration 링크를 클릭하면 마이그레이션을 각 단계별로 안내한다. 

(2:02)
reFind 도구는 RAD스튜디오의 bin 폴더에 들어있다. reFind는 콘솔 애플리케이션이며, 정규식을 기반으로 임의의 텍스트 파일에 있는 텍스트 패턴을 읽어서 변환한다. 예를 들어, Uses 절에 있는 참조 유닛들, 클래스 선언에 있는 컴포넌트의 타입들을 변환한다. reFind는 지정된 텍스트 파일에 적힌 변환 규칙을 반영한다. 따라서 제공된 FireDAC_Migrate_BDE.txt 파일(정규식 기반의 변환 규칙이 정의된 텍스트 파일)을 지정하여 reFind를 실행하면, 해당되는 모든 pas파일과 dfm 파일이 자동으로 변환된다.

(3:27)
FireDAC_Migrate_BDE.txt 파일은 델파이가 설치될 때 함께 제공된다. 이 파일을 열어서 정규식 표현을 살펴보면, BDE 구문을 대응하는 FireDAC으로 어떻게 변환하도록 지정되어있는 지를 알 수 있다. 

(3:49)
예를 들어, (BDE의) TDatabase는 (FireDAC의) TFDConnection으로,  (BDE의) TTable은 (FireDAC의) TFDTable로, (BDE의) TQuery는 (FireDAC의) TFDQuery로 변환되는 등 모든 DBE 요소들이 해당 FireDAC 요소로 변환된다.

(4:24)
1단계(원본 코드 보존1): 마이그레이션을 시작해보자. 먼저 BDE버전인 원본 소스 코드를 안전하게 보관하기 위해 원본 소스 프로젝트의 최상위 폴더인 MastApp로 가서, 같은 이름 앞에 FireDAC을 붙인  FireDAC_MastApp 라는  빈 폴더를 하나 만든다. FireDAC 버전은 여기에 넣어두기로 한다. 

(4:44)
2단계(원본 코드 보존2): MastApp 폴더에 있는 파일을 모두 복사하여 새로 만든 FireDAC_MastApp 폴더에 추가한다.

(5:05)
3단계(코드 변환): 명령창에서 FireDAC_MastApp로 가서, reFind.exe 유틸리티를 실행하여 해당 폴더에 있는 모든 .pas 파일과, 모든 .dfm 파일을 FireDAC_Migrate_BDE.txt 파일의 규칙에 따라 변환하도록 하면, 해당되는 파일이 모두 변환된다. 

(5:54)
4단계(변환된 프로젝트 열기): 델파이 10.4를 실행하고, 파일 탐색기에서 변환된 파일이 모여있는 FireDAC_MastApp 폴더에 있는 mastApp.dproj 프로젝트 파일을 연다.

(6:07)
5단계(변환된 코드 확인): 프로젝트가 열리면 DataMod.pas 즉 데이터 모듈 파일을 열어서, 델파이 2007에서 BDE를 사용했던 것들이 델파이 10.4에서 FireDAC을 사용하는 것으로 변환된 것을 확인한다. 

(06:22) 
예를 들어 (BDE의) TDatabase 컴포넌트는 (FireDAC의) TFDConnection 컴포넌트로 바뀌었다.

(06:28) 
예를 들어 (BDE의) TTable 컴포넌트는 (FireDAC의) TFDTable 컴포넌트로 바뀌었다.

(06:37) 
예를 들어 (BDE의) TQuery 컴포넌트는 (FireDAC의) TFDQuery 컴포넌트로 바뀌었다.
reFind 유틸리티를 사용하면 이와 같이 한번에 쉽게 변환된다. 

(06:57)
6단계(변환된 코드 보존): 나는 지금 Git 버전 콘트롤을 사용하고 있으므로) 소스 저장소에 커밋하기고 한다. MastApp.ext를 오른쪽 마우스 클릭을 하고 Git >  Commit >  From Repository Root를 선택한다. 그러면 변경된 파일이 모두 표시된다. Comment란에 Migrate BDE to FireDAC 이라고 적고 Commit 버튼을 클릭한다. 이제 모든 코드 변환이 완료되었고 소스 저장소에도 반영되었다.

(역자 주)

이제 데이터 액세스 컴포넌트가 BDE에서 FireDAC으로 교체되었다. 데이터베이스로 기존의 파라독스를 그대로 유지하려면, 델파이 10.4에서 변환된 프로젝트를 열고 빌드하여 새로 배포할 애플리케이션을 생성하면 된다.

만약, 파라독스를 버리고 인터베이스 등 SQL 데이터베이스로 교체하려면, 아래의 비디오를 참고하여 데이터베이스 교체하고 FireDAC이 파라독스가 아니라 새로 만들어진 데이터베이스에 연결하도록 한 후 빌드한다: 파라독스에서 인터베이스로 교체하는 방법 – www.devgear.co.kr/archives/4839

이 비디오가 포함된 BDE 마이그레이션 아티클 ‘BDE/파라독스를 인터베이스(InterBase)로 마이그레이션 하기’ 보기

C++ c++빌더 DelphiCon ios rad서버 RAD스튜디오 UI UIUX UX uxsummit vcl 개발 개발사례 기술레터 기술백서 데브옵스 데이터 데이터베이스 델파이 마이그레이션 머신러닝 모바일 새버전 샘플 안드로이드 윈도우 인공지능 인터베이스 코드 클라우드 파이썬 파이어몽키 현대화