ݺߣ

ݺߣShare a Scribd company logo
EMBARCADERO TECHNOLOGIESEMBARCADERO TECHNOLOGIES
Step Up 마이그레이션:
델파이 Upgrade 마이그레이션
기술 브리핑
박범용 beomyong.park@embarcadero.kr
김현수 hskim@embarcadero.kr
2014. 8. 16
(주)데브기어
EMBARCADERO TECHNOLOGIES
델파이 Upgrade 로젝트
EMBARCADERO TECHNOLOGIES
최근 델파이 Upgrade 로젝트의 유형
업그레이드 로젝트의 규모와 작업 범위는 각자의 필요성과 목적에 따라 다양합니다.
현재 로젝트의 유형을 크게 구분하면:
1. 선제적 로젝트: 모바일, BYOD, 향상된 사용자 경험(UX), 유니코드, 64-bit 등 IT
환경 변화와 사용자의 최신 요구 사항에 앞서 나가기 위함
2. 최소한의 대응 로젝트: MS사의 윈도우 XP 지원 중단에 대응하기 위함
3. 절충형 로젝트: 2항을 기초로 하고 1항 중 꼭 필요한 요구 사항을 가미
EMBARCADERO TECHNOLOGIES
델파이 Upgrade 로젝트 공통 고려 사항
1. 일정 계획
1. AS-IS 프로그램 현황 파악 체크리스트 확인 및 대상을 목록으로 정리 (*컨버전 질의서 활용)
2. 유형 별 주요 화면과 작은 독립 모듈에 대한 파일롯 진행 (2개월 이내, 이슈 파악, 자동 변환 툴 제작)
3. 소스 변경 작업 기간은 최소화 (소스 파일이 많을 경우, 자동 변환 툴이 중요, 유닛 당 5~30분)
4. 테스트 기간은 최소 개발 기간 이상으로 계획 (단위 테스트와 통합 테스트 수행)
2. 인력 계획
1. 파일롯 로젝트는 최소 특급 개발자 1명 이상으로 진행 (가급적 본 로젝트 완료까지 유지)
2. 소스 전환 작업은 파일롯 결과를 통해 예측된 소요 시간을 중급 개발자 기준으로 반영
3. 테스트 작업은 업무 담당자를 중심으로 진행 (개발 기간 중 단위 테스트 참여)
3. 관리 계획
1. 소스 전환 작업 후에 발생되는 변경 요구 사항 관리에 유의
2. 소스와 실행 프로그램의 형상 및 버전 관리 체계에 유의
EMBARCADERO TECHNOLOGIES
단계 별 주요 작업 베스트 프랙티스
1. 전환 체계 구축 단계 (파일롯 로젝트): 특급 1~2명 * 2개월
1. 유형별 주요 화면과 작은 독립 모듈에 대한 파일롯 수행: 이슈 파악, 기간 비용 예측, 자동 변환 툴 작성
2. 공통 모듈 전환
3. 써드 파티 전환: 써드파티 호환성 검토 (64-bit 지원 여부 확인, 향후 오류 가능성 제거)
4. 전환 지침서 작성
2. 마이그레이션 본격 수행 단계: 중급 개발자 00명과 업무 담당자 * 2개월
1. 전환 교육 및 전체 소스 코드 전환
2. 단위 모듈별 테스트 (업무 담당자가 모듈별 테스트)
3. 통합 테스트 및 운영 : 중급 개발자 00명과 업무 담당자 * 2개월
EMBARCADERO TECHNOLOGIES
델파이 Upgrade의 이점 (vs 전면 재개발)
3가지 Upgrade 로젝트 유형 모두 전면 재개발보다 현격하게 ROI가 높습니다.
주요 이점을 비교하면:
1. 로젝트 비용이 “현격히” 낮음: RAD의 높은 생산성, 기존 로직 재사용
2. 유지 관리 ROI도 높음: 델파이로 구축된 시스템의 ROI는 이미 검증된 사실
3. 로젝트 위험성 낮음: 업무 중단 없음. 파일롯 후 기계적인 업그레이드 작업 가능
4. 소프트웨어의 품질이 높음: 개발 보다는 테스트 비중이 훨씬 높음
5. 축적된 자산과 노하우 유지: 기존 코드 재사용. 직무 지식과 노하우 유지 확장
6. 플랫폼 종속성 미미: 네이티브 앱의 특성 상 개발 능력에 제한이 적음
7. 확장성 높음: (선제적 로젝트 경우) 멀티-디바이스, 모바일, 멀티-티어, 클라우드
EMBARCADERO TECHNOLOGIES
하지만, 큰 그림을 먼저 확인해야
• Why? Upgrade 마이그레이션을 왜 하는가?
• What? 무엇을 Upgrade 마이그레이션 할 것인가?
• 사업목표: 업무 프로세스 변경에 대응해야 하는가? 미래의 요구사항은?
• 시스템 환경의 목표: 하드웨어, OS, DBMS등 시스템 환경은 어떠한가?
• 성능 목표: 원하는 수준의 성능은? 보안과 가용성은?
• 사용자 환경의 목표: 사용자 경험 (UX) 향상이 중요한가? 모바일과 웹은?
• 시스템 연결성의 목표: 연결되어야 하는 시스템은 무엇이 있는가?
EMBARCADERO TECHNOLOGIES
마이그레이션 목표 별 고려 사항
목표 XE6 고려사항
새 윈도우 표준 도입
(윈도우 XP 탈피)
XE6 단순 컨버전으로
윈도우7과 8.1에서 안정성 확보
Face-Off! 구식 화면에서 탈피
사용자 신뢰도 향상
세련된 화면의 VCL 스타일, FM 스타일
윈도우 8의 작업창 미리보기, 애니메이션 효과
스마트폰이나 패드에서도
사용하기를 원함
앱테더링: VCL 앱을 모바일로 손쉽게 확장
파이어몽키: 멀티-디바이스를 단일 코드로 지원
성능 향상 64-bit (4G 메모리 제한 탈피), 유니코드, FireDAC,
더 똑똑해진 컴파일러
IT 환경에 빠르게 대응 멀티-티어 아키텍처, REST 클라이언트,
BaaS 클라이언트, JSON 라이브러리
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
EMBARCADERO TECHNOLOGIES
사용자 경험과 XE6
EMBARCADERO TECHNOLOGIES
개발생산성, 코드 품질과 XE6
EMBARCADERO TECHNOLOGIES
모바일과 XE6
12
EMBARCADERO TECHNOLOGIES
멀티-디바이스와 XE6
Delphi / C++
Mac
고유
Win
고유
FireMonkey 프레임워크
iOS
고유
윈도우 맥OS X iOS 안드로이드
Android
고유
개발자의 언어 영역!
기본적으로 디바이스 차이가 없음
공통 인터페이스 제공, RAD의 빠른 생산성
(플랫폼 독립적인 컴포넌트와 라이브러리)
OS별 차이는 프레임워크에서 처리
디바이스 만의 독특한 고유 기능 필요 시
각 OS별 SDK에 직접 액세스도 가능
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가 중요함)
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 유틸이 포함됨
EMBARCADERO TECHNOLOGIES
데이터베이스 액세스 비교
BDE dbGo(ADO) dbExpress FireDAC
지원 DBMS × ○ △ ○
ANSI ○ ○ ○ ○
유니코드 × ○ △ ○
Win32 ○ ○ ○ ○
Win64 × ○ ○ ○
ODBC ○ ○ ○ ○
원격 연결 × ○ ○ ○
맥 OS X × × ○ ○
iOS, 안드로이드 × × ○ ○
배포 용이성 × △ ○ ◎
EMBARCADERO TECHNOLOGIES
멀티-티어 아키텍처
No-티어
DB
액세스
GUI
업무
로직
2-티어
DB
액세스
GUI
업무
로직
DB 서버
ID/PassID/Pass
멀티-티어
DB
액세스
GUI
업무
로직
DB 서버
미들웨어
ID/Pass
EMBARCADERO TECHNOLOGIES
멀티-티어 아키텍처가 왜 중요한가
멀티-티어
DB
액세스
GUI
업무
로직
DB 서버
미들웨어
ID/Pass
새로운 디바이스, 새로운 OS 시
GUI만 설계하여 구현하면 됨
새로운 DBMS도입 시
데이터베이스 만 교체하기 용이
확장성과 유연성 확보
- GUI에 의존하지 않는 업무 로직 공유
- HTTP(S), TCP/IP, REST,SOAP등 표준 프로토콜
EMBARCADERO TECHNOLOGIES
델파이 클라이언트와 멀티-티어 도입
델파이 클라이언트에서 멀티-티어 도입 방법은 각자의 상황과 목적에 따라 다양합니다.
멀티-티어 도입을 위한 방안을 구분하면:
1. 기존의 웹서비스 서버 활용
‒ SOAP 서버, REST 서버, 표준 웹 프로토콜을 지원하는 미들웨어
2. 데이터스냅 서버 개발
‒ 델파이로 미들웨어 서버를 손쉽게 개발 (윈도우 서버가 필요)
‒ 데이터 모듈과 데이터 액세스 모듈을 캡슐화
‒ 데이터스냅의 “서버 메소드”를 활용하면 클라이언트에서도 로컬 처럼 개발
3. BaaS (Backend as a Service) 서비스 등 클라우드 활용
‒ 모바일의 수익 모델 구현에 필요한 백엔드 서버 서비스를 클라우드에서 제공
‒ Kinvey, Parse 등
EMBARCADERO TECHNOLOGIES
델파이 클라이언트 개발
1. GUI와 업무 로직을 분리
‒ 업무 로직은 모든 플랫폼에서 공유
‒ GUI는 플랫폼 마다 준비
‒ 윈32 / 윈64 / OS X는 동일한 GUI로 구성
‒ 안드로이드 / iOS 는 동일한 GUI로 구성
2. 모바일 GUI는 기능 세분화
‒ 모바일 앱은 기본적으로 “단일 기능 형”
‒ 한정된 화면의 크기
‒ 모바일 GUI는 현장에서 필요한 기능을 즉시 사용하려는 목적에 부합
‒ PC GUI는 사무실에서 모든 기능을 한번에 처리하려는 목적에 부합
EMBARCADERO TECHNOLOGIES
어떻게 시작하나요?
1. 시작은? 컨버전 질의서
‒ 컨버전 질의서 (체크리스트) : http://tech.devgear.co.kr/1708
‒ 작성 후 데브기어로 전달 (무상으로 검토 의견을 드립니다)
2. 개별 방문 컨설팅이 필요하다면?
‒ 관련 컨설팅 회사 또는 고급 개발자를 연결하여 드립니다. (유상, 이 경우에서 체크리스트는 미리 작성)
‒ 혹시! 마이그레이션 경험이 풍부하고 컨설팅 서비스를 하고자 하는 경우에도 연락 바랍니다.
데브기어 : ask@embarcadero.kr 마이그레이션 담당자 앞
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/
EMBARCADERO TECHNOLOGIESEMBARCADERO TECHNOLOGIES
감사합니다.
http://tech.devgear.co.kr
http://www.devgear.co.kr
http://www.facebook.com/devgear
Ad

