SlideShare a Scribd company logo
RESTful API 정의


Representational state transfer (REST) is a style of software
   architecture for distributed hypermedia systems such as the World Wide Web.


REST is intended to evoke an image of how a well-designed Web application behaves:
a network of web pages (a virtual state-machine), where the user progresses through the application by
   selecting links (state transitions), resulting in the next page (representing the next state of the
   application) being transferred to the user and rendered for their use.


Key goals of REST include:
     •Scalability of component interactions
     •Generality of interfaces
     •Independent deployment of components
     •Intermediary components to reduce latency, enforce security and encapsulate legacy systems




                                                                                           출처: wikipedia
RESTful API 정의

 A RESTful web service (also called a RESTful web API) is a simple web service implemented using
 HTTP and the principles of REST.


  It is a collection of resources, with four defined aspects:
 •the base URI for the web service, such as http://example.com/resources/
 •the Internet media type of the data supported by the web service. (JSON, XML YAML…)
 •the set of operations supported by the web service using HTTP methods (e.g., GET, PUT, POST, or
 DELETE).
          Resource                           GET                             PUT                            POST                          DELETE
                                                                                                 Create a new entry in the coll
                               List the URIs and perhaps ot                                      ection. The new entry's URL i
Collection URI, such ashttp://                                   Replace the entire collection
                               her details of the collection's                                   s assigned automatically and Delete the entire collection.
  example.com/resources/                                         with another collection.
                               members.                                                          is usually returned by the op
                                                                                                 eration.
                             Retrieve a representation of t
Element URI, such ashttp://e he addressed member of the Replace the addressed mem Treat the addressed member
                                                                                                                             Delete the addressed memb
xample.com/resources/item1 collection, expressed in an a ber of the collection, or if it do as a collection in its own right
                                                                                                                             er of the collection
             7               ppropriate Internet media typ esn't exist,create it.           and create a new entry in it.
                             e.


 •The API must be hypertext driven.

                                                                                                                                   출처: wikipedia
RESTful API Thinking Point


• Web DAP/WAC에 대해서 정말 만족할 수 있을까?

   - Time To Market

   - App Performance in Device

   - 디바이스 기능 수용 범위



• 웹App, 페이지에서 디바이스별 고유 기능을 제어하려면 어떻게 할 수 있는가?



• REST는 비표준 아닌가?

  - 외부 Infra/Legacy 연동 부분

  - 디바이스 기능 연동 부분
RESTful API Thinking Point


• Web DAP/WAC에 대해서 정말 만족할 수 있을까?

   - Time To Market

   - App Performance in Device

   - 디바이스 기능 수용 범위



• 웹App, 페이지에서 디바이스별 고유 기능을 제어하려면 어떻게 할 수 있는가?



• REST는 비표준 아닌가?

  - 외부 Infra/Legacy 연동 부분

  - 디바이스 기능 연동 부분
Network 측면 RESTful Web API

► RESTful Web API 부분이 서비스 연동 목적에 맞게 표준화되고 있음



• OMA RESTful API               [OMA RESTful API]
 -JSON, XML 기준으로 제정             •RESTful Network API for Short Messaging V 1.0

 - Legacy의 외부 연동 API를 표준화       •RESTful Network API for Messaging V 1.0
                                •RESTful Network API for Terminal Location V 1.0
  (과금, 위치, 인증, 메시징…)
                                •RESTful Network API for Payment V 1.0
                                •RESTful Network API for Device Capabilities V 1.0
• GSMA One APIs
                                •RESTful Network API for Terminal Status V 1.0
 - 특히 과금, 위치 관련 서비스에 집중
                                •RESTful Network API for Third Party Call V 1.0 and Call Notification V 1.0
 - RCS로 확대할 예정
                                (jointly referred to as Call Control APIs)
                                •RESTful Network API for Audio Call V1.0
                                •RESTful Network API for Customer Profile V1.0
• GSMA/OMA 표준 제휴
                                •RESTful Network API for Anonymous Customer Reference Management
                                V1.0
• GSMA/OMA 표준                   •Autho4API V1.0
  W3C과 제휴 진행 예정                •Services User Profile Management V1.0
