[step up! 마이그레이션] rad 업그레이드 마이그레이션_계획과 검토

23

Click here to load reader

Upload: devgear

Post on 23-Jun-2015

497 views

Category:

Software


7 download

DESCRIPTION

델파이 업그레이드 마이그레이션을 진행할 때의 고려사항, 이점, 반드시 확인해야 할 부분 등을 정리한 문서입니다.

TRANSCRIPT

Page 1: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES

Step Up 마이그레이션:

델파이 Upgrade 마이그레이션 기술 브리핑

박범용 [email protected]

김현수 [email protected]

2014. 8. 16

(주)데브기어

Page 2: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

델파이 Upgrade 프로젝트

Page 3: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

최근 델파이 Upgrade 프로젝트의 유형

업그레이드 프로젝트의 규모와 작업 범위는 각자의 필요성과 목적에 따라 다양합니다.

현재 프로젝트의 유형을 크게 구분하면:

1. 선제적 프로젝트: 모바일, BYOD, 향상된 사용자 경험(UX), 유니코드, 64-bit 등 IT 환경 변화와 사용자의 최신 요구 사항에 앞서 나가기 위함

2. 최소한의 대응 프로젝트: MS사의 윈도우 XP 지원 중단에 대응하기 위함

3. 절충형 프로젝트: 2항을 기초로 하고 1항 중 꼭 필요한 요구 사항을 가미

Page 4: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

델파이 Upgrade 프로젝트 공통 고려 사항

1. 일정 계획

1. AS-IS 프로그램 현황 파악 체크리스트 확인 및 대상을 목록으로 정리 (*컨버전 질의서 활용)

2. 유형 별 주요 화면과 작은 독립 모듈에 대한 파일롯 진행 (2개월 이내, 이슈 파악, 자동 변환 툴 제작)

3. 소스 변경 작업 기간은 최소화 (소스 파일이 많을 경우, 자동 변환 툴이 중요, 유닛 당 5~30분)

4. 테스트 기간은 최소 개발 기간 이상으로 계획 (단위 테스트와 통합 테스트 수행)

2. 인력 계획

1. 파일롯 프로젝트는 최소 특급 개발자 1명 이상으로 진행 (가급적 본 프로젝트 완료까지 유지)

2. 소스 전환 작업은 파일롯 결과를 통해 예측된 소요 시간을 중급 개발자 기준으로 반영

3. 테스트 작업은 업무 담당자를 중심으로 진행 (개발 기간 중 단위 테스트 참여)

3. 관리 계획

1. 소스 전환 작업 후에 발생되는 변경 요구 사항 관리에 유의

2. 소스와 실행 프로그램의 형상 및 버전 관리 체계에 유의

Page 5: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

단계 별 주요 작업 베스트 프랙티스

1. 전환 체계 구축 단계 (파일롯 프로젝트): 특급 1~2명 * 2개월

1. 유형별 주요 화면과 작은 독립 모듈에 대한 파일롯 수행: 이슈 파악, 기간 비용 예측, 자동 변환 툴 작성

2. 공통 모듈 전환

3. 써드 파티 전환: 써드파티 호환성 검토 (64-bit 지원 여부 확인, 향후 오류 가능성 제거)

4. 전환 지침서 작성

2. 마이그레이션 본격 수행 단계: 중급 개발자 00명과 업무 담당자 * 2개월

1. 전환 교육 및 전체 소스 코드 전환

2. 단위 모듈별 테스트 (업무 담당자가 모듈별 테스트)

3. 통합 테스트 및 운영 : 중급 개발자 00명과 업무 담당자 * 2개월

Page 6: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

델파이 Upgrade의 이점 (vs 전면 재개발)

3가지 Upgrade 프로젝트 유형 모두 전면 재개발보다 현격하게 ROI가 높습니다.

주요 이점을 비교하면:

1. 프로젝트 비용이 “현격히” 낮음: RAD의 높은 생산성, 기존 로직 재사용

2. 유지 관리 ROI도 높음: 델파이로 구축된 시스템의 ROI는 이미 검증된 사실

3. 프로젝트 위험성 낮음: 업무 중단 없음. 파일롯 후 기계적인 업그레이드 작업 가능

4. 소프트웨어의 품질이 높음: 개발 보다는 테스트 비중이 훨씬 높음

5. 축적된 자산과 노하우 유지: 기존 코드 재사용. 직무 지식과 노하우 유지 확장

6. 플랫폼 종속성 미미: 네이티브 앱의 특성 상 개발 능력에 제한이 적음

7. 확장성 높음: (선제적 프로젝트 경우) 멀티-디바이스, 모바일, 멀티-티어, 클라우드

Page 7: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

하지만, 큰 그림을 먼저 확인해야

• Why? Upgrade 마이그레이션을 왜 하는가?

• What? 무엇을 Upgrade 마이그레이션 할 것인가?

