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 20845
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 19612
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 21713
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 27397
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 28692
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 24017
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 44763
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 180212
343 RAD 스튜디오 모바일 개발 환경 설정(안드로이드, iOS) [1] file 험프리 2014.05.19 16134
342 이 달의 기술자료 - 2014년 5월 file 험프리 2014.05.19 2038
341 데이터스냅(DataSnap) - 이미지 송수신 예제 [1] file Humphery 2014.05.19 4407
340 [업데이트][hotifx] RAD Studio XE5 Update 2 Hotfix 6(iOS SDK 7.1 and XCode 5.1 대응) [1] Humphery 2014.05.08 2668
339 QueryPerformanceCounter 사용 시 주의사항(x86, 64bit) Humphery 2014.05.07 2063
338 Quality central Windows Client 이용방법 file Humphery 2014.04.30 1984
337 모바일 앱 개발 시 툴 선택 file Humphery 2014.04.29 2805
336 20140424_Developer Direct LIVE! 2014 세미나 세션 자료입니다. 관리자 2014.04.25 1786
335 안드로이드 ARM 에뮬레이터 속도를 올리는 8가지 팁 Humphery 2014.04.25 4961
334 델파이 물리엔진 Box2d 소개. FMX, VCL 용(오픈소스) [1] Humphery 2014.04.22 4202
333 델파이로 만든 공학용계산기 앱 Android/iOS 동시 런칭. [4] file c2design 2014.04.11 4181
332 Instagram Filter 효과와 같은 앱 소스(소스 포함) [2] Humphery 2014.04.09 6090
331 RAD Studio XE6 Webinar 그리고 Developer Direct LIVE! 2014 in Seoul(4/24) Humphery 2014.04.09 3702
330 짐 맥키트(Jim McKeeth) - 열손가락과 델파이를 연결하다.(Leap Motion 연동) Humphery 2014.04.04 5158
329 이 달의 기술자료 - 2014년 4월 file 험프리 2014.04.03 16838
328 공학용 계산기앱 안드로이드 마켓 등록 완료. [2] file c2design 2014.04.03 4260
327 짐 맥키트(Jim McKeeth) - 델파이가 여러분의 3D모션을 감지합니다.(Kinect 연동) Humphery 2014.04.01 3524
326 짐 맥키트(Jim McKeeth) - 델파이 하늘을 날다(AR.Drone 2.0 연동) Humphery 2014.03.28 4768
325 InterBase XE3 운영자 가이드 file 문효섭 2014.03.26 3640
324 짐 맥키트(Jim McKeeth) - 당신의 뇌를 델파이에 연결하기(Emotiv EPOC) Humphery 2014.03.25 5321