Device 측면 RESTful Web API

► Mobile Web Server를 통해 외부 Web Page에서 직접 디바이스를 제어하고 정보를 취합할 수 있음




             Web Service
               Cloud
                                                       Device 정보



                  서비스 제공                                           Connection           Conn.


                                                                    Device info Stack

                                          [여러 단말 기능 사용 가능]                   REST
                                          • 카메라 제어
                                          • 기기 연결 (UPnP, DLNA 등)
                                          • Android app 연동
                                          • 기기 제어 등




                 Native App 개발 없이도 Web Page 만으로 서비스를 런칭하거나 연동할 수 있음
        효과       Web Page에서 직접 고객 성향 및 디바이스 정보 접근을 통해 개인화 서비스 제공 가능
                 금융결제/개인보안 관련 솔루션 제공 가능
기본 DAP정보 전달

      Web API Call (Restful 방식)
 ex) GET http://127.0.0.1/DAP/contract




                                              1. Restful 방식의 Web API 호출 (GET
               URL Parsing
                                                 http://127.0.0.1/DAP/contract)

                                              2. 모바일 웹서버에서 URL를 파싱하여 device API
                                                 를 판단한다.
               Device API 경우
                                              3. device API일 경우, 해당 되는 Command를 호출
                                                 한다. (contractList() Call)

                                              4. 해당 안드로이드 Native API를 호출하여 데이터
                                                 를 얻는다.
           Device API Module
                                              5. 해당 데이터를 Request에 대한 응답으로 데이
      contractList() {                           터를 전달한다.
      getContentResolver().query(ContactsCo
      ntract.Contacts.CONTENT_URI,null,
      null,null, null);
      }




        Response Contract List


    Mobile Web Server (MWS)
단말간 DAP정보 전달

    Web API Call (Restful 방식 - Remote)
  ex) GET http://61.15.15.222/DAP/contract



로컬단말                                                       리모트단말

               URL Parsing                                               Receive Request



               Remote인 경우
                                                                            Device API 경우




             Xmpp Server 연결                                             Device API Module

                                                                   contractList() {
                                                                   getContentResolver().query(ContactsCo
                                                                   ntract.Contacts.CONTENT_URI,null,
                                                                   null,null, null);
                                                                   }
               Send Request

                                             Xmpp Server

          Response Contract List                                     Response Contract List


       Mobile Web Server (Local)                               Mobile Web Server (Remote)
Device 측면 RESTful Web API 성능

► Mobile 디바이스에서의 Phonegap API와 성능 비교



                     Mobile Web Server 기반
                                                      Phone Gap API
                          RESTful API


  Contacts(22개)     수행 시간 기준 129.6ms        181.6ms


  Device Info       수행 시간 기준 84ms           3ms


  Local File(1MB)
                    수행 시간 기준 3400ms         4800ms
  Writing (100개)


  Media Play        디바이스 지원 코덱 100%         MP4 MIME Type만 인식

More Related Content

What's hot

Naver 오픈api-마이그레이션가이드 20160913-리뷰
Naver 오픈api-마이그레이션가이드 20160913-리뷰Naver 오픈api-마이그레이션가이드 20160913-리뷰
Naver 오픈api-마이그레이션가이드 20160913-리뷰
NAVER D2
 
REST Ovewview
REST OvewviewREST Ovewview
REST Ovewview
Terry Cho
 
Restful web service
Restful web serviceRestful web service
Restful web service
sunguen lee
 
RESTful API
RESTful APIRESTful API
RESTful API
Sang Baek Lee
 
SOAP 기반/ RESTful기반 웹서비스 비교
SOAP 기반/ RESTful기반 웹서비스 비교SOAP 기반/ RESTful기반 웹서비스 비교
SOAP 기반/ RESTful기반 웹서비스 비교
seungdols
 
RPC에서 REST까지 간단한 개념소개
RPC에서 REST까지 간단한 개념소개RPC에서 REST까지 간단한 개념소개
RPC에서 REST까지 간단한 개념소개
Wonchang Song
 
Geo Service Open API 플랫폼 구축 전략
Geo Service Open API 플랫폼 구축 전략Geo Service Open API 플랫폼 구축 전략
Geo Service Open API 플랫폼 구축 전략Channy Yun
 