• 사업목표: 업무 프로세스 변경에 대응해야 하는가? 미래의 요구사항은?

• 시스템 환경의 목표: 하드웨어, OS, DBMS등 시스템 환경은 어떠한가?

• 성능 목표: 원하는 수준의 성능은? 보안과 가용성은?

• 사용자 환경의 목표: 사용자 경험 (UX) 향상이 중요한가? 모바일과 웹은?

• 시스템 연결성의 목표: 연결되어야 하는 시스템은 무엇이 있는가?

Page 8: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

마이그레이션 목표 별 고려 사항

목표 XE6 고려사항

새 윈도우 표준 도입 (윈도우 XP 탈피)

XE6 단순 컨버전으로 윈도우7과 8.1에서 안정성 확보

Face-Off! 구식 화면에서 탈피 사용자 신뢰도 향상

세련된 화면의 VCL 스타일, FM 스타일 윈도우 8의 작업창 미리보기, 애니메이션 효과

스마트폰이나 패드에서도 사용하기를 원함

앱테더링: VCL 앱을 모바일로 손쉽게 확장 파이어몽키: 멀티-디바이스를 단일 코드로 지원

성능 향상 64-bit (4G 메모리 제한 탈피), 유니코드, FireDAC, 더 똑똑해진 컴파일러

IT 환경에 빠르게 대응 멀티-티어 아키텍처, REST 클라이언트, BaaS 클라이언트, JSON 라이브러리

Page 9: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

마이그레이션 목표 별 고려 사항 (계속)

목표 XE6 고려사항

오래된 코드 품질 문제 해소 리펙토링, 오딧(Audit), 메트릭스, UML 기능

소스 코드에 버전 관리 Subversion 클라이언트

요즘 DBMS의 능력 활용 FireDAC으로 최신 DBMS의 기능과 성능 활용

개발 생산성 향상 IDE 인사이트, Error 인사이트 자동화 등 IDE 기능 제네릭스, 익명 메소드 등 강화된 언어 등

※ 델파이7 이후 새기능 - IDE: http://devgear.co.kr/pdf/delphi_xe_new_IDE_features_after_delphi7_kor.pdf - VCL: http://devgear.co.kr/pdf/delphi_xe_new_vcl_features_after_delphi7_kor.pdf - 디버거: http://devgear.co.kr/pdf/delphi_xe_new_debug_features_after_delphi7_kor.pdf - 델파이언어: http://devgear.co.kr/pdf/delphi_xe_new_lang_features_after_delphi7_kor.pdf

Page 10: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

사용자 경험과 XE6

Page 11: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

개발생산성, 코드 품질과 XE6

Page 12: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

모바일과 XE6

12

Page 13: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

멀티-디바이스와 XE6

Delphi / C++

Mac고유

Win고유

FireMonkey 프레임워크

iOS 고유

윈도우 맥OS X iOS 안드로이드

Android 고유

개발자의 언어 영역! 기본적으로 디바이스 차이가 없음

공통 인터페이스 제공, RAD의 빠른 생산성 (플랫폼 독립적인 컴포넌트와 라이브러리)

OS별 차이는 프레임워크에서 처리

디바이스 만의 독특한 고유 기능 필요 시 각 OS별 SDK에 직접 액세스도 가능

Page 14: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

오랜 32-bit DB 연결 컴포넌트: BDE

• BDE는 2002년에 개발과 유지 보수가 종료됨

– 패치 제공은 없음

• BDE의 최신 버전은 5.2

– 델파이 7, C++빌더 6 이후 BDE 버전 업데이트 없음

– 오라클은 8버전까지만, MS-SQL은 7버전까지만, 인터베이스 6버전까지만 지원됨

– 현재 RAD 스튜디오 (델파이, C++빌더)에 포함된 BDE는 과거 자산 유지 보수용

• BDE의 작동이 보증되는 플랫폼은 윈도우 XP까지

– 윈도우 XP 이후 출시된 OS는 보증 안됨 (Vista / 윈7, 2003 서버 / 2008 서버 / 윈도우8)

• 확장성과 향후 대응이 어려움

– 64bit 지원 없음 (서버의 경우 메모리 활용을 위해 64bit가 중요함)

Page 15: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

새로운 대안: FireDAC

• FireDAC은

– 다양한 DBMS를 단일 API로 네이티브 액세스

• 100% 순수 델파이 코드

• 델파이와 C++빌더에서 모두 사용

• 높은 성능, 양방향 연결, 각 DBMS 고유 기능 지원

• BDE에 비해 배포가 매우 간단 (exe와 DBMS 클라이언트만으로 OK)

• 윈32, 윈64, 맥 OS X, IOS, 안드로이드 모두 지원

– BDE와의 호환성

• 데이터 액세스 구조 유사

• 기존 BDE 데이터셋에 대응하는 클래스 제공

