10.4 출시 후 우리는, 볼랜드 시절의 델파이와 C++빌더로 만들어진 애플리케이션을 새로 현대화하는 업그레이드 마이그레이션을 보다 쉽게 할 수 있는 길을 더 많이 제공해오고 있다. (델파이 최신 버전이 최근의 기술 트렌드를 어떻게 반영하고 있는지에 대한 한글 기술 백서는 www.devgear.co.kr/archives/4588 참조)

새 버전으로 업그레이드 현대화해야 할 이유가 많지만, 가끔은 실현 가능성 면에서 다소 떨어진다는 느낌이 들 때가 있다. 예를 들어 신경쓸 일도 없이 오랫동안 잘 작동해 온 데이터 액세스 계층과 플랫폼에서 데이터를 마이그레이션하려면 두려움이 앞설 수도 있다. 

볼랜드 시절의 델파이와 C++빌더로 만들어진 애플리케이션에서는 데이터 액세스 계층으로 BDE가 흔하게 사용되었다. 하지만, 시간이 가면서 BDE는 역사속으로 사라지고 지금은 우리 모두가 좋아했던 이 32비트 BDE를 능가하는 새로운 기술들이 그 자리를 차지하고 있다.

BDE를 제거하는 첫 단계는 BDE를 대체한 데이터 액세스 컴포넌트를 결정하는 것이다. UniDAC, IBeXpress 등 몇가지 선택지가 있다. 이 글에서는 현재 RAD스튜디오, 델파이, C++빌더의 엔터프라이즈 에디션과 아키텍트 에디션에 들어 있는 FireDAC을 사용한다. (FireDAC에 대한 더 자세한 내용은 FireDAC Docwiki 참조)

BDE에서 FireDAC으로 마이그레이션하기

데이터 액세스 계층을 교체하는 것은 해를 거듭하면서 점점 더 쉬워지고 있다. 지금은 BDE용과 DBExpress용 reFind (델파이에서만 작동), C++빌더와 델파이 모두에서 작동하는 Delphi Parser의 DBE to FireDAC 마이그레이션 도구 등 여러 도구들이 있다. 아래 비디오(총 7분 30초)는 reFind 도구를 사용하여 폼에서 사용되는 BDE 컴포넌트를 FireDAC으로 마이그레이션하는 방법을 보여준다. 

[비디오 1] BDE to FireDAC, 이 비디오에 대한 한글 요약 번역은 여기를 참조.

BDE 데이터 소스를 인터베이스(InterBase)로 지정하기

컴포넌트 마이그레이션을 마치고, 기존의 데이터베이스를 그대로 사용하는 경우도 있다. FireDAC은 파라독스(Paradox) 등 기타 데스트톱 데이터베이스를 지원할 때는 ODBC를 사용하지만, 오라클, DB2, MySQL, MSSQL, InterBase/FireBird 등등 널리 사용되는 많은 데이터베이스들의 경우에는 전용 드라이버를 사용한다.

인터베이스 데이터베이스에는 데이터베이스 스키마를 그려서 생성하거나 리버스 엔지니어링을 할 수 있는 데이터베이스 설계 도구가 들어있어서 데이터 임포트/익스포트 기능을 사용할 수 있다. 하지만, 해당 절차를 더 쉽게 할 수 있는 도구들도 있다. 프리웨어인 InterBase Datapump 역시 그 중 하나이다. 나는 BDE 데이터 소스를 인터베이스 데이터베이스로 마이그레이션할 때 이 도구를 사용한다.

[비디오 2] 인터베이스 DataPump 사용하기, 이 비디오에 대한 한글 요약 번역은 여기를 참조.

마이그레이션을 통해 오래된 기술을 제거하는 것에 대한 자료는 많다. Embarcadero Upgrade and Migration Center 에서 델파이와 C++빌더로 만들어진 오래된 애플리케이션을 현대화하고 업그레이드 하는 작업을 어떻게하면 쉽게 할 수 있는지를 알 수 있다.

역자 주, 엠바카데로의 영문 자료와 함께 데브기어의 한글 자료도 도움이 될 수 있습니다.

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15763
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 14167
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16723
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22284
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23600
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 19122
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39549
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174972
363 [사례 소개] 데브기어 마이그레이션 유상 컨설팅 사례 험프리 2020.04.22 556
362 [베를린 U1] TGrid가 네이티브 렌더링을 지원해 더 부드럽고 강력한 기능을 제공합니다. file 험프리 2016.09.20 556
361 [다음 버전 정보] C++11을 32비트 윈도우 앱 개발에서 사용할 수 있습니다. Humphery 2015.08.25 556
360 [도서/PDF] 한 번에 개발하는 안드로이드&iOS 앱 with 델파이 1편 - 8장(실습). TFrame [1] 관리자 2020.02.04 555
359 리팩토링 2-수퍼 클래스(인터페이스) 추출하기 file 김원경 2017.02.23 553
358 [다시보기] RAD Studio 10 시애틀 딥다이브 세션 다시보기(영문) Humphery 2015.10.02 553
357 이 달의 기술자료 - 2021년 06월 file 험프리 2021.05.27 551
356 이 달의 기술자료 - 2017년 10월 file 험프리 2017.09.26 550
355 이 달의 기술자료 - 2016년 2월 file 험프리 2016.01.26 550
354 RAD스튜디오의 iOS 13 및 안드로이드 64-bit 대응 관리자 2019.10.21 549
353 [10.4 시드니][업데이트 2] RAD스튜디오 10.4.2 자동 설치(SILENT INSTALLER) 관리자 2021.03.02 548
352 MS 비주얼 스튜디오 C++을 C++빌더와 함께 활용하기 관리자 2020.03.12 546
351 n [도서/PDF] 한 번에 개발하는 안드로이드&iOS 앱 with 델파이 1편 - 1장. 델파이 개발환경 둘러보기 관리자 2020.02.04 545
350 [고객사례-설치도구, 델파이] RAD&Installer 관리자 2017.10.31 545
349 [도서/PDF/소스코드] 델파이 Begin...End - 18장. 인트라웹을 이용한 웹 프로그래밍 관리자 2019.08.20 544
348 [고객 사례- 델파이, 교육] 교육용 프로그래밍 도구 – DEVFLOWCHARTER 관리자 2021.02.19 542
347 [업데이트 서브스크립션 고객 - 무상제공] C++ 컴파일 스피드를 확 높여줄 TwineCompile 관리자 2020.09.25 542
» BDE/파라독스를 인터베이스(INTERBASE)로 마이그레이션 하기 관리자 2021.05.31 541
345 [코드레이지11] FireDAC 이해하기, RAD 스튜디오 데이터 엑세스 프레임워크 선택 - Cary Jensen 험프리 2016.11.24 541
344 [오픈소스] 델파이 코드 커버리지 소개 file 험프리 2019.12.05 540