What's hot (7)

Naver 오픈api-마이그레이션가이드 20160913-리뷰
Naver 오픈api-마이그레이션가이드 20160913-리뷰Naver 오픈api-마이그레이션가이드 20160913-리뷰
Naver 오픈api-마이그레이션가이드 20160913-리뷰
 
REST Ovewview
REST OvewviewREST Ovewview
REST Ovewview
 
Restful web service
Restful web serviceRestful web service
Restful web service
 
RESTful API
RESTful APIRESTful API
RESTful API
 
SOAP 기반/ RESTful기반 웹서비스 비교
SOAP 기반/ RESTful기반 웹서비스 비교SOAP 기반/ RESTful기반 웹서비스 비교
SOAP 기반/ RESTful기반 웹서비스 비교
 
RPC에서 REST까지 간단한 개념소개
RPC에서 REST까지 간단한 개념소개RPC에서 REST까지 간단한 개념소개
RPC에서 REST까지 간단한 개념소개
 
Geo Service Open API 플랫폼 구축 전략
Geo Service Open API 플랫폼 구축 전략Geo Service Open API 플랫폼 구축 전략
Geo Service Open API 플랫폼 구축 전략
 

Viewers also liked

Android Webkit Browser Plug-in
Android Webkit Browser Plug-inAndroid Webkit Browser Plug-in
Android Webkit Browser Plug-inSeiyon Lee
 
The WebKit project
The WebKit projectThe WebKit project
The WebKit project
juanjosanchezpenas
 
The WebView Role in Hybrid Applications
The WebView Role in Hybrid ApplicationsThe WebView Role in Hybrid Applications
The WebView Role in Hybrid Applications
Haim Michael
 
Hardware Acceleration in WebKit
Hardware Acceleration in WebKitHardware Acceleration in WebKit
Hardware Acceleration in WebKit
Joone Hur
 
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 RevolutionWebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
juanjosanchezpenas
 
Browsers on Android (Webkit,chromium)
Browsers on Android (Webkit,chromium)Browsers on Android (Webkit,chromium)
Browsers on Android (Webkit,chromium)
Bin Chen
 
Understanding Webkit Rendering
Understanding Webkit RenderingUnderstanding Webkit Rendering
Understanding Webkit Rendering
Ariya Hidayat
 
Web browser architecture
Web browser architectureWeb browser architecture
Web browser architecture
Nguyen Quang
 

Viewers also liked (8)

Android Webkit Browser Plug-in
Android Webkit Browser Plug-inAndroid Webkit Browser Plug-in
Android Webkit Browser Plug-in
 
The WebKit project
The WebKit projectThe WebKit project
The WebKit project
 
The WebView Role in Hybrid Applications
The WebView Role in Hybrid ApplicationsThe WebView Role in Hybrid Applications
The WebView Role in Hybrid Applications
 
Hardware Acceleration in WebKit
Hardware Acceleration in WebKitHardware Acceleration in WebKit
Hardware Acceleration in WebKit
 
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 RevolutionWebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
 
Browsers on Android (Webkit,chromium)
Browsers on Android (Webkit,chromium)Browsers on Android (Webkit,chromium)
Browsers on Android (Webkit,chromium)
 
Understanding Webkit Rendering
Understanding Webkit RenderingUnderstanding Webkit Rendering
Understanding Webkit Rendering
 
Web browser architecture
Web browser architectureWeb browser architecture
Web browser architecture
 

Similar to Html5 kig 120315_res_tful_api

Talk IT_ CA_박성식_110826
Talk IT_ CA_박성식_110826Talk IT_ CA_박성식_110826
Talk IT_ CA_박성식_110826Cana Ko
 
파크히어 Realm 사용 사례
파크히어 Realm 사용 사례파크히어 Realm 사용 사례
파크히어 Realm 사용 사례
선협 이
 
API Management Reference Architecture
API Management Reference ArchitectureAPI Management Reference Architecture
API Management Reference Architecture
Seong-Bok Lee
 