Recommended

[Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_점검과 수행
[Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_점검과 수행
Devgear
델파이 코드 마이그레이션 Step by Step
델파이 코드 마이그레이션 Step by Step
Devgear
Smart update & patch
Smart update & patch
Devgear
Upgrade VCL! 오래된 프로그램, 최신 버전으로 탈바꿈하기
Upgrade VCL! 오래된 프로그램, 최신 버전으로 탈바꿈하기
Devgear
델파이 upgrade를 검토할 이유
델파이 upgrade를 검토할 이유
Devgear
[데브기어 온라인세미나] 20160504 새로 강화된 기능들 RAD Studio, Delphi, C++Builder
[데브기어 온라인세미나] 20160504 새로 강화된 기능들 RAD Studio, Delphi, C++Builder
Devgear
델파이 소스코드의재발견
델파이 소스코드의재발견
Devgear
20151229 C++ Skill Sprints_파이어몽키 레이아웃 이해와 활용
20151229 C++ Skill Sprints_파이어몽키 레이아웃 이해와 활용
Devgear
Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS)
VMware Tanzu Korea
RAD서버: 완벽한 백엔드 플랫폼
RAD서버: 완벽한 백엔드 플랫폼
Devgear
[20150204 세미나] VCL 개발자를 위한 Speed UP! RAD스튜디오
[20150204 세미나] VCL 개발자를 위한 Speed UP! RAD스튜디오
Devgear
JDesigner Platform v5.0 소개
JDesigner Platform v5.0 소개
Lee Sangboo
모바일, 클라우드, 웹 환경에 필요한 DB관리
모바일, 클라우드, 웹 환경에 필요한 DB관리
mosaicnet
RAD Studio 10 시애틀: 출시 세미나 발표자료
RAD Studio 10 시애틀: 출시 세미나 발표자료
Devgear
Atlassian Bamboo를 활용한 이상적인 DevTestOps 환경 구축 - 모우소프트
Atlassian Bamboo를 활용한 이상적인 DevTestOps 환경 구축 - 모우소프트
Atlassian 대한민국
DevSecOps 그리고 협업 - GitLab
DevSecOps 그리고 협업 - GitLab
Guenjun Yoo
[D2 오픈세미나]5.html5 api 테트리스게임_이진권
[D2 오픈세미나]5.html5 api 테트리스게임_이진권
NAVER D2
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
VMware Tanzu Korea
[D2 오픈세미나]4.진보된개발환경 주우영
[D2 오픈세미나]4.진보된개발환경 주우영
NAVER D2
꿶밋업1탄_왜_마이크로서비스인갶
꿶밋업1탄_왜_마이크로서비스인갶
VMware Tanzu Korea
온라인세미나: 처음 만나는 RAD Studio XE8
온라인세미나: 처음 만나는 RAD Studio XE8
Devgear
RAD Studio XE7 DeepDive_VCL 자세히 살펴보기_김현수
RAD Studio XE7 DeepDive_VCL 자세히 살펴보기_김현수
Devgear
RAD스튜디오 100% 활용하기
RAD스튜디오 100% 활용하기
Devgear
RAD Studio XE8을 소개합니다.
RAD Studio XE8을 소개합니다.
Devgear
RAD Studio XE7 기술 세미나 발표자료
RAD Studio XE7 기술 세미나 발표자료
Devgear
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
Devgear
RAD Studio 10.2 도쿄
RAD Studio 10.2 도쿄
Devgear
Developer direct live in 부산
Developer direct live in 부산
Humphery Kim
RAD Studio XE7 Direct LIVE! in 광주
RAD Studio XE7 Direct LIVE! in 광주
Devgear

More Related Content

What's hot (13)

Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS)
VMware Tanzu Korea
RAD서버: 완벽한 백엔드 플랫폼
RAD서버: 완벽한 백엔드 플랫폼
Devgear
[20150204 세미나] VCL 개발자를 위한 Speed UP! RAD스튜디오
[20150204 세미나] VCL 개발자를 위한 Speed UP! RAD스튜디오
Devgear
JDesigner Platform v5.0 소개
JDesigner Platform v5.0 소개
Lee Sangboo
모바일, 클라우드, 웹 환경에 필요한 DB관리
모바일, 클라우드, 웹 환경에 필요한 DB관리
mosaicnet
RAD Studio 10 시애틀: 출시 세미나 발표자료
RAD Studio 10 시애틀: 출시 세미나 발표자료
Devgear
Atlassian Bamboo를 활용한 이상적인 DevTestOps 환경 구축 - 모우소프트
Atlassian Bamboo를 활용한 이상적인 DevTestOps 환경 구축 - 모우소프트
Atlassian 대한민국
DevSecOps 그리고 협업 - GitLab
DevSecOps 그리고 협업 - GitLab
Guenjun Yoo
[D2 오픈세미나]5.html5 api 테트리스게임_이진권
[D2 오픈세미나]5.html5 api 테트리스게임_이진권
NAVER D2
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
VMware Tanzu Korea
[D2 오픈세미나]4.진보된개발환경 주우영
[D2 오픈세미나]4.진보된개발환경 주우영
NAVER D2
꿶밋업1탄_왜_마이크로서비스인갶
꿶밋업1탄_왜_마이크로서비스인갶
VMware Tanzu Korea
Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS)
VMware Tanzu Korea
RAD서버: 완벽한 백엔드 플랫폼
RAD서버: 완벽한 백엔드 플랫폼
Devgear
[20150204 세미나] VCL 개발자를 위한 Speed UP! RAD스튜디오
[20150204 세미나] VCL 개발자를 위한 Speed UP! RAD스튜디오
Devgear
JDesigner Platform v5.0 소개
JDesigner Platform v5.0 소개
Lee Sangboo
모바일, 클라우드, 웹 환경에 필요한 DB관리
모바일, 클라우드, 웹 환경에 필요한 DB관리
mosaicnet
RAD Studio 10 시애틀: 출시 세미나 발표자료
RAD Studio 10 시애틀: 출시 세미나 발표자료
Devgear
Atlassian Bamboo를 활용한 이상적인 DevTestOps 환경 구축 - 모우소프트
Atlassian Bamboo를 활용한 이상적인 DevTestOps 환경 구축 - 모우소프트
Atlassian 대한민국
DevSecOps 그리고 협업 - GitLab
DevSecOps 그리고 협업 - GitLab
Guenjun Yoo
[D2 오픈세미나]5.html5 api 테트리스게임_이진권
[D2 오픈세미나]5.html5 api 테트리스게임_이진권
NAVER D2
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
VMware Tanzu Korea
[D2 오픈세미나]4.진보된개발환경 주우영
[D2 오픈세미나]4.진보된개발환경 주우영
NAVER D2
꿶밋업1탄_왜_마이크로서비스인갶
꿶밋업1탄_왜_마이크로서비스인갶
VMware Tanzu Korea

