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 17796
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 16164
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 18813
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 24386
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 25770
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 21126
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 41710
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 177012
214 [고객사례-설치도구, 델파이] RAD 안드로이드 관리자 2017.12.06 547
213 [10.4 시드니][업데이트 2] TNUMBERBOX – 새로운 VCL 컨트롤 관리자 2021.03.08 546
212 이 달의 기술자료 - 2017년 03월 file 험프리 2017.02.24 546
» BDE/파라독스를 인터베이스(INTERBASE)로 마이그레이션 하기 관리자 2021.05.31 542
210 이 달의 기술자료 - 2019년 01월 험프리 2018.12.28 542
209 이 달의 기술자료 - 2017년 06월 file 험프리 2017.05.30 542
208 RAD스튜디오 로드맵 - 2019년 8월 관리자 2019.08.13 541
207 [오픈소스] 델파이 코드 커버리지 소개 file 험프리 2019.12.05 540
206 RAD스튜디오 2020 로드맵 – 자세한 내용을 확인해보세요! (PM들의 코멘터리) 관리자 2020.11.19 539
205 생산성을 끌어올려줄 겟잇(GetIt)의 최신 컴포넌트들 관리자 2021.01.18 537
204 [사물인터넷 동영상] 위험 지역 경보 시스템 관리자 2015.07.28 537
203 이 달의 기술자료 - 2019년 02월 file 험프리 2019.01.25 537
202 데브기어 컴포넌트 컨버터 소개(마이그레이션 자동화 도구) 험프리 2020.01.29 536
201 이 달의 기술자료 - 2018년 02월 file 험프리 2018.01.25 536
200 [발표자료] VCL 애플리케이션 확장하기 with RAD 서버 관리자 2017.03.16 535
199 이 달의 기술자료 - 2017년 11월 file 험프리 2017.10.30 535
198 [앵콜세미나] 사물인터넷 실제 구현하기, DeepDive!: 비콘, 스마트조명, 블루투스 체중계 관리자 2015.08.19 533
197 API로 머신 러닝과 컴퓨터 비전 활용하기 관리자 2021.05.04 530
196 이 달의 기술자료 - 2018년 08월 file 험프리 2018.07.31 530
195 이 달의 기술자료 - 2018년 04월 file 험프리 2018.03.30 529