How to make Successful Open APIs for Startups (2012)
How to make Successful Open APIs for Startups (2012)How to make Successful Open APIs for Startups (2012)
How to make Successful Open APIs for Startups (2012)Channy Yun
 
파이썬 웹 프로그래밍 2탄
파이썬 웹 프로그래밍 2탄 파이썬 웹 프로그래밍 2탄
파이썬 웹 프로그래밍 2탄
SeongHyun Ahn
 
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
Amazon Web Services Korea
 
API Gateway 그리고 모바일 어플리케이션
API Gateway 그리고 모바일 어플리케이션API Gateway 그리고 모바일 어플리케이션
API Gateway 그리고 모바일 어플리케이션
BDapis inc.
 
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
KTH, 케이티하이텔
 
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
Amazon Web Services Korea
 
ASP.NET Web API를 활용한 RESTful 서비스 개발
ASP.NET Web API를 활용한 RESTful 서비스 개발ASP.NET Web API를 활용한 RESTful 서비스 개발
ASP.NET Web API를 활용한 RESTful 서비스 개발
SangHoon Han
 
PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with Angular
JT Jintae Jung
 
오픈 소스 클라우드 플랫폼 분석
오픈 소스 클라우드 플랫폼 분석오픈 소스 클라우드 플랫폼 분석
오픈 소스 클라우드 플랫폼 분석
Jennifer Noh
 
ASP.NET Web API를 이용한 오픈 API 개발
ASP.NET Web API를 이용한 오픈 API 개발ASP.NET Web API를 이용한 오픈 API 개발
ASP.NET Web API를 이용한 오픈 API 개발
SangHoon Han
 
Do IoT Yourself 3rd : Open API - revision 3
Do IoT Yourself 3rd : Open API - revision 3Do IoT Yourself 3rd : Open API - revision 3
Do IoT Yourself 3rd : Open API - revision 3Hyunghun Cho
 
[OpenInfra Days Korea 2018] (삼성전자) Evolution to Cloud Native
[OpenInfra Days Korea 2018] (삼성전자) Evolution to Cloud Native[OpenInfra Days Korea 2018] (삼성전자) Evolution to Cloud Native
[OpenInfra Days Korea 2018] (삼성전자) Evolution to Cloud Native
OpenStack Korea Community
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 연동 (CB-Spider)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 연동 (CB-Spider)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 연동 (CB-Spider)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 연동 (CB-Spider)
Cloud-Barista Community
 
WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술
Changhwan Yi
 
F5 프로그래밍 기능
F5 프로그래밍 기능F5 프로그래밍 기능
F5 프로그래밍 기능
itian-f5
 
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3 AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
Amazon Web Services Korea
 
2.[d2 오픈세미나]네이버클라우드 시스템 아키텍처 및 활용 방안
2.[d2 오픈세미나]네이버클라우드 시스템 아키텍처 및 활용 방안2.[d2 오픈세미나]네이버클라우드 시스템 아키텍처 및 활용 방안
2.[d2 오픈세미나]네이버클라우드 시스템 아키텍처 및 활용 방안
NAVER D2
 

Similar to Html5 kig 120315_res_tful_api (20)

Talk IT_ CA_박성식_110826
Talk IT_ CA_박성식_110826Talk IT_ CA_박성식_110826
Talk IT_ CA_박성식_110826
 
파크히어 Realm 사용 사례
파크히어 Realm 사용 사례파크히어 Realm 사용 사례
파크히어 Realm 사용 사례
 
API Management Reference Architecture
API Management Reference ArchitectureAPI Management Reference Architecture
API Management Reference Architecture
 
How to make Successful Open APIs for Startups (2012)
How to make Successful Open APIs for Startups (2012)How to make Successful Open APIs for Startups (2012)
How to make Successful Open APIs for Startups (2012)
 
파이썬 웹 프로그래밍 2탄
파이썬 웹 프로그래밍 2탄 파이썬 웹 프로그래밍 2탄
파이썬 웹 프로그래밍 2탄
 
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
 
API Gateway 그리고 모바일 어플리케이션
API Gateway 그리고 모바일 어플리케이션API Gateway 그리고 모바일 어플리케이션
API Gateway 그리고 모바일 어플리케이션
 
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
 
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
 
