2. Embarcadero Technologies Copyright 2016
AGENDA
1. 엔터프라이즈 DB연결을 더욱 빠르고 간편하게
: DBMS별 FireDAC 활용법을 알아봅니다.
: [데모] FireDAC의 성능과 주요 기능을 데모를 통해 살펴봅니다.
2. 윈도우10 지원하기: 윈도우 10 전용 컴포넌트와 스타일, 기능(WinRT API)
: 윈도우 10 지원하기 위한 윈도우10 컴포넌트, 스타일, 기능을 살펴봅니다.
: [데모] 고전 윈도우 스타일의 애플리케이션을 윈도우 10 컴포넌트와 스타일을 적용해
현대식으로 탈바꿈
3. 윈도우 애플리케이션을 모바일과 사물인터넷으로 확장하기
: VCL 프로젝트에 최신 IT기술(모바일, IoT, 클라우드 등)을 어떻게 적용할 수 있는지
살펴봅니다.
4. 멀티-티어 개발을 더욱 쉽고 편하게
: 더 이상 미들웨어를 직접 구축할 필요가 없습니다! 이미 완성된 서버에 애플리케이션을
연결만하세요.
여러분의 애플리케이션은 더욱 넓은 영역으로 확장될 수 있습니다.
3. Embarcadero Technologies Copyright 2016 3
새로운 인스톨러
최신식의 불편함 없는 더욱 빠른
설치 가능
QPS
전체 제품의 품질, 성능, 안정성 확보
네이티브
컴파일러, 라이브러리, 파이어몽키,
VCL, 윈도우10, 모바일...
개발자 생산성
디바이스에서 FireUI 앱
미리보기,폼 디자이너 분리
사물인터넷(IoT)
핵심 기술 강화,
ThingWare, ThingConnect,
ThingPoints
엔터프라이즈 영역에서 강하다.
FireDAC 데이터베이스 액세스,
EMS REST 서비스, 클라우드
서비스
RAD STUDIO 10.1 베를린 한 눈에 보기
4. Embarcadero Technologies Copyright 2016
어떻게 시작하나요?
1. 시작은? 마이그레이션 체크리스트, 가이드
‒ 마이그레이션 체크리스트(2page),
마이그레이션 체크리스트 작성 가이드 :
http://tech.devgear.co.kr/1708
‒ 작성 후 데브기어로 전달
(무상으로 검토 의견을 드립니다)
2. 개별 방문 컨설팅이 필요하다면?
‒ 컨설팅 회사 또는 고급 컨설턴트를 소개합니다.
(유상, 이 경우에서 체크리스트는 미리 작성)
‒ 혹시! 마이그레이션 경험이 풍부하고
컨설팅 서비스를 원하는 분도 연락 바랍니다.
데브기어 : ask@embarcadero.kr 마이그레이션 담당자 앞
체크리스트, 가이드 작성방법 소개 웹세미나 다시보기 : https://youtu.be/aPKlSKB4PiU
5. Embarcadero Technologies Copyright 2016
마이그레이션 워크샵(4일) & 컨설팅(유상)
1. 여러분의 코드를 직접 마이그레이션 진행
‒ 소스(PAS) 파일 200개 분량 마이그레이션 완료 목표
‒ 회사 프로젝트에 최적화된 마이그레이션 가이드 문서 확보
‒ 마이그레이션 문제 해결에 소요되는 시간&비용 절감
‒ 오래된 애플리케이션을 최신 윈도우에서 작동하도록
업그레이드
‒ 소프트웨어 품질 향상, DB 성능 향상 및 간편한 배포
2. 마이그레이션 워크샵 참석대상
‒ 오래된 버전을 단기간에 마이그레이션 해야한다.
‒ 마이그레이션을 통해 소프트웨어 품질도 향상 하고자 한다.
‒ BDE 기반 애플리케이션을 FireDAC으로 마이그레이션
해야한다.
‒ 최신 버전이 가진 기능, 편의성, 성능 등 장점을 활용하고자
한다.
워크샵 과정 안내 & 신청 : http://www.devgear.co.kr/support/education/delphi_migration/
7. Embarcadero Technologies Copyright 2016
FIREDAC 주요 기능
고성능 네이티브 데이터베이스 엑세스
이기종 데이터베이스를 넘나들며 컴포넌트 공유
데이터베이스 별 고유기능 사용
메모리 기반 데이터셋과 로컬-SQL
로깅, 모니터링과 추적(tracing)
트렌젝션, 전처리 그리고 캐스캐이딩
ETL: 데이터 가져오기, 내보내기
캐쉬업데이트와 Auto-Inc 필드
Array DML과 그 이상
10. Embarcadero Technologies Copyright 2016
FIREDAC 사용
http://embt.co/firedac-oracle
http://embt.co/firedac-mssql
http://embt.co/firedac-mongodb
11. Embarcadero Technologies Copyright 2016
FIREDAC으로 오라클 데이터베이스 사용
http://embt.co/firedac-oracle
오라클 데이터 타입
PL/SQL 테이블
PL/SQL 레코드
REF 커서
중첩된 커서
암시적 ROWIDs
DBMS_OUTPUT
관리자 기능
Samples:
BFile (External
LOBs)
CQN (Continuous
Query
Notification)
NestedCursors
PLSQLAssocArray
PLSQLRecs
SelectFromArray
• Working with Oracle - http://embt.co/firedac-oracle
12. Embarcadero Technologies Copyright 2016
FIREDAC으로 마이크로 소프트 SQL 서버 사용
http://embt.co/firedac-mssql
OS 인증
다중 활성 레코드
셋(MARS: Multiple
Active Result Sets)
공유 메모리 전송
확장된 메타데이터
Samples:
FileStream
QueryNotify
TVP (Table-Valued
Parameters)
14. Embarcadero Technologies Copyright 2016
FIREDAC 성능과 기능들
FireDAC의 성능
• https://ultimatedelphi.wordpress.com/2016/04/14/database-connectivity-frameworks-in-delphi/
FireDAC 주요기능 10가지 - http://tech.devgear.co.kr/410454
1 FireDAC 소개
2 FireDAC으로 DBMS 사용 내역 추적, 모니터링 하기
3 캐쉬를 이용한 업데이트와 자동증가필드(Identity) 적용
4 ArrayDML로 30배 빠르게 데이터 입력하기
5 Cascading Options: 고급기능을 활용 할 수 있는 FireDAC 옵션
6 전처리: SQL문을 유연하게 작성할 수 있는 Param와 Macro 사용하기
7 FireDAC ETL: 데이터 내보내기, 가져오기 기능 구현하기
8 TFDMemTable: 메모리 기반 데이터셋 사용하기
9 LocalSQL: DB에서 가져온 데이터(데이터셋)를 대상으로 다시 SQL쿼리 실행하기
10 reFind 도구를 이용해 BDE 프로젝트를 Fi`reDAC으로 마이그레이션 따라하기
[따라하기] FireDAC으로 오라클(Oracle) DB와 연결하기
• http://tech.devgear.co.kr/410237
15. Embarcadero Technologies Copyright 2016
FIREDAC 추가 정보
엠바카데로 기술문서
• FireDAC 기술문서 - http://embt.co/docwiki-firedac
• Working with Oracle - http://embt.co/firedac-oracle
• Connecting to MS SQL - http://embt.co/firedac-mssql
• Connecting to MongoDB - http://embt.co/firedac-mongodb
• 145 FireDAC Article - http://embt.co/docwiki-firedac-category
16. Embarcadero Technologies Copyright 2016
FIREDAC 추가 정보
CodeRage 9
• [델파이] Tips, Tricks and News - http://embt.co/cr9-firedac-tips
• [C++빌더] Tips, Tricks and News - http://embt.co/cr9-cpp-firedac-tips
• 이기종 데이터 시스템 통합(Heterogeneous Data System Integration) -
http://embt.co/cr9-hetro
CodeRage X [YouTube Replays]
• [델파이] DB Scripting http://embt.co/firedac-db-scripting
• [C++빌더] DB Scripting http://embt.co/cr-cpp-firedac-scripting
• [델파이] NoSQL with MongoDB #1 http://embt.co/cr-mongo1
• [델파이] NoSQL with MongoDB #2 http://embt.co/cr-mongo2
• [C++빌더] NoSQL with MongoDB #1 http://embt.co/cr-cpp-mongo1
• [C++빌더] NoSQL with MongoDB #2 http://embt.co/cr-cpp-mongo2
• Migration to FireDAC http://embt.co/cr-firedac-migration
18. Embarcadero Technologies Copyright 2016
왜 WINDOWS 10인가?
윈도우 중 가장빠른 채택률
2016년 3월 30일 기준 2억 7천만의 윈도우 10 장치
윈도우 10 채택 기업 꾸준한 증가
VCL은 윈도우 10으로의 최고의 마이그레이션 경로
제공
아직 이전버전 윈도우 지원을 유지
프로젝트 센터니얼(Microsoft 출시예정)을 통해 윈도우
10 스토어 배포
36
19. Embarcadero Technologies Copyright 2016
RAD STUDIO WINDOWS 10 지원
전대미문의 원도우 플랫폼 지원
VCL은 가장 뛰어나고, 가장 완벽한 네이티브 윈도우
컴포넌트 라이브러리입니다.
Win32, Win64 그리고 WinRT API를 통합
Windows 10 전용 컴포넌트
새로운 윈도우 10 UI 컨트롤
윈도우 10 공지와 연락처 컴포넌트
10 시애틀 이후 사용가능
37
31. Embarcadero Technologies Copyright 2016
애플리케이션 성능향상
병렬 프로그래밍 – 패러럴 라이브러리
64bit 애플리케이션
FireDAC 데이터베이스 엑세스
메모리 테이블(TMemTable)
로컬 SQL(로컬 캐쉬에서 쿼리)
RTL 개선(10.1 베를린)
정규표현식 성능 개선
버퍼를 이용한 파일 스트림(TBufferdFileStream)
메모리 기반 IniFile
56
32. Embarcadero Technologies Copyright 2016
64 BIT 애플리케이션 지원
1. 델파이와 윈도우 64 bit
‒ 동일한 소스코드
‒ 동일한 VCL
‒ 동일한 RTL
‒ 동일한 Windows API
2. 주의 할 점
‒ 32 bit로 컴파일된 라이브러리 사용할 수 없음
‒ 64 bit에서는 데이터 패킹 시 8byte로 하는 것이 좋음
‒ 포인터와 핸들에 Integer, DWORD로 캐스팅하지 말것, 64 bit API 사용권장
32 bit 64 bit
Integer 4 bytes
Int64 4 bytes
NativeInt 4 bytes 8 bytes
Pointer 4 bytes 8 bytes
• SendMessage(hWnd, WM_SETTEXT, 0, Integer(@MyCharArray)); LPARAM
• Message.Result := Integer(Self); LRESULT(Self);
• SetWindowLong(hWnd, GWL_WNDPROC, Logint(@MyWIndowsProce));
SetWindowLongPtr(hWnd, GWLP_WNDPROC, LONG_PTR(@MyWIndowsProc));
http://docwiki.embarcadero.com/RADStudio/Berlin/en/Converting_32-bit_Delphi_Applications_to_64-bit_Windows
33. Embarcadero Technologies Copyright 2016
10 시애틀 IDE 생산성 향상
IDE 대용량 메모리
주소
2배의 메모리 사용
IDE의 멀티 모니터
지원
논비주얼 컴포넌트
감추기
오브젝트 인스펙터
필터링
코드 네비게이션 툴바
클립보드 히스토리
멀티 붙여넣기
프로젝트 통계
56
34. Embarcadero Technologies Copyright 2016
10.1 베를린 생산성 향상
기존 지원되던 기능이 더 강화되었습니다.
새로운 인스톨러, 강화된 GetIt 패키지 매니저
FireUI 앱 미리보기
새로운 최소화된 Welcome 페이지
폼 디자이너 분리(VCL, FMX 용)
멀티-모니터 활용을 위한 옵션 지원
HighDPI 지원 강화
Visual Live Bindings 기능 강화
57
38. Embarcadero Technologies Copyright 2016
왜 모바일과 FIREMONKEY인가?
모바일 플랫폼은 가장 빠르게 성장하는 운영체제
안드로이드와 iOS 사용자는 약 20억명
선호하는 모바일 기술의 앱만 남을 것
네이티브 앱은 장치의 기능을 활용가능
FireMonkey 플랫폼은 모바일과 데스크탑에 대해 하나의
소스코드 지원
델파이와 C++빌더는 모바일(또는 모바일과
데스크탑 통합)로 원할한 확장 가능
24
39. Embarcadero Technologies Copyright 2016
RAD 아키텍처) 파이어몽키-크로스-플랫폼,
네이티브 앱
단 하나의 소스코드, 멀티-디바이스 아키텍처
4개의 운영체제 네이티브 플랫폼 컴파일러,
32bit와 64bit CPU, Intel과 ARM CPU
최대 성능과 보안 제공
크로스 플랫폼 런타임 라이브러리와 데이터베이스
엑세스
메모리, 파일 시스템, 쓰레딩, 예외처리, 데이터 테이블, XML,
JSON, HTTP와 REST 클라이언트 등
FireMonkey 시각적인 컴포넌트 라이브러리
유연한 디자이너, 스타일링, 플랫폼 컴포넌트
단한번의 UI 작성, 디자인 타임에서 커스터마이즈,
어디로든지 배포
CROSS
PLATFORM
NATIVE
9
40. Embarcadero Technologies Copyright 2016
하나의 코드, 하나의 팀, 하나의 스케줄
하나의 코드 하나의 팀 주요 장점
개발자: 같은 시간에 더 인상적인 결과
제공
매니저: 앱 개발을 위한 모든작업이 하나
– 복잡성과 비용 감소
경영진: 빠른 시장 진입, 기술 주도권과
경쟁우위를 지킴
41. Embarcadero Technologies Copyright 2016
업계 최초: FIREUI 멀티-디바이스 디자이너
FireUI: 마스터 뷰 공유와 개별 뷰
서로 다른 플랫폼과 폼팩터 지원을 위해 폼을 시각적으로 재정의
새로운: FireUI 멀티 디바이스 미리보기와 실제 장치에서
FireUI 앱 미리보기
26
44. Embarcadero Technologies Copyright 2016
광범위한 IOT 연결
사물인터넷 기능으로 데스크탑과
모바일 앱을 확장
블루투스, 블루투스 LE와 Wi-Fi
ThingConnect – 겟잇 패키지 매니저에서
설치할 수 있는 IoT 컴포넌트
ThingPoint로 분산된 장비 모니터링
근접인식, BeaconFence
센서 데이터 수집
11
45. Embarcadero Technologies Copyright 2016
왜 사물인터넷인가?
“사물인터넷(IoT)”: 가장 크게 성장중인 IT 분야
대대적인 홍보와 함께 비용은 더 낮아지고, 유비쿼터스 화
되고 있는 핵심 기술
업무 자동화, 생활 자동화
분산 컴퓨팅 파워: 스마터 센서, 사물인터넷 제품, 모바일
디바이스…
40
46. Embarcadero Technologies Copyright 2016
RAD STUDIO RTL 연결과 사물인터넷
앱 테더링(AppTethering)
프로토콜 확장, 암호화 잠금 기능 등
블루투스(Bluetooth)
TBluetooth와 TBluetoothLE 컴포넌트로
비콘(Beacon) 지원 등
Wi-Fi
HTTP와 REST 클라이언트 라이브러리를
이용해 TCP/IP 기반 디바이스에 연결
46
47. Embarcadero Technologies Copyright 2016
강화된 블루투스 지원 기능 - 10.1 베를린
블루투스 LE 지원(Windows 10 / WinRT)
블루투스 광고데이터 지원
비콘(Beacons)
EddyStone 비콘 지원(새로운 구글 포맷): iOS, Android
용
EddyStone UID, URL, 원격 측정 지원
BeconFence 기능 강화
43
48. Embarcadero Technologies Copyright 2016
THINGCONNECT: 사물인터넷 연결 프레임워크
IoT 스마트 디바이스, 센서, 웨어러블 용 개발을 위해 바로
다운로드 받아 사용할 수 있는, 커스터마이징 가능한 사용
방법이 매우 쉬운 API 컴포넌트
44
50. Embarcadero Technologies Copyright 2016
REST 엔드-포인트 퍼블리싱
통합 미들웨어
애플리케이션 서비스
An all-in-one turnkey foundation for your application back end APIs and Services.
Integrations provide out of the box connectivity with external servers, applications and services.
A collection of ready to use key built-in services to power your application. Includes core functions such as user
directory services and user management, push notifications, user location tracking, and built-in data storage.
완벽한 백엔드 서비스 (델파이, C++빌더 용)
RAD Server 멀티티어 쉬운 제작
RAD Server is the turn-key RAD application server that provides a robust “out of the box” back-end platform on which to build and deploy your Delphi and C++Builder
application services. With RAD Server there is no longer a need to build your own back-end servers and services. Instead simply load Delphi and/or C++ methods into
RAD Server and publish your back-end code to any client via managed REST/JSON end-points. Built-in services and integrations provide all the most common
functionality and access to key external systems. All in a single easy to use and easy to deploy server.
RSX
48
51. Embarcadero Technologies Copyright 2016
API 분석
All REST API end-point activity is
recorded and measured for
robust statistics tracking and
analytics. Analyze user, API, and
services activity to gain insight
into how your application is being
utilized.
REST 엔드-포인트 퍼블리싱
Easy to use API publishing of
business logic. Any Delphi or C++
code can be hosted as an API
and auto-published as
REST/JSON endpoints which are
measured and managed by RAD
Server.
데스크탑, 모바일, 웹
All C++ and Delphi code hosted
on RAD Server are published as
REST/JSON end points
consumable by any type of client
for extreme flexibility and future-
proofing.
접근 제어
Group and user level access to
control to all application APIs.
Control who has access to what
functionality. All access is user
authenticated.
손쉬운 REST API 엔드-포인트 생성, 퍼블리싱, 관리
REST 엔드-포인트 퍼블리싱
RAD Server makes it fast and easy to build flexible back-end servers for your multi-tier application solution. Developers simply load Delphi and C++ business logic into
the server, and managed REST/JSON API end-points are generated. Developers or admins can easily configure API level access control to user groups, and measure
and analyze application usage at the API, user, or service level. Since your Delphi and C++ APIs are published as heterogeneous REST/JSON end-points, RAD Server
easily supports virtually any client type from VCL and FMX Desktop, Mobile and Wearable clients to popular JavaScript Web Frameworks. RAD Server easy to build and
deploy robust heterogeneous multi-tier solutions.
{API}
49
52. Embarcadero Technologies Copyright 2016
엔터프라이즈 급 SQL 데이터 접속 및 커넥션 풀링
High performance built-in connectivity to all popular Enterprise RDBMS
servers. Based on FireDAC developers have easy application connectivity
and a wealth of features working with data from a variety of sources.
Connection pooling vectors client connections thru your application
middleware conserving connections and simplifying configuration and client
deployment
클라우드 서비스
Easily integrate REST cloud
services from a variety of cloud,
social, and BAAS platforms such
as Google, Amazon, Facebook,
Kinvey, Parse, and more.
고성능 통합(데이터, 클라우드, 스마트 디바이스)
통합 미들웨어
RAD Studio includes high performance integrations that make it easy to connect Enterprise Data, Cloud Services, and Smart IoT devices into your multi-tier application.
RAD Studio’s Enterprise DACs enable fast pooled connections to Oracle, Microsoft SQL Server, DB2, Sybase, and more. Client connection pooling also eliminates
complex and heavy weight RDBMS client drivers and configurations. Clients applications connect to RAD Server via lightweight REST for data access, application
services, and application API calls. RAD Server includes the new IoT ThingConnect and ThingPoint IoT Edgeware making it easy to connect a wide array of wireless
smart devices and sensors into your application solution, even in remote and difficult to access locations.
사물인터넷 스마트 디바이스
IoT Connection components
enables fast and easy integration
of IoT Smart devices into your
app clients or back-end.
RADServer’s IoT Edgeware
extends it’s reach to where your
Bluetooth IoT devices are
physically located.
Your Application
50
53. Embarcadero Technologies Copyright 2016
JSON Datastore
Easily store and retrieve JSON
data securely and without
requiring a separate database
server.
푸쉬(Push) 알림
Send programmatic or on-
demand notifications to your
application users.
사용자 위치/근접 거리 파악
Track user movement both
indoors and outdoors, and
respond to proximity events when
users enter or exit custom
beacon zones or approach
designated beacon points.
사용자/그룹 관리
Create and manage users,
groups, and access control via
the RADServer management
portal.
애플리케이션 기능 향상을 위해 내장된 핵심 서비스
핵심 애플리케이션 서비스
RAD Server includes a powerful set of built-in core servers to power your application back-end eliminating the need to build the key foundational components of your
server application. Core services like User directory services, authentication, and access control, push notifications, JSON data-storage, and user proximity and
indoor/outdoor user location tracking and fencing.
51
54. Embarcadero Technologies Copyright 2016 54
새로운 인스톨러
최신식의 불편함 없는 더욱 빠른
설치 가능
QPS
전체 제품의 품질, 성능, 안정성 확보
네이티브
컴파일러, 라이브러리, 파이어몽키,
VCL, 윈도우10, 모바일...
개발자 생산성
디바이스에서 FireUI 앱
미리보기,폼 디자이너 분리
사물인터넷(IoT)
핵심 기술 강화,
ThingWare, ThingConnect,
ThingPoints
엔터프라이즈 영역에서 강하다.
FireDAC 데이터베이스 액세스,
EMS REST 서비스, 클라우드
서비스
RAD STUDIO 10.1 베를린 한 눈에 보기