EMBARCADERO
TECHNOLOGIES
Agenda
• 엠바카데로 (솔루션과 전략)
• 사물인터넷(IoT) 앱 개발
• 연결된 앱 (Connected Apps) 그리고 모든 것에 연결
• 엔터프라이즈 기업을 위한 사물인터넷(IoT)
• 헬스캐어 시나리오 구현
• 데모로 살펴보는 사물인터넷 기술
EMBARCADERO
TECHNOLOGIES
5
Founded 1993
3.2 Million Customers
500+ Employees in 29 Countries
5 RD Centers of Excellence
World Wide Sales Support
Embarcadero Technologies
9.
EMBARCADERO
TECHNOLOGIES
수백만의Delphi/C++ 개발자는 코딩 중…
• 연간 97 억 줄
• 10만 윈도우 애플리케이션
• 80% 적은 코드 – 1 줄당 1,700원
• 68조원을 개발자가 연간 절감
• 이제, 사물인터넷으로 확장
10.
EMBARCADERO
TECHNOLOGIES
멀티-‐디바이스순수 네이티브
Apple
Google
Microso
HTML5
Appcelerator
Kony
단일
디바이스
멀티
디바이스
스크립트
순수 네이티브
멀티-‐디바이스
순수 네이티브
Embarcadero
찬성
네이티브 사용자경험
(UX)
네이티브 성능
보안성
찬성
단일 팀
개발 비용이 더 작음
신속한 시장 진출
EMBARCADERO
TECHNOLOGIES
Embarcadero,
XCode
Appcelerator,
HTML5,Sencha,
Kendo, Edge,
PhoneGap, Corona
Xamarin,
Dalvik
Titanium.Geolocation.distanceFilter
= .25;
Ti.Geolocation.purpose = Callbacks
Are Your Friend”;
// make the API call
Ti.Geolocation.getCurrentPosition(func
tion(e) {
// do this stuff when you have a
position, OR an error
if (e.error) {
Ti.API.error('geo - current
position' + e.error);
return;
}
// got the location information
Ti.App.info('got a location
',JSON.stringify(e));
}); JavaScript
100100110010
011001001100
100110010011
001001100100
110010
ARM Binary
Bytecode
IL
JavaScript 런타임
인터프리터
가상 머신 (VM) 런
타임
네이티브 스크립트 가상머신
13.
EMBARCADERO
TECHNOLOGIES
순수네이티브로 컴파일된 코드 – 모바일의 경우
앱 소스 코드
FM 프레임워크
Cocoa SDK Native Developer Kit
.app in IPA .so in APK
14.
EMBARCADERO
TECHNOLOGIES
PlatformVendor
Tools
Embarcadero
HTML5Cross
Platform
Appcelerator Xamarin
도구
XCode,Visual Studio,
Eclipse
RADStudio
Adobe, Sencha,
Kendo, HTML5Builder
Titanium Mono
플랫폼
Win or Mac or iOS
or Android*
Mac/Win/iOS
Android* (2013)
iOS/Android iOS/Android iOS/Android
단일 소스/
멀티-디바이스
No Yes Yes 일부 일부
런타임 ARM ARM JavaScript JavaScript BytecodeVM
순수 네이티브 스크립트 VM
순수 네이티브
or
스크립트?
*Android NDK 는 순수 네이티브 – Android ADK (Java/DavlikVM)은 순수 네이티브 아님
15.
EMBARCADERO
TECHNOLOGIES
순수네이티브,
컴파일된 코드
• 순수 네이티브,
컴파일된 코드 (RAD
스튜디오 사용)는 스크립트가 없으며 하드
웨어 CPU에서 바로 작동되므로 다음과 같은 장점을 가짐:
– 빠르다
–
Uncompromised
naNve
device
performance
with
full
naNve
API
and
CPU
control
when
needed,
and
not
limited
by
or
slowed
by
script
interpreters
and
VMs.
– 예측 가능하다
–
Apps
run
directly
on
the
device
CPU,
as
intended
by
the
device
vendors,
and
are
not
slowed
by
addiNonal
soRware
layers
and
random
garbage
collecNon.
– 사용자경험(UX)이 더 뛰어나다
–
Apps
take
full
advantage
of
device
capabiliNes
and
performance.
EMBARCADERO
TECHNOLOGIES
왜사물인터넷 (IoT) 인가?
• 사물인터넷(IoT)은 우리가 디바이스를
사용하고 상호작용하는 방식을 바꾸고
있습니다
• 기기/웨어러블은 새로운 사용자 경험
(UX)
입니다
• 앱은 더이상 혼자있을 수 없습니다.
앱은 디바이스, 기기, 클라우드, 데이터
요소로 분산되어서 존재합니다.
WorksWith
27.
EMBARCADERO
TECHNOLOGIES
현재의앱을 사물인터넷으로 확장
Appmethod
breath
new
life
into
exisNng
applicaNons
by
enabling
developers
to
easily
IOT
extend
exisNng
apps
connecNng
devices,
sensors,
data
and
services.
연결된 앱들을 구축
With AppTethering, developers easily extend an app user
experience across devices and gadgets. This is especially
powerful for extending the utility of existing desktop and mobile
apps. Virtually all industries can immediately benefit, such as
Point of Sale, Food Services, Healthcare, Manufacturing and
Shipping but the applications are limitless.
28.
EMBARCADERO
TECHNOLOGIES
수천가지의디바이스와 동작
Appmethod’s
integrated
wireless
support
(Bluetooth
and
Wifi
)
works
with
thousands
of
“off
the
shelf”
consumer
and
industry
specific
devices.
Appmethod’s
approach
make
it
easy
to
integrate
virtually
any
device
into
the
app
user
experience,
and
even
support
mulNple
device
vendors
with
the
same
code.
Bluetooth WiFi 내장
Appmethod's integrated Bluetooth and WiFi support
in the RTL and easy to use components enable
developers to easily connect to any wireless and
Internet connected gadgets, sensors and devices.
29.
EMBARCADERO
TECHNOLOGIES
AT
AT
PC
앱
모바일 앱
스마트폰 앱
AT
• 앱을 서로서로 연결
• 디바이스 자동 탐색
• 다른 디바이스의 이벤트와 동작을 제어
• 앱을 원격 조정
• 데이터 송수신
• Bluetooth WiFi 지원
앱 테더링 (AppTethering)
30.
EMBARCADERO
TECHNOLOGIES
• 개발자들이 상호 연결되는 새로운 앱을 만들 수 있다:
앱들이
서로서로 연결되고, 기기, 클라우드 서비스, 데이터에 연결
• RAD 스튜디오와 앱메소드는 연결된 앱들의 새로운 세상을 위한
개발 도구
• 상호 연결의 주요 4 영역:
– 모바일/PC
디바이스
– 기기
– 클라우드 서비스
– 엔터프라이즈 데이터
RAD스튜디오와 사물인터넷(IoT)
EMBARCADERO
TECHNOLOGIES
엔터프라이즈모빌리티 서비스
(Enterprise
Mobility
Services,
EMS)
• 턴키 미들웨어 서버,
기업용 사물 인터넷 기능 내장
– 사용자 관리, 인증
– REST 위에 직접 만든 API들을 오픈
– 엔터프라이즈 데이터베이스를 REST를 통해 연결 (Oracle,
MS
SQL
Server,
DB2,
Informix,
Sybase,
등)
– 모바일 임베디드, 서버-‐사이드 DB 내장
– 웹 콘솔을 통해 사용자, 디바이스,
API
사용 분석
36.
EMBARCADERO
TECHNOLOGIES
ConnecNng
to
All
Things
33
RTL
App
Tethering 컴포넌트
Framework
BT
Speaker
Google
Glass
Samsung
TV
Wireless
Scale
Carplay
XML
Device
Profiles
(100’s
to
1000’s)
37.
EMBARCADERO
TECHNOLOGIES
기업용IOT
34
EMS
서버
• 사용자 인증
• API
호스팅
• 기업 데이터 액세스
• 데이터 저장소
• IOT
디바이스 접근 통제
EMS
IOT
Repeater
사용자 근처의 사물
IOT
Repeater 근처의 사물
EMS
서버 근처의 사물
모든 클라우드 서비스
기업 내의 모든
데이터와 서비스
38.
EMBARCADERO
TECHNOLOGIES
Example:
병원/의료영상 검사실
35
EMS
서버
• 사용자 인증
• API
호스팅
• 기업 데이터 액세스
• 안전한 데이터 저장소
• IOT
디바이스 접근 통제
EMS
IOT
Repeater
아웃365
캘린더
대기실
EMS
IOT
Repeater
영상 검사실
Oracle
암호화된 데이터
IT
BAAS
의료진의 태블릿
환자의
폰
환자의
스마트워치
다음 환자
호출
대기시간
표시
Imaging
Center
Michael,
Dr.
Jones
will
See
you
now.
Close
View
간호사실
EMS
IOT
Repeater
간호사
태블릿
MRI
스캐너
39.
EMBARCADERO
TECHNOLOGIES
Example:
스마트 공장
36
EMS
서버
• 사용자 인증
• API
호스팅
• 기업 데이터 액세스
• 안전한 데이터 저장소
• IOT
디바이스 접근 통제
EMS
IOT
Repeater
생산 라인
EMS
IOT
Repeater
Oracle
암호화된 데이터
IT
엔지니어의 태블릿
엔지니어의 폰
엔지니어의
스마트워치
생산 현황
표시
로봇
자재 창고
실내 온도
습도
센서
재고 관리 로봇
EMBARCADERO
TECHNOLOGIES
데모1.모바일과 심박센서 연결
진료용 PC
환자의
심장박동
센서
환자의
폰
or
워치
응급실 태블릿
가족의
폰 or
태블릿
Cloud
(BaaS)
응급
AT
1. 심박센서 연결(블루투스 LE)
2. 심박정보 모니터링 앱(스마트폰, 스마
트 패드, 웨어러블 디바이스)
3. 심박데이터 클라우드 등록/조회(BaaS)
4. 위급사항 발생 시 원격 메시지 전송
(BaaS,
GCM:
Google
Cloud
Message)
GCM
가족
병원
환자
69.
EMBARCADERO
TECHNOLOGIES
데모2.심박데이터 활용 모바일 확장
가족
병원
환자
진료용 PC
환자의
심장박동
센서
가족의
폰 or
태블릿
Cloud
(BaaS)
응급실 태블릿
AT
환자의
폰
or
워치
GCM
1. 진료PC에서 심박데이터 클라우드 조회
(BaaS)
2. 진료PC에서 환자에게 메시지전달(GCM)
3. (사내에서)진료 데이터를 태블릿으로
제공(모바일확장,
AppTethering)
• 조회한 데이터 셋 일괄 전송
(FireDAC)
• 문자열, 파일(스트림) 전송
• 폰과 태블릿용 최적UI 제공
(FireUI)
EMBARCADERO
TECHNOLOGIES
블루투스기술 종류
클래식 블루트스
블루투스 LE(Low
Energy)
• 블루투스 LE 보타 처리량이 뛰어나다.
• 데이터 전송속도 2Mbps
• 소비전력이 크다.
• 표준 블루투스 프로파일(SPP,
DUN,
PAN)
에 근거한다.
• 프로토콜은 최대 7 솔레이브로 제한된다.
• 소량의 데이터를 주기적 전송 시 적합
• 데이터 전송속도 100Kbps 미만
• 소비전력이 매우 적다.
• GATT 프로파일에 근거한다.
• 다수의 솔레이브를 지원한다.
• 연결 시간이 짧고 페어링이 필요없다.
74.
EMBARCADERO
TECHNOLOGIES
일반속성 프로파일(GATT)
• 애플리케이션에서 표준 서비스 사용을
위해 서비스별로 정의된 값
• GATT(일반
속성
프로파일)
사양
– h/ps://developer.bluetooth.org/ga//
services/Pages/ServicesHome.aspx
Bluetooth
Base
UUID
:
00000000-‐0000-‐1000-‐8000-‐00805F9B34FB
Heart
Rate
:
0000180D-‐0000-‐1000-‐8000-‐00805F9B34FB
Heart
Rate
Measurement
:
00002A37-‐0000-‐1000-‐8000-‐00805F9B34FB
Body
Sensor
LocaNon
:
00002A38-‐0000-‐1000-‐8000-‐00805F9B34FB
75.
EMBARCADERO
TECHNOLOGIES
클라우드수화물 무게 기록
BALANCE
BLUETOOTH
SMART
SCALE(WAHOO)
사용기술
• 블루투스 LE
• 클라우드(BaaS)
h/p://blog.hjf.pe.kr/274
76.
EMBARCADERO
TECHNOLOGIES
스마트홈 컨트롤러
Z-‐Wave,
VeraLite
Home
Controller
사용기술
• REST
API
over
WiFi
• JSON
h/p://blog.appmethod.com/developing-‐the-‐internet-‐of-‐things-‐
kwikset-‐smartcode-‐deadbolt-‐and-‐veralite-‐smart-‐home-‐controller
77.
EMBARCADERO
TECHNOLOGIES
가정용조명 컨트롤러
Philips
Hue
Lights
사용기술
• REST
API
over
WiFi
• JSON
h/p://blogs.embarcadero.com/davidi/2014/02/03/43493
EMBARCADERO
TECHNOLOGIES
MEAP(Mobile
Enterprise
ApplicaNon
Pla`orm)
REST
Client
DataSnap
(미들웨어)
Cloud
Service
(BaaS)
EMS
(기업형 모빌
리티 서비스)
백엔드 데이터와 연결할 수 있는 다양한 방법(VCL
/
FMX)
83.
EMBARCADERO
TECHNOLOGIES
REST클라이언트
• 표준 웹 프로토콜(REST) 지원
• 기능별 독립 컴포넌트
– TRESTClinet
– TRESTRequest
– TRESTReponse
• JSON
데이터 자동분석
• REST
Debugger:
REST 분석툴
84.
EMBARCADERO
TECHNOLOGIES
데이터스냅
• 델파이로 만드는 미들웨어 서버
– 미들웨어 서버를 통해 엔터프라이즈
DBMS,
사내 보안데이터 연결
– TCP/IP,
HTTP,
HTTPS 지원
– 서버 데이터셋,
메소드 제공
– 서버의 메소드 자동 생성
– 모바일과 데스크탑 클라이언트 제공
DataSnap
서버
Database
85.
EMBARCADERO
TECHNOLOGIES
클라우드:
Backend
as
a
Service
• 클라우드 기반 백엔드 서비스
• 제공기능
– 데이터와 파일 스토리지
– 사용자 관리
– 원격 푸시 알림
– 소셜네트워크
– 사용자 분석
• Backend
컴포넌트 이용
h/p://www.youtube.com/playlist?
list=PLpSzuJvn7BTwNO6lw9dKHfqFf4bkrJhw2
86.
EMBARCADERO
TECHNOLOGIES
엔터프라이즈모빌리티 서비스(EMS)
• 턴키 방식의 REST
기반의 MEAP 미들웨어
– 사용자 정의
API
호스팅
– 엔터프라이즈 데이터베이스 엑세스
– 사내 서비스와 클라우드 엑세스
– 모바일과 데스크탑 클라이언트 지원
– 클라이언트용 컴포넌트 제공(BaaS 기반)
– 사용자,
REST
API 호출 웹 콘솔을 통해 분석
87.
EMBARCADERO
TECHNOLOGIES
앱테더링
• VCL 윈도우 앱을 모바일 장치로 가장
쉽게 확장하는 방법
– 신규개발 보다 상호보완과 확장
• 양측에 컴포넌트 추가로 커뮤니케이션
– 디바이스 자동 탐색 / 앱간 연결
– 앱을 원격 조정 / 데이터 송수신
– WiFi
블루투스 인터페이스 지원
h/p://tech.devgear.co.kr/406984
h/p://www.youtube.com/watch?v=OFNsLU7OXLk
EMBARCADERO
TECHNOLOGIES
마무리요약
• 사물인터넷 앱 개발과 커넥티드(Connected)!
• 모바일 헬스캐어 시나리오를 RAD
Studio로 구현
• 사물인터넷 센서와 기기 연결 앱 개발
– 블루투스/LE,
REST,
WiFi,
FireUI
• 엔터프라이즈 데이터 연결 기술
– BaaS,
앱테더링,
데이터스냅,
REST
클라이언트
• 최고의 RAD
Studio
EMBARCADERO
TECHNOLOGIES
도서안내
• 한 번에 개발하는 안드로이드/iOS 앱 with
델파이 –
2편 고급활용
• 김원경, 김현수, 오상현 저
• h/p://www.devgear.co.kr/book/
• 전국 서점에서 만나보세요
• 대상
• 따라하기 과정을 통한 학습
• 모바일 개발을 시작하는 개발자