ASP.NET Web API를 활용한 RESTful 서비스 개발
ASP.NET Web API를 활용한 RESTful 서비스 개발ASP.NET Web API를 활용한 RESTful 서비스 개발
ASP.NET Web API를 활용한 RESTful 서비스 개발
 
PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with Angular
 
오픈 소스 클라우드 플랫폼 분석
오픈 소스 클라우드 플랫폼 분석오픈 소스 클라우드 플랫폼 분석
오픈 소스 클라우드 플랫폼 분석
 
ASP.NET Web API를 이용한 오픈 API 개발
ASP.NET Web API를 이용한 오픈 API 개발ASP.NET Web API를 이용한 오픈 API 개발
ASP.NET Web API를 이용한 오픈 API 개발
 
Do IoT Yourself 3rd : Open API - revision 3
Do IoT Yourself 3rd : Open API - revision 3Do IoT Yourself 3rd : Open API - revision 3
Do IoT Yourself 3rd : Open API - revision 3
 
[OpenInfra Days Korea 2018] (삼성전자) Evolution to Cloud Native
[OpenInfra Days Korea 2018] (삼성전자) Evolution to Cloud Native[OpenInfra Days Korea 2018] (삼성전자) Evolution to Cloud Native
[OpenInfra Days Korea 2018] (삼성전자) Evolution to Cloud Native
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 연동 (CB-Spider)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 연동 (CB-Spider)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 연동 (CB-Spider)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 연동 (CB-Spider)
 
WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술
 
F5 프로그래밍 기능
F5 프로그래밍 기능F5 프로그래밍 기능
F5 프로그래밍 기능
 
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3 AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
 
2.[d2 오픈세미나]네이버클라우드 시스템 아키텍처 및 활용 방안
2.[d2 오픈세미나]네이버클라우드 시스템 아키텍처 및 활용 방안2.[d2 오픈세미나]네이버클라우드 시스템 아키텍처 및 활용 방안
2.[d2 오픈세미나]네이버클라우드 시스템 아키텍처 및 활용 방안
 