Similar to [Step UP! 마이그레이션] RAD 업그레이드 마이그레이션_계획과 검토 (20)

온라인세미나: 처음 만나는 RAD Studio XE8
온라인세미나: 처음 만나는 RAD Studio XE8
Devgear
RAD Studio XE7 DeepDive_VCL 자세히 살펴보기_김현수
RAD Studio XE7 DeepDive_VCL 자세히 살펴보기_김현수
Devgear
RAD스튜디오 100% 활용하기
RAD스튜디오 100% 활용하기
Devgear
RAD Studio XE8을 소개합니다.
RAD Studio XE8을 소개합니다.
Devgear
RAD Studio XE7 기술 세미나 발표자료
RAD Studio XE7 기술 세미나 발표자료
Devgear
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
Devgear
RAD Studio 10.2 도쿄
RAD Studio 10.2 도쿄
Devgear
Developer direct live in 부산
Developer direct live in 부산
Humphery Kim
RAD Studio XE7 Direct LIVE! in 광주
RAD Studio XE7 Direct LIVE! in 광주
Devgear
[온라인 세미나 발표자료] RAD Studio XE7!
[온라인 세미나 발표자료] RAD Studio XE7!
Devgear
대규모 로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
대규모 로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
NDOORS
20150127 사물인터넷 앱 개발과 커넥티드(connected)
20150127 사물인터넷 앱 개발과 커넥티드(connected)
Devgear
델파이,C++빌더: 물류 시스템 개발 전문가를 위한 시장현황과 전략
델파이,C++빌더: 물류 시스템 개발 전문가를 위한 시장현황과 전략
Devgear
ifcpp build guide
ifcpp build guide
JUNHEEKIM27
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
Devgear
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
Terry Cho
(Enterprise,RedHat) - SDC(IaaS) with SDS, Cloud References 2020-07 Samuel.pdf
(Enterprise,RedHat) - SDC(IaaS) with SDS, Cloud References 2020-07 Samuel.pdf
SAMUEL SJ Cheon
임베디드 소프트웨어 개발에 아키텍처 프랙티스 도입
임베디드 소프트웨어 개발에 아키텍처 프랙티스 도입
Chanjin Park
Sencha ExtJS를 활용한 Big Data Platform 개발 사례
Sencha ExtJS를 활용한 Big Data Platform 개발 사례
미래웹기술연구소 (MIRAE WEB)
올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발
cho hyun jong
온라인세미나: 처음 만나는 RAD Studio XE8
온라인세미나: 처음 만나는 RAD Studio XE8
Devgear
RAD Studio XE7 DeepDive_VCL 자세히 살펴보기_김현수
RAD Studio XE7 DeepDive_VCL 자세히 살펴보기_김현수
Devgear
RAD스튜디오 100% 활용하기
RAD스튜디오 100% 활용하기
Devgear
RAD Studio XE8을 소개합니다.
RAD Studio XE8을 소개합니다.
Devgear
RAD Studio XE7 기술 세미나 발표자료
RAD Studio XE7 기술 세미나 발표자료
Devgear
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
Devgear
RAD Studio 10.2 도쿄
RAD Studio 10.2 도쿄
Devgear
Developer direct live in 부산
Developer direct live in 부산
Humphery Kim
RAD Studio XE7 Direct LIVE! in 광주
RAD Studio XE7 Direct LIVE! in 광주
Devgear
[온라인 세미나 발표자료] RAD Studio XE7!
[온라인 세미나 발표자료] RAD Studio XE7!
Devgear
대규모 로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
대규모 로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
NDOORS
20150127 사물인터넷 앱 개발과 커넥티드(connected)
20150127 사물인터넷 앱 개발과 커넥티드(connected)
Devgear
델파이,C++빌더: 물류 시스템 개발 전문가를 위한 시장현황과 전략
델파이,C++빌더: 물류 시스템 개발 전문가를 위한 시장현황과 전략
Devgear
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
Devgear
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
Terry Cho
(Enterprise,RedHat) - SDC(IaaS) with SDS, Cloud References 2020-07 Samuel.pdf
(Enterprise,RedHat) - SDC(IaaS) with SDS, Cloud References 2020-07 Samuel.pdf
SAMUEL SJ Cheon
임베디드 소프트웨어 개발에 아키텍처 프랙티스 도입
임베디드 소프트웨어 개발에 아키텍처 프랙티스 도입
Chanjin Park
올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발
cho hyun jong
Ad

