험프리 1월 28일, 2022에 포스트됨 공유하기 1월 28일, 2022에 포스트됨 이 문서의 목적 데브기어 마이그레이션 지원 사업(TODO 링크 넣기)을 통해 진행한 현대화 프로젝트 사례(TODO 링크 넣기)를 기록함으로써, 델파이/C++ 현대화 마이그레이션 (TODO 링크 넣기)을 고려하는 개발자가 참고할 수 있도록 한다. 목차 사용 기관 및 프로젝트 소개 현대화 마이그레이션을 계획하게된 동기 마이그레이션 프로젝트 개요 마이그레이션 프로젝트 진행 단계 주요 작업 (및 참고 자료) 코드 변환 BDE를 FireDAC으로 교체 (64비트 윈도우 지원, 배포 편이성 향상, 데이터 처리 성능 향상) 윈도우 10 스타일 적용 (일관성 있고 세련된 현대식 디자인) 사이드바 메뉴 구현 (사용성 향상) 퀵리포트(Quick Report) 업그레이드 (엑셀 내보내기 등 기능 향상) 학생 프로필 사진 DB화 (관리 편이성과 관련 기능 향상) 데이터베이스를 호출하는 모든 SQL 구문을 기록 (보안 감사 능력 향상) 사용 기관 및 프로젝트 소개 사용 기관: 감리교 신학대학교 1887년 설립된 국내최초의 신학교 대상 시스템: 학사 관리 시스템 학부, 대학원, 평생교육원, 행정 등 대학교 업무 전반을 지원하는 종합 전산 프로그램 델파이 3 버전으로 개발된 후 20년 간 유지해 온 시스템 현대화 마이그레이션을 계획하게된 동기 윈도우 10이 보편화 됨에 따라 이에 대한 원활한 지원이 필요 윈도우 10에서 기존 사용자 프로그램의 알수없는 오류 발생 (특히 BDE가 가장 문제임) 품질 향상이 필요 기존 서비스를 모두 제공할 수 있으면서도 디자인, 사용성, 기능, 성능을 향상하고자 함 투자 대비 효과 지속 유지 인력 및 비용 측면에서, 이 시스템은 지난 20년 간 충분히 투자 대비 효과를 실현해 왔으며, 현대화를 통해 장점을 유지 마이그레이션 프로젝트 개요 목표 (와 기대 효과) BDE를 완전히 제거하고 FireDAC으로 교체 (64비트 윈도우 지원, 배포 편이성 향상, 데이터 처리 성능 향상) 윈도우 10 스타일 적용 (일관성 있고 세련된 현대식 디자인) 사이드바 메뉴 구현 (사용성 향상) 퀵리포트(Quick Report) 업그레이드 (엑셀 내보내기 등 기능 향상) 학생 프로필 사진 DB화 (관리 편이성과 관련 기능 향상) 데이터베이스를 호출하는 모든 SQL 구문을 기록 (보안 감사 능력 향상) 개요 기간 : 총 3개월(2016년 5월 ~ 7월) 투입 인원 외부 : 1명(데브기어 컨설턴트 방문 컨설팅 / 상주) 내부 : 1명(담당자) 대상 프로젝트 델파이 프로젝트 : 27개 .pas 파일 : 3,000여개 .dfm 파일 : 3,000여개 델파이 버전 현대화 델파이 개발 환경을 3 버전에서 10.1 베를린 버전으로 이전 조언 또는 팁 현대화 마이그레이션의 프로젝트에서 소스 코드 변환 작업은 가장 기본적이고 가장 많은 부분을 차지한다. 하지만, 프로젝트 계획에 아래 사항을 반영하면, 프로젝트 완료 후 사용자의 만족도는 더 높아진다. 사용자들이 주로 사용하는 화면을 몇개 선정하여 디자인과 기능을 집중 강화한다. 사용자들이 가장 원했던 기능의 우선 순위를 정하고 가장 높은 몇개의 기능 강화에 집중한다. 마이그레이션 프로젝트 진행 단계 이 프로젝트는 데브기어 마이그레이션 프로젝트 절차 - 1.1 버전에 따라 진행되었다. 그 결과, 전체 프로젝트 기간 (3개월) 중 코드 변환 작업 기간은 15% (1~2주) 만으로 충분했다. 나머지 85% 기간 (2.5 개월)은 이슈 해소, 자동화 방안 수립, 테스트, 목표한 향상 작업을 진행했다. 주요 작업 (및 참고 자료) 코드 변환 자동 변환 도구(들) (TODO 자동 변환 도구 소개 링크) 마이그레이션 가이드 문서(TODO 마이그레이션 가이드 소개 링크) BDE를 FireDAC으로 교체 (64비트 윈도우 지원, 배포 편이성 향상, 데이터 처리 성능 향상) BDE (Borland Database Engine) 윈도우 3.1이 사용되던 1995년에 나온 기술 유니코드를 지원하지 않으며 윈도우 10 등 최신 64비트 윈도우에서 "알 수 없는 오류"를 일으킴 프로그램 배포 시 번거로움 (BDE Admin을 별도로 설치해야 함) "작업을 따로 하지 않고 FireDAC으로 교체" 만으로 얻은 효과 배포 간소화: FireDAC은 BDE보다 오라클 클라이언트 배포가 간편 프로그램 배포 시 Oracle thin client 관련 dll 몇개 만 포함하면 됨 [따라하기] FireDAC으로 오라클(Oracle) DB와 연결하기 데이터 처리 성능 향상 FireDAC 성능 비교: BDE, dbGO(ADO), dbExpress, FireDAC FireDAC 주요기능 10가지를 예제와 함께 살펴보기 reFind 도구를 사용하여 BDE에서 FireDAC으로 자동 변환하는 방법 델파이: reFind.exe: 마이그레이션 작업에서 수작업을 줄여주는 도구 C++빌더: (영문) "reFind" 도구를 사용하여 BDE를 FireDAC 으로 마이그레이션 하기 (델파이 10.1 환경에서 설명) 윈도우 10 스타일 적용 (일관성 있고 세련된 현대식 디자인) 델파이에서 프로젝트 옵션 설정 만으로 프로그램의 컨트롤, 테두리, 배경색 등등 모든 화면 요소에 일관성있고 현대적인 디자인을 적용 VCL 스타일을 적용해 1분만에 윈도우 10 최신 룩앤필 적용하기 사이드바 메뉴 구현 (사용성 향상) 델파이에 들어있는 VCL 윈도우 10 컨트롤 중 슬라이드 메뉴를 제공하는 TSplitView를 이용해 업무별 바로가기 기능을 구현 윈도우 10 용 새 VCL UI 컨트롤로 윈도우 10 UI를 손쉽게 적용하기 퀵리포트(Quick Report) 업그레이드 (엑셀 내보내기 등 기능 향상) "작업을 따로 하지 않고 퀵리포트 업그레이드" 만으로 얻은 효과 보고서 내보내기 (저장) 기능 추가 기능 추가 작업: 퀵리포트 보고서를 엑셀로 내보내기 보고서 화면에 엑셀 저장 필터 컴포넌트(TQRXLSXFilt)를 추가 해당 보고서 화면이 많았으므로, 텍스트 에디터의 여러파일 찾기 기능과 치환 기능을 이용해 폼파일(*.dfm)과 소스파일(*.pas)에 컴포넌트를 추가하는 코드 삽입 작업을 자동화 학생 프로필 사진 DB화 (관리 편이성과 관련 기능 향상) 오라클 DB에 사진 테이블 생성하고 BLOB 컬럼을 추가하여 학생 프로필 사진을 관리하도록 하여, 프로그램에서 사진을 표시하기 위해 수행되던 성가신 수작업을 해소함 BLOB 컬럼에 (이미지 등의)데이터 읽고 쓰기 퀵레포트(Quick Report)에 사진 출력하기 데이터베이스를 호출하는 모든 SQL 구문을 기록 (보안 감사 능력 향상) 요구 사항: "DB에 호출하는 모든 SQL 문을 로그로 남긴다." TFDQuery 컴포넌트 (DB에 전달되는 SQL을 담당하는 컴포넌트)를 상속받고, 메소드 덮어쓰기 (Override)를 이용하여 로그 기록 기능을 삽입 그 결과, 이렇게 커스터마이징 된 컴포넌트를 사용하는 모든 SQL은 자동으로 로그를 남기게 됨 (참고자료는 작성 중) 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
어드민 2월 24일, 2022에 포스트됨 공유하기 2월 24일, 2022에 포스트됨 마이그레이션 관련 정보/자료/도움이 필요하다면 아래 웹페이지를 방문하세요. 업그레이드 마이그레이션 센터 – 데브기어 (devgear.co.kr) 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.