Html5 kig 120315_res_tful_api

  • 1. RESTful API 정의 Representational state transfer (REST) is a style of software architecture for distributed hypermedia systems such as the World Wide Web. REST is intended to evoke an image of how a well-designed Web application behaves: a network of web pages (a virtual state-machine), where the user progresses through the application by selecting links (state transitions), resulting in the next page (representing the next state of the application) being transferred to the user and rendered for their use. Key goals of REST include: •Scalability of component interactions •Generality of interfaces •Independent deployment of components •Intermediary components to reduce latency, enforce security and encapsulate legacy systems 출처: wikipedia
  • 2. RESTful API 정의 A RESTful web service (also called a RESTful web API) is a simple web service implemented using HTTP and the principles of REST. It is a collection of resources, with four defined aspects: •the base URI for the web service, such as http://example.com/resources/ •the Internet media type of the data supported by the web service. (JSON, XML YAML…) •the set of operations supported by the web service using HTTP methods (e.g., GET, PUT, POST, or DELETE). Resource GET PUT POST DELETE Create a new entry in the coll List the URIs and perhaps ot ection. The new entry's URL i Collection URI, such ashttp:// Replace the entire collection her details of the collection's s assigned automatically and Delete the entire collection. example.com/resources/ with another collection. members. is usually returned by the op eration. Retrieve a representation of t Element URI, such ashttp://e he addressed member of the Replace the addressed mem Treat the addressed member Delete the addressed memb xample.com/resources/item1 collection, expressed in an a ber of the collection, or if it do as a collection in its own right er of the collection 7 ppropriate Internet media typ esn't exist,create it. and create a new entry in it. e. •The API must be hypertext driven. 출처: wikipedia
  • 3. RESTful API Thinking Point • Web DAP/WAC에 대해서 정말 만족할 수 있을까? - Time To Market - App Performance in Device - 디바이스 기능 수용 범위 • 웹App, 페이지에서 디바이스별 고유 기능을 제어하려면 어떻게 할 수 있는가? • REST는 비표준 아닌가? - 외부 Infra/Legacy 연동 부분 - 디바이스 기능 연동 부분
  • 4. RESTful API Thinking Point • Web DAP/WAC에 대해서 정말 만족할 수 있을까? - Time To Market - App Performance in Device - 디바이스 기능 수용 범위 • 웹App, 페이지에서 디바이스별 고유 기능을 제어하려면 어떻게 할 수 있는가? • REST는 비표준 아닌가? - 외부 Infra/Legacy 연동 부분 - 디바이스 기능 연동 부분
  • 5. Network 측면 RESTful Web API ► RESTful Web API 부분이 서비스 연동 목적에 맞게 표준화되고 있음 • OMA RESTful API [OMA RESTful API] -JSON, XML 기준으로 제정 •RESTful Network API for Short Messaging V 1.0 - Legacy의 외부 연동 API를 표준화 •RESTful Network API for Messaging V 1.0 •RESTful Network API for Terminal Location V 1.0 (과금, 위치, 인증, 메시징…) •RESTful Network API for Payment V 1.0 •RESTful Network API for Device Capabilities V 1.0 • GSMA One APIs •RESTful Network API for Terminal Status V 1.0 - 특히 과금, 위치 관련 서비스에 집중 •RESTful Network API for Third Party Call V 1.0 and Call Notification V 1.0 - RCS로 확대할 예정 (jointly referred to as Call Control APIs) •RESTful Network API for Audio Call V1.0 •RESTful Network API for Customer Profile V1.0 • GSMA/OMA 표준 제휴 •RESTful Network API for Anonymous Customer Reference Management V1.0 • GSMA/OMA 표준 •Autho4API V1.0  W3C과 제휴 진행 예정 •Services User Profile Management V1.0
  • 6. Device 측면 RESTful Web API ► Mobile Web Server를 통해 외부 Web Page에서 직접 디바이스를 제어하고 정보를 취합할 수 있음 Web Service Cloud Device 정보 서비스 제공 Connection Conn. Device info Stack [여러 단말 기능 사용 가능] REST • 카메라 제어 • 기기 연결 (UPnP, DLNA 등) • Android app 연동 • 기기 제어 등  Native App 개발 없이도 Web Page 만으로 서비스를 런칭하거나 연동할 수 있음 효과  Web Page에서 직접 고객 성향 및 디바이스 정보 접근을 통해 개인화 서비스 제공 가능  금융결제/개인보안 관련 솔루션 제공 가능
  • 7. 기본 DAP정보 전달 Web API Call (Restful 방식) ex) GET http://127.0.0.1/DAP/contract 1. Restful 방식의 Web API 호출 (GET URL Parsing http://127.0.0.1/DAP/contract) 2. 모바일 웹서버에서 URL를 파싱하여 device API 를 판단한다. Device API 경우 3. device API일 경우, 해당 되는 Command를 호출 한다. (contractList() Call) 4. 해당 안드로이드 Native API를 호출하여 데이터 를 얻는다. Device API Module 5. 해당 데이터를 Request에 대한 응답으로 데이 contractList() { 터를 전달한다. getContentResolver().query(ContactsCo ntract.Contacts.CONTENT_URI,null, null,null, null); } Response Contract List Mobile Web Server (MWS)
  • 8. 단말간 DAP정보 전달 Web API Call (Restful 방식 - Remote) ex) GET http://61.15.15.222/DAP/contract 로컬단말 리모트단말 URL Parsing Receive Request Remote인 경우 Device API 경우 Xmpp Server 연결 Device API Module contractList() { getContentResolver().query(ContactsCo ntract.Contacts.CONTENT_URI,null, null,null, null); } Send Request Xmpp Server Response Contract List Response Contract List Mobile Web Server (Local) Mobile Web Server (Remote)
  • 9. Device 측면 RESTful Web API 성능 ► Mobile 디바이스에서의 Phonegap API와 성능 비교 Mobile Web Server 기반 Phone Gap API RESTful API Contacts(22개) 수행 시간 기준 129.6ms 181.6ms Device Info 수행 시간 기준 84ms 3ms Local File(1MB) 수행 시간 기준 3400ms 4800ms Writing (100개) Media Play 디바이스 지원 코덱 100% MP4 MIME Type만 인식