• CachedUpdates 모드 가능

• BDE에서 FireDAC으로 전환이 용이: reFind.exe 유틸이 포함됨

Page 16: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

데이터베이스 액세스 비교

BDE dbGo(ADO) dbExpress FireDAC

지원 DBMS × ○ △ ○

ANSI ○ ○ ○ ○

유니코드 × ○ △ ○

Win32 ○ ○ ○ ○

Win64 × ○ ○ ○

ODBC ○ ○ ○ ○

원격 연결 × ○ ○ ○

맥 OS X × × ○ ○

iOS, 안드로이드 × × ○ ○

배포 용이성 × △ ○ ◎

Page 17: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

멀티-티어 아키텍처

No-티어

DB 액세스

GUI

업무 로직

2-티어

DB 액세스

GUI

업무 로직

DB 서버

ID/Pass ID/Pass

멀티-티어

DB 액세스

GUI

업무 로직

DB 서버

미들웨어

ID/Pass

Page 18: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

멀티-티어 아키텍처가 왜 중요한가

멀티-티어

DB 액세스

GUI

업무 로직

DB 서버

미들웨어

ID/Pass

새로운 디바이스, 새로운 OS 시 GUI만 설계하여 구현하면 됨

새로운 DBMS도입 시 데이터베이스 만 교체하기 용이

확장성과 유연성 확보 - GUI에 의존하지 않는 업무 로직 공유 - HTTP(S), TCP/IP, REST,SOAP등 표준 프로토콜

Page 19: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

델파이 클라이언트와 멀티-티어 도입

델파이 클라이언트에서 멀티-티어 도입 방법은 각자의 상황과 목적에 따라 다양합니다.

멀티-티어 도입을 위한 방안을 구분하면:

1. 기존의 웹서비스 서버 활용

‒ SOAP 서버, REST 서버, 표준 웹 프로토콜을 지원하는 미들웨어

2. 데이터스냅 서버 개발

‒ 델파이로 미들웨어 서버를 손쉽게 개발 (윈도우 서버가 필요)

‒ 데이터 모듈과 데이터 액세스 모듈을 캡슐화

‒ 데이터스냅의 “서버 메소드”를 활용하면 클라이언트에서도 로컬 처럼 개발

3. BaaS (Backend as a Service) 서비스 등 클라우드 활용

‒ 모바일의 수익 모델 구현에 필요한 백엔드 서버 서비스를 클라우드에서 제공

‒ Kinvey, Parse 등

Page 20: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

델파이 클라이언트 개발

1. GUI와 업무 로직을 분리

‒ 업무 로직은 모든 플랫폼에서 공유

‒ GUI는 플랫폼 마다 준비

‒ 윈32 / 윈64 / OS X는 동일한 GUI로 구성

‒ 안드로이드 / iOS 는 동일한 GUI로 구성

2. 모바일 GUI는 기능 세분화

‒ 모바일 앱은 기본적으로 “단일 기능 형”

‒ 한정된 화면의 크기

‒ 모바일 GUI는 현장에서 필요한 기능을 즉시 사용하려는 목적에 부합

‒ PC GUI는 사무실에서 모든 기능을 한번에 처리하려는 목적에 부합

Page 21: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

어떻게 시작하나요?

1. 시작은? 컨버전 질의서

‒ 컨버전 질의서 (체크리스트) : http://tech.devgear.co.kr/1708

‒ 작성 후 데브기어로 전달 (무상으로 검토 의견을 드립니다)

2. 개별 방문 컨설팅이 필요하다면?

‒ 관련 컨설팅 회사 또는 고급 개발자를 연결하여 드립니다. (유상, 이 경우에서 체크리스트는 미리 작성)

‒ 혹시! 마이그레이션 경험이 풍부하고 컨설팅 서비스를 하고자 하는 경우에도 연락 바랍니다.

데브기어 : [email protected] 마이그레이션 담당자 앞

Page 22: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES

추가 정보

• 엠바카데로 개발툴 계획 로드맵 http://edn.embarcadero.com/article/43677

• IoT와 RAD Studio - 다양한 디바이스 연동 http://tech.devgear.co.kr/347981

• 모바일 개발 사례 http://tech.devgear.co.kr/345279

• 한글 도움말 http://www.devgear.co.kr/docwiki

• 데브기어 기술 자료실 http://tech.devgear.co.kr/

• 델파이 교육 일정 (매월) http://www.devgear.co.kr/edu

• 마이그레이션 자료와 가이드 http://www.devgear.co.kr/rad-in-action/migration-upgrade-center/

• 각버전별 신기능 요약 http://www.devgear.co.kr/products/rad-studio/whats-new-history/

Page 23: [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토

EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES

감사합니다.

http://tech.devgear.co.kr http://www.devgear.co.kr http://www.facebook.com/devgear