More from Devgear (20)

[델파이 Begin...End] 0장. 책 소개/저자 소개/목차
[델파이 Begin...End] 0장. 책 소개/저자 소개/목차
Devgear
RAD스튜디오를 활용한 장비 연동 시스템 구축방안
RAD스튜디오를 활용한 장비 연동 시스템 구축방안
Devgear
RAD스튜디오를 활용한 헬스 케어 시스템 구축방안
RAD스튜디오를 활용한 헬스 케어 시스템 구축방안
Devgear
델파이 @22
델파이 @22
Devgear
델파이 DB프로그래밍(멀티티어) - 체크리스트
델파이 DB프로그래밍(멀티티어) - 체크리스트
Devgear
델파이 DB프로그래밍(2티어) - 체크리스트
델파이 DB프로그래밍(2티어) - 체크리스트
Devgear
델파이 기초 - 체크리스트
델파이 기초 - 체크리스트
Devgear
델파이 윈도우 애플리케이션 개발 - 체크리스트
델파이 윈도우 애플리케이션 개발 - 체크리스트
Devgear
델파이로 한 번에 개발하는 안드로이드&iOS - 체크리스트
델파이로 한 번에 개발하는 안드로이드&iOS - 체크리스트
Devgear
ELC(Embarcadero License Center) 서버 설치가이드
ELC(Embarcadero License Center) 서버 설치가이드
Devgear
델파이로 개발한 iOS 앱 앱스토어 배포 방법(Apple App Store)
델파이로 개발한 iOS 앱 앱스토어 배포 방법(Apple App Store)
Devgear
델파이로 개발한 안드로이드 앱 앱스토어 배포 방법(google play)
델파이로 개발한 안드로이드 앱 앱스토어 배포 방법(google play)
Devgear
델파이 무료 평가판 설치
델파이 무료 평가판 설치
Devgear
델파이 iOS앱 개발 환경 설정
델파이 iOS앱 개발 환경 설정
Devgear
델파이 안드로이드앱 개발 환경 설정
델파이 안드로이드앱 개발 환경 설정
Devgear
델파이,C++빌더: 의료 시스템 개발 전문가를 위한 시장현황과 전략
델파이,C++빌더: 의료 시스템 개발 전문가를 위한 시장현황과 전략
Devgear
전사 데이터 관리 반드시 피해야 할 7가지 실수
전사 데이터 관리 반드시 피해야 할 7가지 실수
Devgear
유니버설 데이터 모델과 패턴
유니버설 데이터 모델과 패턴
Devgear
SLA(서비스 수준)을 데이터베이스 모니터링에 반영하기
SLA(서비스 수준)을 데이터베이스 모니터링에 반영하기
Devgear
ER/Studio 데이터 모델링 솔루션으로 마이그레이션(from ERwin)
ER/Studio 데이터 모델링 솔루션으로 마이그레이션(from ERwin)
Devgear
[델파이 Begin...End] 0장. 책 소개/저자 소개/목차
[델파이 Begin...End] 0장. 책 소개/저자 소개/목차
Devgear
RAD스튜디오를 활용한 장비 연동 시스템 구축방안
RAD스튜디오를 활용한 장비 연동 시스템 구축방안
Devgear
RAD스튜디오를 활용한 헬스 케어 시스템 구축방안
RAD스튜디오를 활용한 헬스 케어 시스템 구축방안
Devgear
델파이 DB프로그래밍(멀티티어) - 체크리스트
델파이 DB프로그래밍(멀티티어) - 체크리스트
Devgear
델파이 DB프로그래밍(2티어) - 체크리스트
델파이 DB프로그래밍(2티어) - 체크리스트
Devgear
델파이 기초 - 체크리스트
델파이 기초 - 체크리스트
Devgear
델파이 윈도우 애플리케이션 개발 - 체크리스트
델파이 윈도우 애플리케이션 개발 - 체크리스트
Devgear
델파이로 한 번에 개발하는 안드로이드&iOS - 체크리스트
델파이로 한 번에 개발하는 안드로이드&iOS - 체크리스트
Devgear
ELC(Embarcadero License Center) 서버 설치가이드
ELC(Embarcadero License Center) 서버 설치가이드
Devgear
델파이로 개발한 iOS 앱 앱스토어 배포 방법(Apple App Store)
델파이로 개발한 iOS 앱 앱스토어 배포 방법(Apple App Store)
Devgear
델파이로 개발한 안드로이드 앱 앱스토어 배포 방법(google play)
델파이로 개발한 안드로이드 앱 앱스토어 배포 방법(google play)
Devgear
델파이 무료 평가판 설치
델파이 무료 평가판 설치
Devgear
델파이 iOS앱 개발 환경 설정
델파이 iOS앱 개발 환경 설정
Devgear
델파이 안드로이드앱 개발 환경 설정
델파이 안드로이드앱 개발 환경 설정
Devgear
델파이,C++빌더: 의료 시스템 개발 전문가를 위한 시장현황과 전략
델파이,C++빌더: 의료 시스템 개발 전문가를 위한 시장현황과 전략
Devgear
전사 데이터 관리 반드시 피해야 할 7가지 실수
전사 데이터 관리 반드시 피해야 할 7가지 실수
Devgear
유니버설 데이터 모델과 패턴
유니버설 데이터 모델과 패턴
Devgear
SLA(서비스 수준)을 데이터베이스 모니터링에 반영하기
SLA(서비스 수준)을 데이터베이스 모니터링에 반영하기
Devgear
ER/Studio 데이터 모델링 솔루션으로 마이그레이션(from ERwin)
ER/Studio 데이터 모델링 솔루션으로 마이그레이션(from ERwin)
Devgear
Ad

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

  • 1. EMBARCADERO TECHNOLOGIESEMBARCADERO TECHNOLOGIES Step Up 마이그레이션: 델파이 Upgrade 마이그레이션 기술 브리핑 박범용 beomyong.park@embarcadero.kr 김현수 hskim@embarcadero.kr 2014. 8. 16 (주)데브기어
  • 3. EMBARCADERO TECHNOLOGIES 최근 델파이 Upgrade 로젝트의 유형 업그레이드 로젝트의 규모와 작업 범위는 각자의 필요성과 목적에 따라 다양합니다. 현재 로젝트의 유형을 크게 구분하면: 1. 선제적 로젝트: 모바일, BYOD, 향상된 사용자 경험(UX), 유니코드, 64-bit 등 IT 환경 변화와 사용자의 최신 요구 사항에 앞서 나가기 위함 2. 최소한의 대응 로젝트: MS사의 윈도우 XP 지원 중단에 대응하기 위함 3. 절충형 로젝트: 2항을 기초로 하고 1항 중 꼭 필요한 요구 사항을 가미
  • 4. EMBARCADERO TECHNOLOGIES 델파이 Upgrade 로젝트 공통 고려 사항 1. 일정 계획 1. AS-IS 프로그램 현황 파악 체크리스트 확인 및 대상을 목록으로 정리 (*컨버전 질의서 활용) 2. 유형 별 주요 화면과 작은 독립 모듈에 대한 파일롯 진행 (2개월 이내, 이슈 파악, 자동 변환 툴 제작) 3. 소스 변경 작업 기간은 최소화 (소스 파일이 많을 경우, 자동 변환 툴이 중요, 유닛 당 5~30분) 4. 테스트 기간은 최소 개발 기간 이상으로 계획 (단위 테스트와 통합 테스트 수행) 2. 인력 계획 1. 파일롯 로젝트는 최소 특급 개발자 1명 이상으로 진행 (가급적 본 로젝트 완료까지 유지) 2. 소스 전환 작업은 파일롯 결과를 통해 예측된 소요 시간을 중급 개발자 기준으로 반영 3. 테스트 작업은 업무 담당자를 중심으로 진행 (개발 기간 중 단위 테스트 참여) 3. 관리 계획 1. 소스 전환 작업 후에 발생되는 변경 요구 사항 관리에 유의 2. 소스와 실행 프로그램의 형상 및 버전 관리 체계에 유의
  • 5. EMBARCADERO TECHNOLOGIES 단계 별 주요 작업 베스트 프랙티스 1. 전환 체계 구축 단계 (파일롯 로젝트): 특급 1~2명 * 2개월 1. 유형별 주요 화면과 작은 독립 모듈에 대한 파일롯 수행: 이슈 파악, 기간 비용 예측, 자동 변환 툴 작성 2. 공통 모듈 전환 3. 써드 파티 전환: 써드파티 호환성 검토 (64-bit 지원 여부 확인, 향후 오류 가능성 제거) 4. 전환 지침서 작성 2. 마이그레이션 본격 수행 단계: 중급 개발자 00명과 업무 담당자 * 2개월 1. 전환 교육 및 전체 소스 코드 전환 2. 단위 모듈별 테스트 (업무 담당자가 모듈별 테스트) 3. 통합 테스트 및 운영 : 중급 개발자 00명과 업무 담당자 * 2개월
  • 6. EMBARCADERO TECHNOLOGIES 델파이 Upgrade의 이점 (vs 전면 재개발) 3가지 Upgrade 로젝트 유형 모두 전면 재개발보다 현격하게 ROI가 높습니다. 주요 이점을 비교하면: 1. 로젝트 비용이 “현격히” 낮음: RAD의 높은 생산성, 기존 로직 재사용 2. 유지 관리 ROI도 높음: 델파이로 구축된 시스템의 ROI는 이미 검증된 사실 3. 로젝트 위험성 낮음: 업무 중단 없음. 파일롯 후 기계적인 업그레이드 작업 가능 4. 소프트웨어의 품질이 높음: 개발 보다는 테스트 비중이 훨씬 높음 5. 축적된 자산과 노하우 유지: 기존 코드 재사용. 직무 지식과 노하우 유지 확장 6. 플랫폼 종속성 미미: 네이티브 앱의 특성 상 개발 능력에 제한이 적음 7. 확장성 높음: (선제적 로젝트 경우) 멀티-디바이스, 모바일, 멀티-티어, 클라우드
  • 7. EMBARCADERO TECHNOLOGIES 하지만, 큰 그림을 먼저 확인해야 • Why? Upgrade 마이그레이션을 왜 하는가? • What? 무엇을 Upgrade 마이그레이션 할 것인가? • 사업목표: 업무 프로세스 변경에 대응해야 하는가? 미래의 요구사항은? • 시스템 환경의 목표: 하드웨어, OS, DBMS등 시스템 환경은 어떠한가? • 성능 목표: 원하는 수준의 성능은? 보안과 가용성은? • 사용자 환경의 목표: 사용자 경험 (UX) 향상이 중요한가? 모바일과 웹은? • 시스템 연결성의 목표: 연결되어야 하는 시스템은 무엇이 있는가?
  • 8. EMBARCADERO TECHNOLOGIES 마이그레이션 목표 별 고려 사항 목표 XE6 고려사항 새 윈도우 표준 도입 (윈도우 XP 탈피) XE6 단순 컨버전으로 윈도우7과 8.1에서 안정성 확보 Face-Off! 구식 화면에서 탈피 사용자 신뢰도 향상 세련된 화면의 VCL 스타일, FM 스타일 윈도우 8의 작업창 미리보기, 애니메이션 효과 스마트폰이나 패드에서도 사용하기를 원함 앱테더링: VCL 앱을 모바일로 손쉽게 확장 파이어몽키: 멀티-디바이스를 단일 코드로 지원 성능 향상 64-bit (4G 메모리 제한 탈피), 유니코드, FireDAC, 더 똑똑해진 컴파일러 IT 환경에 빠르게 대응 멀티-티어 아키텍처, REST 클라이언트, BaaS 클라이언트, JSON 라이브러리
  • 9. 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
  • 13. EMBARCADERO TECHNOLOGIES 멀티-디바이스와 XE6 Delphi / C++ Mac 고유 Win 고유 FireMonkey 프레임워크 iOS 고유 윈도우 맥OS X iOS 안드로이드 Android 고유 개발자의 언어 영역! 기본적으로 디바이스 차이가 없음 공통 인터페이스 제공, RAD의 빠른 생산성 (플랫폼 독립적인 컴포넌트와 라이브러리) OS별 차이는 프레임워크에서 처리 디바이스 만의 독특한 고유 기능 필요 시 각 OS별 SDK에 직접 액세스도 가능
  • 14. 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가 중요함)
  • 15. 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 유틸이 포함됨
  • 16. EMBARCADERO TECHNOLOGIES 데이터베이스 액세스 비교 BDE dbGo(ADO) dbExpress FireDAC 지원 DBMS × ○ △ ○ ANSI ○ ○ ○ ○ 유니코드 × ○ △ ○ Win32 ○ ○ ○ ○ Win64 × ○ ○ ○ ODBC ○ ○ ○ ○ 원격 연결 × ○ ○ ○ 맥 OS X × × ○ ○ iOS, 안드로이드 × × ○ ○ 배포 용이성 × △ ○ ◎
  • 17. EMBARCADERO TECHNOLOGIES 멀티-티어 아키텍처 No-티어 DB 액세스 GUI 업무 로직 2-티어 DB 액세스 GUI 업무 로직 DB 서버 ID/PassID/Pass 멀티-티어 DB 액세스 GUI 업무 로직 DB 서버 미들웨어 ID/Pass
  • 18. EMBARCADERO TECHNOLOGIES 멀티-티어 아키텍처가 왜 중요한가 멀티-티어 DB 액세스 GUI 업무 로직 DB 서버 미들웨어 ID/Pass 새로운 디바이스, 새로운 OS 시 GUI만 설계하여 구현하면 됨 새로운 DBMS도입 시 데이터베이스 만 교체하기 용이 확장성과 유연성 확보 - GUI에 의존하지 않는 업무 로직 공유 - HTTP(S), TCP/IP, REST,SOAP등 표준 프로토콜
  • 19. EMBARCADERO TECHNOLOGIES 델파이 클라이언트와 멀티-티어 도입 델파이 클라이언트에서 멀티-티어 도입 방법은 각자의 상황과 목적에 따라 다양합니다. 멀티-티어 도입을 위한 방안을 구분하면: 1. 기존의 웹서비스 서버 활용 ‒ SOAP 서버, REST 서버, 표준 웹 프로토콜을 지원하는 미들웨어 2. 데이터스냅 서버 개발 ‒ 델파이로 미들웨어 서버를 손쉽게 개발 (윈도우 서버가 필요) ‒ 데이터 모듈과 데이터 액세스 모듈을 캡슐화 ‒ 데이터스냅의 “서버 메소드”를 활용하면 클라이언트에서도 로컬 처럼 개발 3. BaaS (Backend as a Service) 서비스 등 클라우드 활용 ‒ 모바일의 수익 모델 구현에 필요한 백엔드 서버 서비스를 클라우드에서 제공 ‒ Kinvey, Parse 등
  • 20. EMBARCADERO TECHNOLOGIES 델파이 클라이언트 개발 1. GUI와 업무 로직을 분리 ‒ 업무 로직은 모든 플랫폼에서 공유 ‒ GUI는 플랫폼 마다 준비 ‒ 윈32 / 윈64 / OS X는 동일한 GUI로 구성 ‒ 안드로이드 / iOS 는 동일한 GUI로 구성 2. 모바일 GUI는 기능 세분화 ‒ 모바일 앱은 기본적으로 “단일 기능 형” ‒ 한정된 화면의 크기 ‒ 모바일 GUI는 현장에서 필요한 기능을 즉시 사용하려는 목적에 부합 ‒ PC GUI는 사무실에서 모든 기능을 한번에 처리하려는 목적에 부합
  • 21. EMBARCADERO TECHNOLOGIES 어떻게 시작하나요? 1. 시작은? 컨버전 질의서 ‒ 컨버전 질의서 (체크리스트) : http://tech.devgear.co.kr/1708 ‒ 작성 후 데브기어로 전달 (무상으로 검토 의견을 드립니다) 2. 개별 방문 컨설팅이 필요하다면? ‒ 관련 컨설팅 회사 또는 고급 개발자를 연결하여 드립니다. (유상, 이 경우에서 체크리스트는 미리 작성) ‒ 혹시! 마이그레이션 경험이 풍부하고 컨설팅 서비스를 하고자 하는 경우에도 연락 바랍니다. 데브기어 : ask@embarcadero.kr 마이그레이션 담당자 앞
  • 22. 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/